2008年12月9日火曜日

第2章 変数と定数

  • 基本データ型
    char  16ビット Unicode文字(\u0000~\uFFFF)
    byte、short、int、long  8~64ビット符号付整数
    float、double 32、64ビット浮動小数点数
    ※整数系はすべて符号付(charは符号無し)
  • 変数初期化
    クラスフィールドと配列変数は自動で初期化される。
    メソッド内変数は明示的に初期化必要
  • 論理型(boolean) 
    true/false
    ※数値の0はfalseとなみなさない
    =0はエラー
    while(1) も不可 → while(true)
    if( <整数型変数> ) 不可 → if( <整数型変数> != 0 )
  • char
    文字コードはUnicode(\u0000)
    16進表記(0x0000)でも、10進表記でもOK
  • 整数型
    範囲を超える数値を代入するとエラー
    →キャストすればOK,ただしキャスト先のコードで解釈した値となる
    数値をそのまま書くとint
    long値の場合はサフィックス(L or l)を付加する
    long lval = 123456789012345L;
  • 浮動小数点数型
    数値そのままでdouble
    基本はdoubleを使用
    F or f のサフィックスでfloat
  • 文字列
    Stringクラスを使用
    連結は + で str = "123" + "456";
    比較はequalsメソッドで (==は別の意味、アドレス比較)
    大小比較はcompareToメソッド(< は不可)
  • 列挙型(enum)
    java.lang.Enumクラス
    J2SE5.0から使用可能
    finalを並べるより便利
     enum Marks { CLUB, SPADE, HEART, DIAMOND }
       :
      Marks Card;
      case marks.SPADE:
     ↑switch文にも使用可能
    compareTo、equals等で比較
    toString、name等で内容表示
    変数名のみでtoStringの省略形(System.out.println(Card);で "SPADE"出力)
  • 任意桁の数値
    BigInteger: 任意精度の整数
    BIgDecimal: 任意精度の固定小数点数
  • 文字リテラル
    シングルクォートで囲む
    System.out.println((int)'亜'); 文字コード出力
  • エスケープ文字
    \nnn :8進数で示す文字
    \unnnn: 16進数で示す文字
  • 文字列リテラル
    ダブルクォートで囲む
  • 改行コード
     \n : 0A
    printlnの改行: システム依存 0D0Aや0A
    printfの%n: 同上
  • nullリテラル
    参照型変数が有効なオブジェクトをさしていないことをあらわす
    String ss = null;
    readLine(); などは入力終了でnullを返す。
    →状態検出に使用する
    while( ( ss = fin.readLine() ) != null ) 
    ※while( ss = fin.readLine() ) ではない!! 
  • final
    final int MAX_XXX = 100; ←メソッド内定数
    static final int MAX_XXX =1000; ←クラス定数

0 件のコメント: