== 算術演算 == 数値を扱う基本データ型には次のものがあります。 ||型||長さ||値|| ||byte||1バイト||整数 -128 から 127|| ||short||2バイト||整数 -32,768 から 32,767|| ||int||4バイト||整数 -2,147,483,648 から 2,147,483,647|| ||long||8バイト||整数-9,223,372,036,854,775,808 から 9,223,372,036,854,775,807|| ||float||4バイト||浮動小数点 およそ±3.40282347E+38(6桁)|| ||double||8バイト||浮動小数点 およそ±1.79769313486231570E+308(15桁)|| ||char||16ビット||Unicode文字|| ||boolean|| ||真偽値 true または false|| ---- === 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 ) { ... } }}}