A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

day04
1:switch语句(掌握)
        (1)格式:
                switch(表达式) {
                        case 值1:
                                语句体1;
                                break;
                        case 值2:
                                语句体2;
                                break;
                        ...
                        default:
                                语句体n+1;
                                break;
                }
               
                格式解释说明:
                        switch:说明这是switch语句。
                        表达式:可以是byte,short,int,char
                                JDK5以后可以是枚举
                                JDK7以后可以是字符串
                        case:后面的值就是要和表达式进行比较的值
                        break:表示程序到这里中断,跳出switch语句
                        default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
        (2)面试题
                switch语句的表达式可以是byte吗?可以,
                可以是long吗?不可以
                可以是String吗?JDK7以后可以
        (3)执行流程:
                A:首先计算表达式的值
                B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。
                C:如果没有匹配,就执行default的语句体n+1。
        (4)注意事项:
                A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
                B:default可以省略吗?
                        可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
                        特殊情况:
                                case可选的值就只有固定的几个。即case就可以把值固定。
                                如只有A,B,C,D四个选项的单选。
                C:break可以省略吗?
                        可以省略,但是结果可能不是我们想要的。
                        会出现一个现象:case穿透。
                        最终我们建议不要省略
                D:default一定要在最后吗?
                        不是,可以在任意位置。但是建议在最后。
                E:switch语句的结束条件
                        a:遇到break就结束了
                        b:执行到末尾就结束了
        (5)案例:
                A:键盘录入一个数字(1-7),输出对应的星期几。
                B:单项选择题
                C:键盘录入一个字符串的问题
                        String s = sc.nextLine();
                D:根据给定的月份,输出对应的季节
        (6)if语句和switch语句各自的场景
                A:if
                        针对boolean类型的判断
                        针对一个范围的判断
                        针对几个常量的判断
                B:switch
                        针对几个常量的判断

2:循环语句(掌握)
        (1)有三种:for,while,do...while
        (2)for循环语句
                A:格式
                        for(初始化语句;判断条件语句;控制条件语句){
                                循环体语句;
                        }
                       
                        执行流程:
                                a:执行初始化语句
                                b:执行判断条件语句
                                        如果这里是true,就继续
                                        如果这里是false,循环就结束
                                c:执行循环体语句
                                d:执行控制条件语句
                                e:回到b
                B:注意事项
                        a:判断条件语句无论简单还是复杂,结果是boolean类型
                        b:循环体语句如果是一条,可以省略大括号,但是不建议
                        c:有分号就没有左大括号,有左大括号就没有分号
                C:案例
                        a:输出10次HelloWorld
                        b:输出1-10的数据
                        c:输出10-1的数据
                        d:求1-10的和
                        e:求1-100的和,求1-100的偶数和,求1-100的奇数和
                        f:求5的阶乘
                        g:在控制台打印水仙花数
                        如:153=1*1*1+5*5*5+3*3*3  如何获取一个数据的个、十、百。。位的数呢?如2345
                        个:2345%10=5
                        十:2345/10%10=4
                        百:2345/100%10=5
                        千:2345/1000%10=4
                        h:统计水仙花个数
                        i:改进版的回文数
                                一个五位数
                                个位 = 万位
                                十位 = 千位
                                个位 + 十位 + 千位 + 万位 = 百位
                        j:统计1-1000之间同时满足如下条件的数据有多少个
                                x%3==2
                                x%5==3
                                x%7==2
        (3)while循环
                A:基本格式
                        while(判断条件语句) {
                                循环体语句;
                        }
                       
                        扩展格式:
                        初始化语句;
                        while(判断条件语句){
                                循环体语句;
                                控制条件语句;
                        }
                       
                        通过查看这个格式,我们就知道while循环可以和for循环等价转换。
                B:while的练习
                        把for语句的练习用while改进
                        int sum=0;
                        for(int i=0;i<=100;i++){
                                sum+=i;
                        }
                        改成while循环
                        int sum=0;
                        int i=0;
                        while(i<=100){
                                sum+=i;
                                i++
                        }
                C:for和while的区别
                        a:使用上的区别
                                for语句的那个控制条件的变量,在循环结束后不能再   使用了。
                                而while的可以继续使用。
                        b:理解上的区别
                                for适合于一个范围的判断
                                while适合次数不明确的
                                        举例:吃葡萄
                D:案例:
                        a:珠穆朗玛峰问题
                        b:小芳存钱问题(break以后才能做)
        (4)do...while循环
                A:基本格式
                        do {
                                循环体语句;
                        }while(判断条件语句);
                       
                        扩展格式:
                        初始化语句;
                        do {
                                循环体语句;
                                控制条件语句;
                        }while(判断条件语句);
                       
        通过查看格式,我们就可以看出其实三种循环的格式可以是统一的。
                B:三种循环的区别
                        a:do...while循环至少执行一次循环体
                        b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体
        例:
        for(int x=0;x<5;x++){
                System.out.println("我爱java");
        }
------------------
        int x=0;
        while(x<5){
                System.out.println("我还java");
                x++;
        }
------------------------
        int x=0;
        do{
                System.out.println("我爱java");
                x++;
        }while(x<5);
       
我们一般使用循环时优先考虑for,其次考虑while,最后才考虑do while循环。
       
        (5)循环使用的注意事项(死循环)
                A:一定要注意修改控制条件,否则容易出现死循环。
                B:最简单的死循环格式
                        a:while(true){...}
                       
                        b:for(;;){}
        用for循环做九九乘法表
        //输出九九乘法表
                for(int m=1;m<=9;m++){
                        for(int n=1;n<=m;n++){
                                System.out.print(n+"*"+m+''\t);
                        }
                        System.out.println();
                }
        注意:'\x' :x表示任意,这种做法叫转移字符
         '\r':回车
         '\t':tab键
         '\n':换行。
                       
3:控制跳转语句(掌握)
        (1)break:中断的意思
                A:用在循环和switch语句中,离开此应用场景无意义。
                B:作用
                        a:跳出单层循环
                        b:跳出多层循环,需要标签语句的配合.
                格式  标签名:语句。
        例:
        wc:for(int x=0;x<3;x++){
                nc:for(int y=0;y<4;y++){
                        if(y==2){
                                //break nc;//中断内层循环
                                break wc;//中断外层循环。
                        }
                        System.out.println("*");
                }
                System.out.println();

        }
        (2)continue:继续
                A:用在循环中,离开此应用场景无意义。
                B:作用
                        a:跳出单层循环的一次,可以继续下一次
                C:填空题
                        for(int x=1; x<=10; x++) {
                                if(x%3 == 0) {
                                        //补齐代码
                                        //break;//输出两次,这里满足后直接跳出整个循环
                                        continue;//当3/6/9时不输出,所以输出7次。
                                        System.out.println("Java基础班");//当3/6/9时多输出3次,所以输出13次。
                                }
                                System.out.println("Java基础班");
                        }
                        如何让控制台输出2次:Java基础班
                        如何让控制台输出7次:Java基础班
                        如何让控制台输出13次:Java基础班
        (3)return:返回
                A:用于结束方法的,后面还会在继续讲解和使用。
                B:一旦遇到return,程序就不会再继续往后执行。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马