2.7举例
例2.1.下例中用到了前面提到的数据类型,并通过屏幕显示它们的值。
publicclassSimpleTypes{
publicstaticvoidmain(Stringargs[]){
byteb=0x55;
shorts=0x55ff;
inti=1000000;
longl=0xfffL;
charc='c';
floatf=0.23F;
doubled=0.7E-3;
booleanbool=true;
System.out.println("b="+b);
System.out.println("s="+s);
System.out.println("i="+i);
System.out.println("c="+c);
System.out.println("f="+f);
System.out.println("d="+d);
System.out.println("bool="+bool);
}
}
编译并运行该程序,输出结果为:
C:\>javaSimpleTypes
b=85
s=22015
i=1000000
l=4095
c=c
f=0.23
d=0.0007
bool=true
2.8各类数值型数据间的混合运算
一、自动类型转换
整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级,如下图:
转换规则为:
①(byte或short)opint→int
②(byte或short或int)oplong→long
③(byte或short或int或long)opfloat→float
④(byte或short或int或long或float)opdouble→double
⑤charopint→int
其中,箭头左边表示参与运算的数据类型,op为运算符(如加、减、乘、除等),右边表示转换成的进行运算的数据类型。
例2.2
publicclassPromotion{
publicstaticvoidmain(Stringargs[]){
byteb=10;
charc='a';
inti=90;
longl=555L;
floatf=3.5f;
doubled=1.234;
floatf1=f*b;
//float*byte->float
inti1=c+i;
//char+int->int
longl1=l+i1;
//long+int->ling
doubled1=f1/i1-d;
//float/int->float,float-double->double}
}
二、强制类型转换
高级数据要转换成低级数据,需用到强制类型转换,如:
inti;
byteb=(byte)i;//把int型变量i强制转换为byte型
这种使用可能会导致溢出或精度的下降,最好不要使用。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |