黑马程序员技术交流社区

标题: 总结 [打印本页]

作者: 巴塞罗那的凌晨    时间: 2015-4-22 22:15
标题: 总结
1、位运算符   
    1、面试题(掌握)
            ^:一个数据对同一个数据^两次,结果还是数据本身
            举例:a ^ b ^ b = a
    2、注意
            知道结论,面试题,以后就完全不用看了
2、条件运算符(掌握)
          又叫三元运算符,三目运算符      
        1、 格式
                  条件表达式? 表达式1:表达式2;
        2、执行流程
                根据条件表达式返回的值是true还是false决定结果是什么,如果是true,就把表达式1作为结果,如果是false就把表达式2作为结果
                举例:int a = 100; int b = a>50?200:100;
        3、注意
               既然是表达式,就必须有结果
        4、什么时候用
               给变量赋值的时候用
3、两个面试题(掌握)
         1、请用最有效率的代码写出2乘8
                  2 << 3;
               =2 * 2^3
               =2 * 8
        2、请交换两个变量
                  int a = 10;
                  int b = 20;
                  你要知道他要面你什么还要知道你开发中怎么用
                  开发:临时变量   
                                   int temp = a;
                                   a = b;
                                   b = temp;
                  面试:位 ^运算符
                                   a = a^b;
                                   b = a^b;//= a^b ^b;
                                   a = a^b;//=a^b ^a;
4、if语句(掌握)
         1、使用场景(理解)
                1、常见于对某个范围进行判断
                2、几个变量判断
                3、boolean类型表达式的判断
         2、格式
                          A:第一种格式
                                       if(条件表达式)
                                       {
                                              语句体;
                                        }
                                执行流程 : 自己总结
                              这里知道被{}包裹起来的就是代码块就可以了
                          B:第二种格式
                                       if(条件表达式)
                                       {
                                               语句体;
                                        }else{
                                               语句体;
                                        }
                                执行流程 : 自己总结

                         C:第三种格式
                                       if(条件表达式)
                                       {
                                               语句体;
                                        }else if(条件表达式2)
                                        {
                                                语句体;
                                        }else{
                                                 语句体;
                                        }
                                   执行流程 : 自己总结
          3、注意事项
                          A 什么时候用哪一种if语句
                                   第一种格式在判断条件为一种情况下使用
                                   第二种格式在判断条件为两种情况下使用
                                   第三种格式在判断条件为多种情况下使用
                          B 每一种if语句其实都是一个整体,如果有地方执行了,其他的就不执行了
                          C 如果if或者else里面控制的语句体是一条语句是可以省略大括号的,但是,如果是控制多条语句,必须加上大括号
                                   建议:永远写上大括号      
                          D 大括号和分号一般不同时出现
           4、作用域
                          所有变量的定义只在它所属的大括号内有效
5、switch语句(掌握)
        1、用途(理解)
                一般用于几个常量的判断,并且对于几个常量的判断switch的效率高于if
                  因为switch会把几个常量值直接加载到内存,在判断的时候效率要比if高
                  所以,针对几个常量的判断,一般选择switch语句

        2、switch语句的格式
                  switch(表达式)
                  {
                          case 值1:
                                   语句体1;
                                   break;
                          case 值2:
                                   语句体2;
                                   break;
                          。。

                          default:
                                   语句体n;
                                   break;
                    }
                A 针对格式的解释
                     1、Switch表示这里使用的是switch语句,后面跟的是选项
                             表达式:byte,short,int,char
                             JDK5以后可以是枚举(就业班讲)
                             Jdk7以后可以是字符串(后面讲)
                     2、case表示的这里就是选项的值
                          他后面的值将来和表达式里的值匹配
                             case后面的值是不能够重复的
                      3、break:
                              switch语句执行到这里就结束了
                      4、default
                              当所有的case和表达式都不匹配的时候,就走default的内容
                              它相当于if语句的else.一般不建议省略
                B 执行流程
                           首先拿表达式中的值与case后面的值匹配,
                           如果有就执行对应的case里面的内容,直到遇到break或switch语句被执行完毕才会停止
                           如果没有匹配项,但是有default,就会执行default里面的内容,直到遇到break或switch语句被执行完毕才会停止
                C 注意事项
                          A、defult整体可以省略吗
                              可以,但是不建议
                          B、default的位置可以放到前面吗?
                              可以,但是不建议
                          C、break可以省略吗
                              可以,但是不建议
                             default在最后,break是可以省略的
                             case后面的break可以省略,但是结果可能有问题
                          D、switch语句什么时候结束
                              遇到break或者执行到switch语句的末尾
6、if 和 switch对比(理解)
         1、如果条件比较复杂,并且伴有表达式运算时用if
                  如果条件已经确定,并且比较简单的逻辑用switch
         2、if常见于对范围判断或变量判断,还有就是boolean判断
                  switch常见于对值的判断
7、条件运算符和if语句第二种格式替换(掌握)
       在某些情况下条件运算符可以和if语句第二种格式相互替换 : 在给变量赋值的情况下可以替换
       条件运算符可以看作if语句第二种格式的简写,既然是简写就会有弊端:
               1、条件运算符是运算符,所以必须有结果,但是if语句是流程控制语句,可以直接输出一些内容
               2、条件运算符的执行效率比if语句第二种格式低,这个了解就好(了解)
8、Scanner的使用(掌握)
         1、概述
                Scanner 是JDK5以后设计的用来接收键盘录入数据使用的
         2、使用步骤
                目前我们要通过键盘录入int类型数据,必须按照如下步骤
                  A 导包
                         import java.util.Scanner;
                  B 创建对象,封装键盘录入
                          Scanner sc = new Scanner(System.in);
                  C 调用方法,获取数据
                         int number = sc.nextInt();
9、案例
     1、if案例
                          根据键盘录入的成绩,判断等级
                          根据键盘录入的月份,输出该月份所对应的季节
     2、switch案例
                  A、根据键盘录入的日期(1-7),输出对应的星期
                  B、根据键盘录入的月份,输出该月份所对应的季节


作者: lai19    时间: 2015-4-22 22:20
很好的总结




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