建つ士

JAVAでの3次元構造解析を目指して勉強中です。

           基本的な値

2005-10-21 23:49:17 | Weblog
1.Javaの整数型の値には、char型を除いて、常に符号がある。
  表現可能な正の最大値は、
  負の最大値よりも常に1小さいことに注意する必要がある。
  整数型のデフォルト値は0である。
  各データ型の範囲は、
  次のとおりである。
      型         サイズ          範囲       
       byte型          8ビット        -2
      short型         16ビット         -2
       char型         16ビット      u0000~uFFFF
          int型         32ビット        -231~231-1
        long型         64ビット        -263~263-1
2.整数リテラルは、
  Lまたはl(Lの小文字)を最後に追加しない限り、
  int型として扱われる。
3.浮動小数点型のfloat型は32ビット、
  double型は64ビットの値を表し、
  IEEE754標準の浮動小数点数表現に準拠する。
  浮動小数点数型のデフォルト値は、
  0.0dである。
4.浮動小数点数リテラルは、
  Fまたはfを最後に追加しない限り、
  double型として扱われる。
5.boolean型の値は、
  trueとfalseの2つしかない。
  boolean型のデフォルト値は、
  falseである。

        算術演算

2005-10-21 21:11:16 | Weblog
6.2つのオペランドがある算術式を評価するときに、
  コンパイラは次の規則に従ってデータ型を拡張変換
  (widening)する。
  a.一方のオペランドがdouble型であれば、
   もう一方がdouble型に変換される
  b.上記aでない場合、
   一方のオペランドがfloat型であれば、
   もう一方がfloat型に変換される
  c.上記aでもbでもない場合、
   一方のオペランドがlong型であれば、
   もう一方がlong型に変換される
  d.上記a、b、cのいずれでもない場合、
   両方のオペランドがint型に変換される
7.整数をゼロで割ると、
  実行時にArithmeticException例外が生成される。
8.浮動小数点をゼロで割ると、
  例外が生成されない代わりに、
  ラッパークラスFloatとDoubleで定義された特別なNaNという定数値になる。
9.NaNは、Not a Number(非数)を意味する。
  浮動小数点数演算の結果がNaNであることを確認する唯一の方法は、  
Float.isNaN()またはDouble.isNaN()というstaticメソッドを使うことである。
10.FloatクラスとDoubleクラスには、
  NaNのほかにも特別な浮動少数点数として、
  MAX_VALUE、MIN_VALUE、POSITIVE_INFINITY、NEGATIVE_INFINITYという
  定数が定義されている。

    論理演算子

2005-10-21 21:03:02 | Weblog
11.論理AND演算子には&と&&がある。
  &&演算子を使うと、評価が簡略化される。
  つまり、
  左辺がfalseであれば式全体がfalseになることは自明なので、
  右辺の評価が省略される。
12.論理OR演算子には|と||がある。
  ||演算子を使うと、評価が簡略化される。
  つまり、
  左辺がtrueであれば式全体がtrueになることは自明なので、
  右辺の評価が省略される。
13.ifおよびwhileステートメントはboolean値を受け取るので、
  0をfalse代わりに使うCの手法は通用しない。

      ビット単位演算            

2005-10-21 20:07:46 | Weblog
14.シフト演算子には>>、>>>、<<の3種類がある。
  シフト演算子は整数型の値にのみ使える。
  右辺で指定したビット数だけ左辺がシフトされる。
  ただし、シフトできるのはint型で31ビット、
  long型で63ビットまでである。
  >>演算子を使うと、符号が拡張されるので、
  負の値は負のままシフトされる。
  しかし、>>>演算子を使うと、
  上位ビットが0になるので、正の値になる。