System.out.println("BYTE MAX_VALUE = " + Byte.MAX_VALUE); System.out.println("BYTE MIN_VALUE = " + Byte.MIN_VALUE); System.out.println("SHORT MAX_VALUE = " + Short.MAX_VALUE);//3万多,5位 System.out.println("SHORT MIN_VALUR = " + Short.MIN_VALUE); System.out.println("Int MAX_VALUE = " + Integer.MAX_VALUE);//21亿,10位 System.out.println("Int MIN_VALUE = " + Integer.MIN_VALUE); System.out.println("LONG MAX_VALUE = " + Long.MAX_VALUE);//9.。。,19位 System.out.println("LONG MIN_VALUR = " + Long.MIN_VALUE); System.out.println("FLOAT MAX_VALUE = " + Float.MAX_VALUE); System.out.println("FLOAT MIN_VALUE = " + Float.MIN_VALUE); System.out.println("DOUBLE MAX_VALUE = " + Double.MAX_VALUE); System.out.println("DOUBLE MIN_VALUR = " + Double.MIN_VALUE);
基本类型类型 |
boolean |
byte |
char |
short |
Int |
long |
float |
double |
void |
二进制位数 |
1 |
8 |
16 |
16 |
32 |
64 |
32 |
64 |
-- |
封装器类 |
Boolean |
Byte |
Character |
Short |
Integer |
Long |
Float |
Double |
Void |
java中的float与double符合IEEE754标准,这里仅输出其精度。
数值型数据之间的转换:
实心箭头无信息丢失,虚线有可能丢失信息,无法转换的会提示:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from short to char
当量个数进行运算时,其中一个是double,则都转化为double,
否则,若其中有一个是float,则。。。。float
否则,若其中有一个是long,则。。。。long,
否则, int,则。。。。。int
待解决的问题,
1,为什么max的指数要比min的指数的绝对值小?
2,boolean的范围,用什么类型存储,计算时会发生类型转换?
3,有哪些数据类型在虚拟机内计算时需要转换类型?