Category: Develop

14-12.Byte

 
 
 

12.Byte 
 ByteクラスはNumberクラスのサブクラスで、byte型の数値を扱う際に便利な機能を備える。 

import java.lang.Byte

メンバー変数

static
byte

MAX_VALUE
      byte型で表現できる最大値(27-1)が保持されている定数。

static
byte

MIN_VALUE
      byte型で表現できる最小値(-27)が保持されている定数。
コンストラクタ
Byte(byte value)
      指定された値を持つByteインスタンスを作成します。
Byte(String s)
      10進数表記の文字列で表現された数値をByte型に変換する。変換可能な文字列を含まない場合には NumberFormatExceptionが投げられる。
 
メソッド
byte byteValue()
      byte型に変換する。
short shortValue()
      short型に変換する。
int intValue()
      int型に変換する。
long longValue()
      long型に変換する。
float floatValue()
      float型に変換する。
double doubleValue()
      double型に変換する。
boolean equals(Object obj)
      objが同じ値を示すByteクラスのインスタンスの場合にtrueが返される。同じ値でも違うクラス(例えばIntegerクラス)のインスタンスの場合はfalseになる。
String toString()
      10進数表記の文字列に変換する。
static
byte
parseByte(String str)
      10進数表記の文字列で表現された数値をbyte型に変換する。数値に変換不可能な文字列の場合にはNumberFormatException がなげらる。
static
byte
parseByte(String str, int radix)
      文字列で表現された数値をbyte型に変換する。数値に変換不可能な文字列の場合にはNumberFormatException がなげられる。
      radixは基数を表します。radix=10の時は引数1つのparseByteと同じになる。radixは「Character.MIN_RADIX(2) <= radix <= Character.MAX_RADIX(36)」の範囲でなければなならない。radixが範囲外の時もNumberFormatExceptionが投げられる。
static
byte
valueOf(String str)
      10進数表記の文字列で表現された数値をByte型に変換する。数値に変換不可能な文字列の場合にはNumberFormatException がなげられる。
static
byte
valueOf(String str, int radix)
      文字列で表現された数値をByte型に変換する。数値に変換不可能な文字列の場合にはNumberFormatException がなげられる。
      radixは基数を表します。radix=10の時は引数1つのparseByteと同じになる。radixは「Character.MIN_RADIX(2) <= radix <= Character.MAX_RADIX(36)」の範囲でなければならない。radixが範囲外の時もNumberFormatExceptionが投げられる。
static
byte
decode(String str)
      文字列で表現された数値をByte型に変換する。数値に変換不可能な文字列の場合にはNumberFormatException がなげられる。
      文字列が「0x」「0X」または「#」で始まる場合には16進数表記として解釈される。「0」で始まる場合には8進数として解釈される。負数の場合には半角の「-」をつける。
   

14-9.StringTokenizer

 
 

9.StringTokenizer 
 Stringクラスの文字列を例えばスペースや改行などで単語ごとに切り分けたりすることができる。通常はスペース、改行、タブが単語(以下トークン)とトークンの区切り(以下デリミタ)文字だが、プログラマーが他の文字を指定することもできる。
 このクラスを使ってトークンに区切る場合は、まずStringTokenizerのコンストラクタで元になる文字列と必要ならばデリミタを指定する。このクラスはEnumerationインターフェースで元になる文字列と必要ならばデリミタを指定する。このクラスはEnumerationインターフェースをインプリメントしているのでそのインターフェースのnextElement( )メソッドまたはnextToken()メソッドを呼び出すことで次々にトークンを得ることができる。これをhasMoreElements()メソッドまたはhasMoreTokens()がfalseになるまで繰り返すことで、全トークンにアクセスする。

import java.util.StringTokenizer

コンストラクタ
StringTokenizer(String str)
      指定された文字列に対する StringTokenizer を作成する。
StringTokenizer(String str, String delim)
      指定された文字列に対する StringTokenizer を作成する。
      デリミタには指定した文字列を使用する。delimに" \t\n\r\f"を指定すると1つめのコンストラクタと同じになる。
