2011年8月31日水曜日

Javaの私的まとめ13

Javaのお勉強その13

  1. クラス2

    メソッド内でクラスとオブジェクトの生成を同時に行う。以下の例ではインタフェースをmain内で実装し、オブジェクトを作成している。引数にnewを渡して関数を呼ぶことも無名クラスを利用したことになる。

    interface IF{
     void method();
    }
    
    class mumei{
     public static void main(String[] args){
      IF ifobj = new IF(){
       public void method(){
        System.out.println("Hello,java");
       }
      };
      ifobj.method();
     }
    }
    結果は次の通り。
    Hello,java
  2. Scanner

    java.util.Scannerは入力の読み込みに使われる。

    Scanner sc = new Scanner(入力ファイルパスor入力ストリームor文字列オブジェクト)

    標準入力からの読み込みを行う場合はScannerの引数にSystem.inを与える。

    Scannerには区切りを表す文字(","などのStringまたはPattern)を引数に取り、その結果をScannerに戻すメソッドuseDelimiterというメソッドがある。

    Scannerの検索メソッド
    String findInLine(Pattern p) pで指定されるパターンを検索し、見つけたものを戻す。なければnullを戻す
    String findInLine(Pattern p) pで指定される文字列を検索し、見つけたものを戻す。なければnullを戻す
    boolean hasNext(Pattern p) 次に読み込むべきものがpで指定されるパターンであればtrueを戻す。
    String next(Pattern p) pで指定されるパターンに一致するものを読み込んで戻す。
  3. 正規表現

    正規表現を使うときにはjava.util.regex.*(PatternとMatcher)をimportする必要がある。

    パターンは文字列検索に用いることができる。Patternオブジェクトの作成は次の形式で作成される。Matcherオブジェクトはpで指定した正規表現を検索するためのオブジェクトである。

    Pattern p = Pattern.complile("ABA");
    Matcher m = p.matcher("abcABABAdABA")
    Matcherクラスのメソッドの代表例
    boolean find() 正規表現に一致したものがあればtrueを返す。
    int start() 見つかったパターンの先頭インデックスを返す。
    String group() 見つかったパターンに該当した文字列を返す。
    正規表現の例
    .任意の文字
    \d数字
    \s空白文字
    c?cが1or0回
    \wアルファベット、数字、アンダーバーのいずれか
    c*cが0回以上
    c+cが1回以上

    ScannerクラスのfindInLineによりパターンの検索ができる。

    StringにはString[] split(String s)というメソッドがある。sには正規表現を指定することもできる。

0 件のコメント:

コメントを投稿

フォロワー

ブログ アーカイブ

ページビューの合計