第三章 运算符、表达式和语句
1. Java运算符:算术运算符、关系运算符、逻辑运算符和位运算符。
2. Java将按运算符两边的操作元的最高精度保留结果的精度;char型数据和整型数据运算结果的精度是int型数据的精度;右操作数精度高于左边,应强制类型转换。
3. 算术运算符的级别 > 关系运算符 > 逻辑运算符
4. 逻辑运算符&&和||也称为短路逻辑运算符,当左值能决定结果时,右值不会计算。
5*. 位运算符也可以操作逻辑型数据,但是与逻辑运算符&&、||和!不同的是:位运算符要计算完左右两边的值之后再给出运算的结果。位运算符也可以操作字符数据,但运算结果是int型数据
6. “按位异或”是^,相同为0,相异为1,用同一个数对数a进行两次“异或”运算的结果又是数a。
7. “>>” 右移,最高位补符号位,右移一位表示除2;“>>>” 无符号右移,最高位补0;左移道理类似。
8. instanceof运算符:双目运算符,左面的操作元是一个对象,右面是一个类,当左面的对象是右面的类创建的对象时,该运算符运算的结果是true,否则是false。用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)的实例,例:
String str[] = new String[2];
if(str instanceof String[]){ System.out.println(true); }
9. Java里语句分为5类:方法调用语句、表达式语句、复合语句、控制语句、package语句和import语句。
10. 控制语句包括条件语句(if)和switch开关语句。switch的格式定义:
switch(表达式){
case 常量值1:
若干个语句
break;
...
case 常量值n:
若干个语句
break;
default:
若干语句
}
switch语句中表达式和常量值必须是整型或字符型,且在同一个switch语句中,case的常量值必须互不相同。
11. 循环语句包括for循环语句、while循环、do-while循环。后两者的区别是:do-while的循环体至少被执行一次。
12. break和continue语句