开发测试学习
目录

一、自动类型转换

整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。转换从低级到高级,如下图:
转换规则为:
①(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}
}

二、强制类型转换

高级数据要转换成低级数据,需用到强制类型转换,如:

int i;
byteb=(byte)i; //把int型变量i强制转换为byte型

这种使用可能会导致溢出或精度的下降,最好不要使用。
第三章运算符和表达式
运算符指明对操作数所进行的运算。按操作数的数目来分,可以有一元运算符(如++、--),二元运算符(如+、>)和三元运算符(如?:),它们分别对应于一个、两个和三个操作数。对于一元运算符来说,可以有前缀表达式(如++i)和后缀表达式(如i++),对于二元运算符来说则采用中缀表达式(如a+b)。按照运算符功能来分,基本的运算符有下面几类:
1.算术运算符(+,-,*,/,%,++,--)
2.关系运算符(>,<,>=,<=,==,!=)
3.布尔逻辑运算符(!,&&,||)
4.位运算符(>>,<<,>>>,&,|,^,~)
5.赋值运算符(=,及其扩展赋值运算符如+=)
6.条件运算符(?:)
7.其它(包括分量运算符·,下标运算符[],实例运算符instanceof,内存分配运算符new,强制类型转换运算符(类型),方法调用运算符()等)
本章中我们主要讲述前6类运算符。