chapter 1:
1、java中单个 & 运算符和 && 运算符的作用和区别:
作用: * "&" 运算符的运算格式是: “操作数 & 操作数” , & 运算的操作数可以是整型数值、char类型也可以是布尔类型,但不能是字符串类型和小数类型;
如果 操作数类型是”整型数值、char类型“,例如: 1&2 ,则是两个操作上之间进行的是按位与运算;
如果操作数类型是布尔类型,例如 false & true 或者(1<2)&(3>4),则返回结果是:操作数两边同时为 true,结果才为true,否则结果是false;
* “&&” 运算符的运算格式是: “操作数 && 操作数” , “&&”运算的操作数只可以是布尔类型;
例如:true && false ,(1<2)&&(4<5),操作数两边同时为true,结果才为true,否则结果是false;
区别: * “&” 运算符的操作数可以是整型数值类型或者char 类型(能自动类型提升为int类型的数据即可),
而“&&”运算符只能是布尔类型的操作数;
* “&&”具有短路效应,即 a && b; 如果左边的 a表达式 为false,则 右边b 表达式是不会被执行的;
但是 “&”,无论左边的表达式为true还是false,右边的表达式都会执行;
同理: “|”和 “||” 运算符的作用和区别;
2、一个奇怪的java操作,需要记住这个特例:
int a = 6;
a = a++;
System.out.println("a = "+a);//运行结果: a = 6; 而不是 7;
3、if -else 判断,if语句后面的结构:
* 如果if后面没有跟 {}-大括号,则if 的执行语句默认是最近的“一条有效非声明语句”;
一条:只能是一条语句不能是多条语句;
有效:得是合法的语句;
非声明: 不能是一条合法的声明语句,例如: int a; 它是一条有效的语句,但是却是一条声明语句;
4、switch语句的使用注意事项:
int x = 2;
int Y = 5;
switch (y){
default :
y++;
case 3 :
y++;
break;
case 4:
y++;
}
System.out.println("y="+y); //运行结果: y=7
第一步:y=5,没有匹配的swithc语句,所以执行default y++,之后y的值是6,因为default没有break语句,又会往下继续执行case 3:y++,所以y = 7,遇到break跳出
switch语句,所以y的实际值是7,;(需要注意的是如果default放在第一句又没有加break,当默认执行到default后执行完default又会case穿透顺序向下执行switch.)