`

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.

8instanceof测试必须在继承树中才能通过编:

   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; 这样的语句。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics