黑马程序员技术交流社区

标题: 学习总结3 [打印本页]

作者: mm2015    时间: 2015-12-7 22:53
标题: 学习总结3
1、逻辑运算符
        & 有假则假,全真才真
        | 有真则真,全假才假
        ^ 相同为假,不同为真
        !取反,真变假,假变真
       
        && 结果与& 相同,具有短路效果,左边为false,右边不再判断。
        || 结果与| 相同,具有短路效果,左边为true,右边不再判断。

2、位运算符
        & 有0则0,全1才1
        | 有1则1,全0才0
        ^ 相同为0,不同为1
        ~ 取反,1变0,0变1
       
        位运算符的特点:一个数对另一个数异或两次,还是这个数本身。
       
                面试题:
                        交换两个变量的值:
                                int x = 10;
                                int y = 20;
                               
                                x = x ^ y;
                                y = x ^ y;
                                x = x ^ y;
                开发:
                        使用第三方变量:
                                int temp = x;
                                x = y;
                                y = temp;
       
        << 左移:右边空位补0,相当于乘以2的几次幂。
        >> 右移,高位以符号位补齐,相当于除以2的几次幂。
        >>> 无符号右移: 高位均以0补齐。
                面试题:最高效的方式算出 2 * 8
               
3、三元运算符(三目)
        格式:
                关系表达式 ? 表达式1 : 表达式2
               
        例如:
                int z = (x > y) ? x : y;
                       
4、Scanner -- 键盘录入
        使用步骤:
                导包: (要写在class的上面)
                        import java.util.Scanner;
                封装键盘录入:
                        Scanner sc = new Scanner(System.in);
                获取输入的int值
                        int a = sc.nextInt(); // 注意:只能输入纯数字字符
                       
5、流程控制语句
        顺序结构 :从上往下执行
        选择结构:
                if语句格式1:
                        if (条件表达式) {
                                // 语句体
                        }
               
                if语句格式2:
                        if (条件表达式) {
                                // 语句体1
                        } else {
                                // 语句体2
                        }               
                       
                if语句格式3:
                        if (条件表达式1) {
                                // 语句体1
                        } else if (条件表达式2){
                                // 语句体2
                        } else if (条件表达式3){
                                // 语句体3
                        }
                        ...
                        else {
                                // 所有不符合上述条件的情况,走这
                        }
                格式3的执行流程:
                        首先计算比较表达式1看其返回值是true还是false,
                        如果是true,就执行语句体1,if语句结束。
                        如果是false,接着计算比较表达式2看其返回值是true还是false,
                        如果是true,就执行语句体2,if语句结束。
                        如果是false,接着计算比较表达式3看其返回值是true还是false,
                        。。。
                        如果都是false,就执行else中的内容。
       
                switch语句的基本格式:
                        switch (表达式) {
                                case 值1:
                                // 语句体1
                                break;
                               
                                case 值2:
                                // 语句体2
                                break;
                               
                                case 值3:
                                // 语句体3
                                break;
                               
                                ...
                                default :
                                // 语句体n
                                break;
                               
                        }
                       
                注意事项:
                        switch语句的表达式可以接收的数据类型:byte、short、char、int、枚举(JDK5)、String(JDK7)
                       
                        执行流程:
                                拿表达式的值从上往下挨个匹配每一个case,一旦匹配上,执行相应的代码,如果都不匹配,执行default。
                        结束条件:
                                遇到break或者执行到switch语句的结尾。
                        建议:
                                不要省略break,并且default写在最后边。
                       
               
       






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2