StringTokenizer(String str, String delim, boolean returnDelim)
      指定された文字列に対する StringTokenizer を作成する。
      デリミタには指定した文字列を使用する。delimに" \t\n\r\f"を指定すると1つめのコンストラクタと同じになる。
      returnDelimがfalseの場合は2つめのコンストラクタと同じになる。trueの場合はデリミタ文字も1つのトークンとして処理されるようになる。
 
メソッド
int countTokens()
      例外を生成せずにトークナイザの nextToken メソッドを呼び出せる回数を計算する。
boolean hasMoreElements()
      トークナイザの文字列で利用できるトークンがまだあるかどうかを判定する。
boolean hasMoreTokens()
      トークナイザの文字列で利用できるトークンがまだあるかどうかを判定する。
Object nextElement()
      文字列トークナイザから次のトークンを返します。戻り値はObjectクラスですが実際はStringクラスが返されますので、必要によってキャストする。
      トークンが残っていない場合にはNoSuchElementExceptionが投げらる。
String nextToken()
      文字列トークナイザから次のトークンを返す。
      トークンが残っていない場合にはNoSuchElementExceptionが投げられる。
String nextToken(String newDelim)
      まずデリミタを指定したデリミタに変更し、文字列トークナイザから次のトークンを返す。新しいデリミタは今後も引き継がれる。
      トークンが残っていない場合にはNoSuchElementExceptionが投げられる。
   
sample) StringTokenizerクラスの基本
import java.io.*;
imoprt java.util.*;

class Test{
     public static void main (String args[ ] ) {
             String str = new String("")
         str += "A long time ago in a galaxy far,\n";
         str += "far away.\n";
         str += "\n";
         str += "A  NEW HOPE \n";
         str += "\n";
         str += "It is a period of civil war,\n";
         str += "Rebel spaceships,striking\n";
         str += "from a hidden base,have won\n";
         str += "their first victory against\n";
         str += "the evil Galactic Empire. \n";

         StringTokenizer token = new StringTokenizer(str);
        
while( token.hasMoreTokens( ) ) {
              
System.out.println( token.nextToken( ) );
           }
       }

}

C:\Java\>java Test map
A
long
time
ago
in
a
galaxy
far,
far
away.
A
NEW
HOPE
It
is
a
period
of
civil
war.
Rebel
spaceships,
striking
from
a
hidden
base,
have
won
their
first
victory
against
the
evil
Galactic
Empire.

C:\Java\>

14-8.String

 
 

8.String 
 Stringクラスは文字列を扱うクラス。「System.out.println("ABCD")」といった"ABCD"は実はStringクラスのインスタンスだったのである。Stringクラスを使うと文字を置換したり、文字列を検索したりすることができるようになる。
 Stringクラスの文字列は「+」演算子を使って結合することができるが、Stringクラス文字列は定数として扱われるため、文字列の長さが変わるような結合などを頻繁に行うと処理時間を要したりする。この場合には、StringBufferクラスを用いる。

import java.lang.String

コンストラクタ
String()
      空の文字列を作成する。
String(String org)
      指定されたorgと同じ文字列を作成する。
String(char[] value)
      指定された文字配列からなる文字列で初期化した文字列を作成する。
              nullが与えられた場合にはNullPointerExceptionが投げられる。
String(char[] value, int offset, int count)
      指定された文字配列からのoffset番目の文字からcountで指定された文字数の文字列を作成する。
      valueがnullの場合にはNullPointerExceptionが投げられる。
      offset, countが範囲外になった場合IndexOutOfBoundsExceptionが投げられる。
String(byte[] bytes, int offset, int count)
      指定されたバイト配列からのoffset番目の文字からcountで指定された文字数の文字列を作成する。プラットフォームのデフォルト文字セットを使用して文字列に変換するため、プラットフォームによって文字化けする可能性もある。
String(byte[] bytes)
      指定されたバイト配列から文字列を作成する。プラットフォームのデフォルト文字セットを使用して文字列に変換するため、プラットフォームによって文字化けする可能性もある。
 
メソッド
int length()
      文字列の文字数を返す。C++などと違って、Javaではunicode文字なので、感じなども1文字とカウントされる。
char charAt(int index)
      index番目の文字を返す。最初の文字は0になる。indexが不正の場合はIndexOutOfBoundsExceptionが投げられる。
byte[] getBytes()
      この文字列をバイト配列に変換する。プラットフォームのデフォルト文字セットを使用するため、他のプラットフォームでは文字化けする可能性がある。
boolean equals(Object str)
      指定したstr(strはStringクラス)と比較する。同じ文字列であればtrueが返される。大文字小文字は区別される。「==」演算子では参照先が同じかを比較する演算子なので、同じ文字列でもfalseが返される場合がある。したがって、文字列の比較にはequals演算子を使う。
boolean equalsIgnoreCase(String str)
      指定した文字列strと比較をする。同じ文字列であればtrueが返される。大文字小文字は区別されない。
int compareTo(String str)
      Unicodeの辞書式に従って文字列を比較する。strの方が辞書の後にあれば負数が、strの方が辞書の前にあれば正数が返される。equalsメソッドでtrueが返される場合には0が返される。strがnullの場合にはNullPointerExceptionが投げられる。
boolean startsWith(String prefix)
      文字列がprefixで始まる場合にtrueが返される。
      引数がnullの場合にはNullPointerExceptionが投げられる。
boolean startsWith(String prefix, int offset)
      offset番目の文字列がprefixで始まる場合にtrueが返される。
      引数がnullの場合にはNullPointerExceptionが投げられる。
boolean endsWith(String suffix)
      文字列がsuffixで終わる場合にtrueが返される。
      引数がnullの場合にはNullPointerExceptionが投げられる。
int indexOf(int ch)
      文字列を最初から最後に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。
int indexOf(int ch, int fromIndex)
      文字列をfromIndex番目の文字から最後に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。
int indexOf(String str)
      文字列を最初から最後に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。strがnullの場合にはNullPointerExceptionが投げられる。
int indexOf(String str, int fromIndex)
      文字列をfromIndex番目の文字から最後に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。
      strがnullの場合にはNullPointerExceptionが投げられます。
int lastIndexOf(int ch)
      文字列を最後から最初に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。
int lastIndexOf(int ch, int fromIndex)
      文字列をfromIndex番目から最初に向かって検索し、文字(char型ではなくint型にキャストして引数として渡す)chが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。
int lastIndexOf(String str)
      文字列を最後から最初に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。strがnullの場合にはNullPointerExceptionが投げられる。
int lastIndexOf(String str, int fromIndex)
      文字列をfromIndex番目から最初に向かって検索し、文字列strが最初に出てきたインデックスを返す。指定した文字が見つからない場合には-1が返される。strがnullの場合にはNullPointerExceptionが投げられる。
String substring(int beginIndex)
      この文字列の部分文字列である新しい文字列を返す。部分文字列は指定されたインデックスで始まり、この文字列の最後までになる。例えば"unhappy".substring(2) では "happy" が返される
"矢田亜紀子".substring(2) では "亜紀子" が返される。引数が不正の場合にはIndexOutOfBoundsExceptionが投げられる。
String substring(int beginIndex, int endIndex)
      この文字列の部分文字列である新しい文字列を返す。部分文字列は、指定された beginIndex から始まり、インデックス endIndex – 1 にある文字まで。
      例えば"smiles".substring(1, 5) では "mile" が返される。"北海道、東京、沖縄".substring(4, 6) では "東京" が返される。引数が不正の場合にはIndexOutOfBoundsExceptionが投げられる。
String concat(String str)
      文字列strを最後に連結した文字列を返す。「+」演算子を用いることもできる。
      例) "ABC".concat("DEF") と "ABC"+"DEF"は同じ。
      strがnullの場合にはNullPointerExceptionが投げられる。
String replace(char oldChar, char newChar)
      文字列内のoldCharをnewCharに置換した文字列を返す。
String toLowerCase()
      文字列内の大文字を小文字に変換する。unicodeで比較されますので全角アルファベットなども変換される。
