算術演算
Cとの違い
- 基本データ型のバイト数は処理系によらず決まっています。
- 数値の型変換
- 計算式の中で型が混在した場合、 byte → short → int → long → float → double の方向にのみ変換が行われます。
例
int i; i = 1.25 * 3 * 4;
- 代入文の右辺に 1.25 があるため 3 や 4 は double に変換して計算されます。(ここまではOK)
- その後 int に変換して i に代入しようとしています。
- Cではこれで動作しますが、Javaではdoubleをintに変換できずエラーとなります。
- 型変換を強制するにはキャスト演算子を用いて次のように記述します。(JavaでOK)
i = (int)(1.25 * 3 * 4);
- charは16ビットです。
- charとintの変換は行われません。
- charの配列は文字列とは異なります。
- boolean以外を論理演算や条件に用いることはできません。
- 次のような書き方も間違いです。
int k; ... while ( k ) { ... }