黑马程序员技术交流社区

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

作者: 奇峰    时间: 2015-8-4 20:38
标题: day 3 总结
1:运算符(掌握)
        (1)位运算符(了解)
                ^ : 一个数据对同一个数据^两次,结果还是数据本身。
                举例:a ^ b ^ b = a
        (2)条件运算符
                格式:
                        条件表达式?表达式1:表达式2

                        执行流程:
                                根据条件表达式返回的是true还是false,决定结果是什么。
                                如果是true,就把表达式1作为结果。
                                如果是false,就把表达式2作为结果。
                举例:
                        int a = 100;
                        int b = a > 50 ? 200 : 100;
                        请问b的值?200

2:面试题(理解)
        (1)请用最有效率的代码写出2乘以8
                2<<3
        (2)请交换两个变量。
                int a = 10;
                int b = 20;

                开发:临时变量
                        int temp = a;
                        a = b;
                        b = temp;

                面试:位^运算符
                        a = a ^ b;
                        b = a ^ b;
                        a = a ^ b;

3:if语句(掌握)
        (1)用于做判断使用的。
           常见于对某个范围进行判断,或者几个变量进行判断,还有就是boolean表达式的判断。
(2)格式:
        A:第一种格式
                if(条件表达式)
                {
                        语句体;
                }

                执行流程:
                        如果条件表达式为true,就执行语句体;
                        否则,什么都不执行。

B:第二种格式
        if(条件表达式)
        {
                语句体1;
        }
        else
        {
                语句体2;
        }

        执行流程:
                如果条件表达式为true,就执行语句体1;
                否则,就执行语句体2;

        特殊:
                可以和条件表达式在某些情况下进行替换。
                一般是在赋值的情况下可以。

        举例:
                获取两个数中的最大值。

C:第三种格式
        if(条件表达式1)
        {
                语句体1;
        }
        else if(条件表达式2)
        {
                语句体2;
        }
        ...
        else
        {
                语句体n;
        }       

        执行流程:
                如果条件表达式1为true,就执行语句体1;
                如果条件表达式2为true,就执行语句体2;
                ...
                否则,就执行语句体n;
               
D:注意事项
        a:什么时候时候哪一种if语句。
                第一种格式在判断条件为一种情况下使用。
                第二种格式在判断条件为两种情况下使用。
                第三种格式在判断条件为多种情况下使用。
        b:每一种if语句其实都是一个整体,如果有地方执行了,
          其他的就不执行了。
        c:如果if或者else里面控制的语句体是一条语句,是可以省略大括号的,
          但是,如果是控制多条语句,就必须写上大括号。
          建议:永远写上大括号。
        d:大括号和分号一般不同时出现。

E:作用域
        所有变量的定义只在它所属的大括号内有效。
        (3)案例:
                A:根据键盘录入的成绩,判断等级。
                B:根据键盘录入的月份,输出该月份所对应的季节。

4:switch语句(掌握)
(1)用于做选择使用的。一般用于几个常量的判断。
        switch会把几个常量值直接加载到内存,在判断的时候,效率要比if高。
        所以,针对几个常量的判断,一般选择switch语句。
(2)switch语句的格式:
        switch(表达式)
        {
                case 值1:
                        语句体1;
                        break;
                case 值2:
                        语句体2;
                        break;
                case 值3:
                        语句体3;
                        break;
                ...
                default:
                        语句体n;
                        break;       
        }

                A:针对格式的解释
                        switch:表示这里使用的是switch语句,后面跟的是选项。
                                表达式:byte,short,int,char
                                        JDK5以后可以是枚举(以后讲)
                                        JDK7以后可以是字符串(后面讲)
                        case:表示这里就是选项的值,它后面的值将来和表达式的值进行匹配。
                             case后面的值是不能够重复的。
                        break:
                                switch语句执行到这里,就结束了。
                        default:
                                当所有的case和表达式都不匹配的时候,就走default的内容。
                                它相当于if语句的else。一般不建议省略。
                B:执行流程
                        进入switch语句后,就会根据表达式的值去找对应的case值。
                        如果最终没有找到,那么,就执行default的内容。
               
                C:注意事项:
                        a:default整体可以省略吗?
                                可以,但是不建议。
                        b:default的位置可以放到前面吗?
                                可以,但是不建议。
                        c:break可以省略吗?
                                可以,但是不建议。
                                default在最后,break是可以省略的。
                                case后面的break可以省略,但是结果可能有问题。
                        d:switch语句什么时候结束呢?
                                就是遇到break或者执行到程序的末尾。
        (3)案例:
                A:根据键盘录入的日期(1-7),输出对应的星期日期。
                B:根据键盘录入的月份,输出该月份所对应的季节。(选做)

5:Scanner的使用(掌握)
        (1)Scanner是JDK5以后设计的用来接收键盘录入数据使用的。
        (2)目前我们要通过键盘录入int类型数据,必须按照如下步骤:
                A:导包
                        import java.util.Scanner;
                B:创建对象,封装键盘录入
                        Scanner sc = new Scanner(System.in);
                C:调用方法,获取数据
                        int number = sc.nextInt();







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