多分支使用

  1. 多分支可以没有else,如果所有的条件表达式都不成立,则一个执行入口都没有;
  2. 如果有else,当所有的条件表达式都不成立,则默认执行else代码块

嵌套分支

nested:嵌套的,嵌套的

Switch

案例一:

请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g

a表示星期一,b表示星期二,...

根据用户的输入显示相应的信息,要求使用switch语句完成。

源代码:

import java.util.Scanner;

public class Switch01 {

    public static void main(String[] args) {

        /*
            案例:请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g
            a表示星期一,b表示星期二,...
            根据用户的输入显示相应的信息,要求使用switch语句完成
        */
        Scanner myScanner = new Scanner(System.in);
        System.out.println("请输入一个字符(a-g):");
        //把接收到的字符串转成一个字符,即取它的第一个字符
        char c1 = myScanner.next().charAt(0);
        //在java中只要是有值返回就是一个表达式
        switch(c1) {
            case 'a':
                System.out.println("今天是星期一");
                break;
            case 'b':
                System.out.println("今天是星期二");
                break;
            case 'c':
                System.out.println("今天是星期三");
                break;
            case 'd':
                System.out.println("今天是星期四");
                break;
            case 'e':
                System.out.println("今天是星期五");
                break;
            case 'f':
                System.out.println("今天是星期六");
                break;
            case 'g':
                System.out.println("今天是星期天");
                break;
            default://default子句可以没有
                System.out.println("输入的内容不正确,没有匹配");
        }
    }
}

switch(表达式)中表达式的返回值必须是:byte/short/int/char/enum【枚举】/String

编程思想

化繁为简

先死后活

For

如果在for循环中定义了一个变量,那么这个变量的作用范围只限于for循环,出了for循环,要使用这个变量就需要重新定义了。

dowhile

do{

循环体(语句);

循环变量迭代;

}while(循环条件);  //最后有一个分号

多重循环控制

建议一般使用两层,最多不要超过3层,否则代码可读性很差。

break

//随机生成[1,100]之间的任意整数
(int)(Math.random() * 100) + 1

break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块

public class BreakDetail {

    public static void main(String[] args) {

        //break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
        //在实际的开发中,尽量不要使用标签
        label1:
        for(int j = 0; j < 4; j ++) {
        label2:
            for(int i = 0; i < 10; i ++) {
                if(i == 2) {
                    break label1;
                }
            System.out.println("i = " + i);
            }
        }
    }
}

在实际的开发中,尽量不要使用标签,代码可读性差

补充知识

字符串的内容比较使用的方法

public class BreakDetail {

    public static void main(String[] args) {

        String s1 = "hello";
        System.out.println(s1.equals("hello"));  //true
        //以下这种写法比较推荐,可以避免空指针的问题
        System.out.println("hello".equals(s1));  //true
    }
}

continue

continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用规则一样。

return(跳转控制语句)

return使用在方法,表示跳出所在的方法,在讲解方法时,还会详细介绍。

如果return写在main方法,表示退出程序