java数据类型
- java数据类型划分两大类,
基本数据类型
|------数值型
|------整数类型(byte,int,short,long)
|------浮点类型(float,double) //浮点型表示小数
|------字符型(char)
|------布尔型(boolean)
引用数据类型
|------类(calss)
|------接口(interface)
|------数组
基本数据类型的取值长度
long(长整数)
取值范围:最大数值:9223372036854775807 ~ 最小数值:-9223372036854775808
long maxlong=Long.MAX_VALUE; long minlong=Long.MIN_VALUE; System.out.println("long类型,最大数值:"+maxlong); System.out.println("long类型,最小数值:"+minlong);
int(整数)
取值范围:最大数值:2147483647~2147483648
int intmax=Integer.MAX_VALUE; System.out.println("int类型,最大数值:"+intmax); System.out.println("int类型,最小数值:"+(intmax+1));
整型最大值加1会变成最小值。
原理:
short(短整数)
取值范围:最大数值:32767~最小值:-32768
byte(位)
取值范围:最大数值:127 ~ 最小值:-128
char(字符)
取值范围:最大数值:255~ 最小值:0
float(单精度)
取值范围:最大数值:3.4E38~ 最小值:-3.4E38
double(双精度)
取值范围:最大数值:1.7E308 最小值:-1.7E308
数值一旦超出 其取值范围,就会出现问题。
比如:int A=9999999999999999;就会编译不会通过。它会告诉你int类型超出范围
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The literal 999999999999999999999 of type int is out of range
数据类型的转换。
自动转换:转换前的数据类型与转换后的类型兼容;转换后的数据类型的表示范围比转换前的类型大。
强制转换:(欲转换的数据类型)变量名称
int a=10; //定义整型a值变量 float b=3.0f; //定义浮点型b值变量为3.3f System.out.println("a+b="+(a+b)); //自动向上转为浮点型。 System.out.println("a/b="+(a/b)); //自动向上转为浮点型。 int c=8; int d=3; System.out.println("8/3="+c/d); //正常答案是2.66666666........如果是 //银行的业务需要涉及到小数点后的几位。这里就 System.out.println("---------------下面强制转型-------------"); System.out.println((float)c/d); //强制转型。
其中任意类型都会向String进行转换。