标签:
byte:长度为28(-27~27-1)
shot:长度为216(-215~215-1)
int:长度为232(-231~231-1)
long:长度为264(-263~263-1)
float:长度为232(初始化需要在小数后面加f,例:float num=3.14f)
double:长度为264(初始化两种形式均可,例1:double num=3.1415926d;例2:double num=3.1415926)
char:存储单个字符,占用16位(两个字节)的内存空间。
(Java语言也可以把字符当做整数对待,由于unicode编码采用无符号编码,Java中的字符对应0~65536之间的整数,所以char和int型可以相互显示转换)
boolean:值分为:true和false;
数值型的类型转换
在表示式中,如:c=a+b;a>b?c:d;
两个数中有一个double类型的,另一个也被转换为double类型
两个数中有一个float类型的,另一个也被转化为float类型
两个数中有一个long类型的,另一个也被转化为long类型
否则将被转化为int类型;
将大范围的数值类型向小范围的数值类型进行转换,需要显式转换,并且可能伴随精度丢失。
1.(false?10.9:9)的值为多少?
Java根据运算符的精度类型自动类型转换,由于有10.9的存在,9将被自动转换为9.0。所以结果为9.0。
2. char x=“9”;(false?x:10)的值为什么?
在表达式中有一个是常量表达式(本题为10)时,另一个的类型为T(本题为char类型)时,而常量表达式可以被T表示时,输出结果为T类型。
则本题的结果为char类型的“10”;
标签:
原文地址:http://www.cnblogs.com/returnsunshine/p/5978388.html