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");

三、心得

如果早上一直盯着屏幕看还是会犯困,希望后面可以改善一下方式。

标签

评论

this is is footer