Day02重点总结 和 面试题

筅森魡賤 提交于 2020-01-08 17:16:06

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1.    逻辑运算符有哪些
    * &,|,^,!
    * &&,|| 

2. ^逻辑异或:相同为false,不同为true。

3. 逻辑运算符&&和&的区别

        * a:最终结果一样。
        * b:&&具有短路效果。左边是false,右边不执行。
        *    &是无论左边是false还是true,右边都会执行     

    同理||与|的区别是?

4. Java语言基础(位异或运算符的特点及面试题)

^的特点:一个数据对另一个数据位异或两次,该数本身不变。

*如何实现对两个整数变量的值进行互换。
    x = 10
    y = 5 
    x = x ^ y  10 ^ 5
    y = x ^ y  10 ^ 5 ^ 5
    x = x ^ y  10^5^10
    5. 位运算符的基本用法2及面试题(用原码的方式分析) 

        案例演示 >>,>>>,<<的用法:
    *  <<:左移    左边最高位丢弃,右边补齐0 (向左移动几位就是乘以2的几次幂)
    *  >>:右移    最高位是0,左边补齐0;最高为是1,左边补齐1 (向右移动几位就是乘以1/2的几次幂)
    *  >>>:无符号右移 无论最高位是0还是1,左边补齐0
    *  最有效率的算出2 * 8的结果 (2 << 3)     

6. 选择结构switch语句的格式及其解释

A:switch语句的格式

        switch(表达式) {
              case 值1:
                语句体1;
                break;
                case 值2:
                语句体2;
                break;
                …
                default:    
                语句体n+1;
                break;
        }
 Switch语句适用的类型:*基本数据类型可以接受byte,short,char,int

                                        *引用数据类型可以接受枚举(JDK1.5)String字符串(JDK1.7)

B:switch语句的格式解释
C:面试题
    * byte可以作为switch的表达式吗?
    * long可以作为switch的表达式吗?
    * String可以作为switch的表达式吗?
C:执行流程
    * 先计算表达式的值
    * 然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句

7. 选择结构switch语句的注意事项

A:案例演示
    * a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
    * b:default可以省略吗?
        * 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
        * 特殊情况:
            * case就可以把值固定。
            * A,B,C,D
    * c:break可以省略吗?
        * 最后一个可以省略,其他最好不要省略
        * 会出现一个现象:case穿透。/*switch(month) {
        case 3:
        case 4:
        case 5:
        System.out.println("这个季节是春天");
        break;
        case 6:
        case 7:
        case 8:
        System.out.println("这个季节是夏天");
        break;
        case 9:
        case 10:
        case 11:
        System.out.println("这个季节是秋天");
        break;
        case 12:
        case 2:
        case 1:
        System.out.println("这个季节是冬天");
        break;
        }*/

        * 最终我们建议不要省略
    * d:default一定要在最后吗?
        * 不是,可以在任意位置。但是建议在最后。
    * e:switch语句的结束条件
        * a:遇到break就结束了
        * b:执行到switch的右大括号就结束了

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!