String toUpperCase()
      文字列内の小文字を大文字に変換する。unicodeで比較されますので全角アルファベットなども変換される。
String trim()
      文字列のコピーを返す。ただし、最初と最後の空白文字(\u0020以下の文字)は省略される。全角スペースは削除されない。
char[] toCharArray()
      文字列をchar配列に変換する。
void insertElementAt(Object obj, int index)
      Vectorの指定されたindexに、指定されたオブジェクトを要素として挿入する。
String valueOf(Object obj)
      objのtoStringが呼ばれます。objがnullの場合は"null"が返される。デバッグ作業中やエラーメッセージでそのクラスのインスタンスの中身を表示させたい時などにも利用される。
String valueOf(boolean b)
      bがtrueの場合は"true"が、falseの場合は"false"が返される。デバッグ作業中やエラーメッセージでそのクラスのインスタンスの中身を表示させたい時などにも利用される。
String valueOf(char ch)
      chの文字をString型に変換した1文字の文字列が返される。
String valueOf(int n)
      nを文字列に変換した文字列が返される。例えばn=100ならば"100"が返される。
String valueOf(long n)
      nを文字列に変換した文字列が返され
。例えばn=100ならば"100"が返される。
String valueOf(float n)
      nを文字列に変換した文字列が返される。例えばn=100ならば"100"が返される。
String valueOf(double n)
      nを文字列に変換した文字列が返される。例えばn=100ならば"100"が返される。
   
sample) Stringクラスの基本
import java.io.*;
imoprt java.util.*;

class Test{
     public static void main (String args[ ] ) {
         //equalsメソッドと==演算子の違い
         //==演算子はインスタンスが同じものかどうかを調べ、その内容を調べない。
         //equalsメソッドは、インスタンスが違っても、内容が同じであればtrueを返す。
       ZString str1 = new String ("矢口真里" );
       ZString str2 = new String ("矢口真里" );

       ZSystem.out.print( "str1 == str2 : " );
       ZSystem.out.print( str1 == str2 );
       ZSystem.out.print( "str1.equals(str2) : " );
       ZSystem.out.print( "str1.equals(str2)  );
       ZSystem.out.print( );

         //replaceの例(C言語などと違い、2バイト文字もJavaでは1文字である)
       ZSystem.out.print( str1.replace(’理’,’里’) );
       ZSystem.out.print( );

         //contactメソッドと+演算子
       Zstr2 = "abcde"
       ZSystem.out.print( "\"123\" + "123" + str2 );
       ZSystem.out.print( "\"123\".contact(str2) : "123".contact(str2) );
       ZSystem.out.print( );

         //パス名からファイル名などを取り出す例
       ZSystem.strFileName;
       ZSystem.strPath;
       ZSystem.strSttribute;
         str1 = "C:\\Document and Settings\\administrator\\デスクトップ\\新しいフォルダ\\test.java";

         //拡張子
       Ztry {
            strAttribute = str1.substring( str1.lastIndexOf( ’,’), str1.length( ) ) ;
       }
catch(IndexOutOfBoundsException e) {
            strAttribute = "";
        }
         //パス名
       Ztry {
            strPath = str1.substring( 0,str1.lastIndexOf(’\\’) ) ;
       }
catch(IndexOutOfBoundsException e) {
            strPath = "";
        }
         //ファイル名
       Ztry {
            strFileName = str1.substring( str1.lastIndexOf( ’\\’)+1, str1.length( ) ) ;
       }
catch(IndexOutOfBoundsException e) {
            strFileName = "";
        }

       ZSystem.out.println("拡張子 : " + strAttribute);
       ZSystem.out.println("パス名 :" + strPath );
       ZSystem.out.println("ファイル名 : " + strFileName);
       }
}

C:\Java\>java Test map 
str1 == str2 : false 
str1.equals(str2) : true 

矢口真里 
"123" + str2 : 123abcde 
"123".concat(str2) : 123abcde 

拡張子:.java 
パス名:C:\Documents and Settings\administrator\デスクトップ\新しいフォルダ 
ファイル名:test.java 

C:\Java\>