本文主要是介绍SCJP笔记整理(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
说明:这是2007年复习SCJP期间的学习笔记(JavaSE 5.0),有部分遗失。现在整理一下发到Blog上,一方面做个备份,另一方面分享出来,希望对需要的人有用。
-------------------------------
第四部分 运算符
1、任何赋值表达式的结果都是赋值后的变量值,整数不能用于需要布尔值的地方。
2、测试null引用是否是一个类的实例是合法的,但其结果总是false。
3、基本类型的数组也是对象,数组总是Object的实例。
4、如果一个操作数是String则+运算符为连接运算符。如果两个操作符都是数字,则+运算符是加法运算符。
5、&& 短路 与:若左边为false,则不计算右边的值。
|| 短路 或:若左边为true,则不计算右边的值。
&&、| |只作用于布尔表达式:if(5&&6) {} 将导致编译失败。
6、&和|为非短路与或。
7、^异或表达式为true:必须有且仅有一个操作数为true.
8、instanceof测试必须在继承树中才能通过编:
Short s= 15;
Boolean b1=(s instanceof Number); //没问题
Boolean b2=(s instanceof String); //编译失败。
9、数组变量比较时必须维数相同才能够通过编译。
If(42L==42.0f) {}//该测试返回为true.
10、测试表达式中赋值会影响到后面的测试:
Boolean b=true;
If((b=false) | (b&&true)) //该测试返回false.
{}
11、打印中数字在前先运算后连接:
System.out.println(x+y+getMyString());
//先计算加法再连接字符串。
System.out.println(getMyString()+x+y);
//直接连接各个串。
12、可以使用:x*=x; y+=y; 这样的语句。
这篇关于SCJP笔记整理(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!