2.7舉例
例2.1.下例中用到了前面提到的數(shù)據(jù)類型,并通過屏幕顯示它們的值。
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各類數(shù)值型數(shù)據(jù)間的混合運算
一、自動類型轉換
整型、實型、字符型數(shù)據(jù)可以混合運算。運算中,不同類型的數(shù)據(jù)先轉化為同一類型,然后進行運算。轉換從低級到高級,如下圖:
轉換規(guī)則為:
、(byte或short)opint→int
②(byte或short或int)oplong→long
、(byte或short或int或long)opfloat→float
、(byte或short或int或long或float)opdouble→double
、輈haropint→int
其中,箭頭左邊表示參與運算的數(shù)據(jù)類型,op為運算符(如加、減、乘、除等),右邊表示轉換成的進行運算的數(shù)據(jù)類型。
例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}
}
二、強制類型轉換
高級數(shù)據(jù)要轉換成低級數(shù)據(jù),需用到強制類型轉換,如:
inti;
byteb=(byte)i;//把int型變量i強制轉換為byte型
這種使用可能會導致溢出或精度的下降,最好不要使用。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |