9-22 程宗武
9-22
一、知识点总结
/*
##区分&与&&:
*相同点1:& 与 &&的运算结果相同
*相同点2 :当符号左边是true时,两者都会执行符号右边的运算
*不同点:当符号左边是false时,&继续执行符号右边的运算,而&&不会执行
##区分|与||:
*相同点:当符号左边都为false时两者都会执行符号右边的运算
*不同点:当符号左边都为true时 ||符号右边的不会执行(短路或)
## 位运算符:
*位运算符操作的都是整形的数据
*<< :在一定范围内,每向左移一位,相当于 *2
*>> :同理 /2
>>>(无符号右移最高位拿零补)
##三元运算符:
*C=A>B ? A :B;
*/
/*
##switch-case结构:
*switch结构中的表达式,只能是如下六种数据类型之一:byte、short、char、int、枚举类型(JDK0.5新增)、String类型(JDK7.0新增)
*case之后只能声明常量,不能声明范围。
##for循环结构:
*for循环结构的执行过程:1->2->3->4->2->3->4.....2
for(1;2;4){
3;
}
##while循环的使用:
*循环结构的四个要素:
1.初始化条件
2.循环条件 --->是boolean类型
3.循环体
4.迭代条件
*while循环的结构:
1
while(2){
3;
4;
}
执行过程:1 -->2-->3-->4-->2-->3-->4-->2 ..... -->2
说明:
*while循环不能缺失迭代条件,否则会导致死循环。
*for循环和while循环可以相互转换
算法:有限性。
*/
二、问题总结
1、
switch(num ++) 中 ,会先将num的值进行比较,然后再++,就如同(int n = s++),先进行赋值,再++一样
因此上述程序的输出结果为:
2、~(-6)和 ~(6)的区别
两者都是按位非,+6的运算公式为补码按位非 然后再取反+1,而-6则是先获取到补码对补码进行按位非(注:符号位也会取反,因为是按位非操作)得到的结果就为最终的结果。
3、123+456.58 + “AAA” 和 123+456.48+"AAA" 的结果为什么会差别这么大,还不是很理解
4、
short s = 1;
// s = s + 1; 编译不通过
s = 10 + 1; //把18+1的结果确认是在short范围内之后才赋给的 s 和 short s = 11 的意思差不多
5、 如果 for(;;)上是个死循环 ,将永远也不会执行下面的代码,因此会在编译时报错
for (;;);
System.out.println("Hello");
三、心得
如果早上一直盯着屏幕看还是会犯困,希望后面可以改善一下方式。
近期评论