黑马程序员 基础语法总结

来源:互联网 发布:java printwriter true 编辑:程序博客网 时间:2024/05/17 04:40

java培训、android培训期待与您交流! 

 赋值运算
byte a = 3, b = 5;
1 byte a = 3; //正确。因为右边的单个数值会在编译器中被判断其值是否在在左边的范围内(不需考虑数值的默认类型),若在,则会发生数据类型的自动转换。
2 byte a = a + 2;//错误!因为2的默认类型为int型,所以a会自动提升为int型(类型空间小的自动转化为类型空间大的),同类型的数据相加,数据类型不会产生变化,即为int型,由于右边存在常量a,所以需要首先考虑数据类型能否被兼容!
3 byte a = a + b; //错误!因为a,b为常量,3,5分别赋给了a,b,又因为3,5的默认类型都为int型,所以a+b后的类型为int型(而不是byte型),所以左边的数据类型不能将右边的兼容,损失数据精度!
4 byte a = 3 + 2; //正确。右边同为数字,只需考虑相加后是否会越界即可!
5 a = a + 2与a += 2是不同的,前者错误,因为要进行两步运算(先运算,再赋值),而后者指进行一步运算,当不发生数值越界时数据类型会无条件地自动转换(一般优先使用该方法运算,不容易出错!)。
逻辑运算符
&(与),&&(短路与),|(或),||(短路或),^(异或),!(非)。这些都是用于连接两个boolean类型的表达式。
1 对于&和&&来说,在判断过程中只要遇到false条件,那么,结果为false。对于|和||来说,在判断过程中只要遇到true条件,那么,结果为true。
2 短路&&和||不一定需要对两个条件进行判断,前者遇到false后则不会进行判断了,后者遇到true不会进行判断了。
3 &和|会对两个条件都做判断!
4 对于^来说,只要所遇到的两个条件不同,则结果为true,否则为false!
5 !表示事物的另一面。
if和switch的应用场景
1 对几个数值进行判断时,两者都可以用,建议使用switch。因为switch中的值在编译时已经被储存,可以直接被使用,执行效率会高一些!而在if中需要对其括号中的语句运行!
2 对于区间判断和布尔类型,只能使用if语句。
3 switch存在局限性:只能是固定个数的值,不能太多;值的类型只能是char,byte,short,int(不是很新版本的JDK中,这也是2的主要原因)。

java培训、android培训期待与您交流!
原创粉丝点击