| 種類 | データ型 | サイズ byte | 範囲 |
|---|---|---|---|
| 整数型 | byte | 1 (8bit) | -128 ~ 127 |
| 整数型 | short | 2 (16bit) | -32768 ~ 32767 |
| 整数型 | int | 4 (32bit) | -2147483648 ~ 2147483647 |
| 整数型 | long | 8 (64bit) | -9223372036854770000 ~ 9223372036854775807 |
| 実数型 | float | 4 (32bit) | -3.4028235E+38 ~ 3.4028235E+38 |
| 実数型 | double | 8 (64bit) | -1.79769313486231570E+308 ~1.79769313486231570E+308 |
| 文字型 | char | 2 (16bit) | 0~65535(UTF-16) |
| 真偽型 | boolean | - | true 又は false |
| 型名 | 符号部 | 指数部 | 仮数部 | 合計 |
|---|---|---|---|---|
| float | 1bit | 8bit | 23bit | 32bit |
| double | 1bit | 11bit | 52bit | 64bit |
//Sample09_62.java class Sample09_62 { public static void main(String[] args){ //Max 24bit 16777215 int int_24 = 0b11111111_11111111_11111000; float f; for(int i=0; i<20; i++){ f = int_24; System.out.println("int= " + int_24); System.out.println("float= " + f); System.out.println("-------------------"); int_24++; } } }
>javac Sample09_62.java >java Sample09_62 int= 16777208 float= 1.6777208E7 ------------------- int= 16777209 float= 1.6777209E7 ------------------- int= 16777210 float= 1.677721E7 ------------------- int= 16777211 float= 1.6777211E7 ------------------- int= 16777212 float= 1.6777212E7 ------------------- int= 16777213 float= 1.6777213E7 ------------------- int= 16777214 float= 1.6777214E7 ------------------- int= 16777215 float= 1.6777215E7 ------------------- --ここから24ビットを超える-- int= 16777216 float= 1.6777216E7 ------------------- int= 16777217 float= 1.6777216E7 ------------------- int= 16777218 float= 1.6777218E7 ------------------- int= 16777219 float= 1.677722E7 ------------------- int= 16777220 float= 1.677722E7 ------------------- int= 16777221 float= 1.677722E7 ------------------- int= 16777222 float= 1.6777222E7 ------------------- int= 16777223 float= 1.6777224E7 ------------------- int= 16777224 float= 1.6777224E7 ------------------- int= 16777225 float= 1.6777224E7 ------------------- int= 16777226 float= 1.6777226E7 ------------------- int= 16777227 float= 1.6777228E7 -------------------
//Sample09_63.java class Sample09_63 { public static void main(String[] args){ //Max 53bit 9007199254740990L long long_53 = 0b11111_11111111_11111111_11111111_11111111_11111111_11111000L; double dou; for(int i=0; i<20; i++){ dou = long_53; System.out.println("long= " + long_53); System.out.println("double= " + dou); System.out.println("-------------------"); long_53++; } } }
>javac Sample09_63.java >java Sample09_63 long= 9007199254740984 double= 9.007199254740984E15 ------------------- long= 9007199254740985 double= 9.007199254740985E15 ------------------- long= 9007199254740986 double= 9.007199254740986E15 ------------------- long= 9007199254740987 double= 9.007199254740987E15 ------------------- long= 9007199254740988 double= 9.007199254740988E15 ------------------- long= 9007199254740989 double= 9.007199254740989E15 ------------------- long= 9007199254740990 double= 9.00719925474099E15 ------------------- --ここから53ビットを超える-- long= 9007199254740991 double= 9.007199254740991E15 ------------------- long= 9007199254740992 double= 9.007199254740992E15 ------------------- long= 9007199254740993 double= 9.007199254740992E15 ------------------- long= 9007199254740994 double= 9.007199254740994E15 ------------------- long= 9007199254740995 double= 9.007199254740996E15 ------------------- long= 9007199254740996 double= 9.007199254740996E15 ------------------- long= 9007199254740997 double= 9.007199254740996E15 ------------------- long= 9007199254740998 double= 9.007199254740998E15 ------------------- long= 9007199254740999 double= 9.007199254741E15 ------------------- long= 9007199254741000 double= 9.007199254741E15 ------------------- long= 9007199254741001 double= 9.007199254741E15 ------------------- long= 9007199254741002 double= 9.007199254741002E15 ------------------- long= 9007199254741003 double= 9.007199254741004E15 -------------------