算術演算
数値を扱う基本データ型には次のものがあります。
型
長さ
値
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 ) { ... }