Java流程控制(二)

Java流程控制(二)

顺序结构

  1. 顺序结构是Java的基本结构,没有特殊标注(循环之类的)默认是顺序结构

  2. 从上往下一步一步去走

    public class struct {
        public static void main(String[] args) {
            int a=0;
            int b=2;
            int c=3;
            int x=0;
            x=a+b;
            System.out.println(x);
            x=a+c;
            System.out.println(x);
            x=b+c;
            System.out.println(x);
        }
    }
    输出:
        2
        3
        5
    

if选择结构

  1. if选择结构用来进行判断

  2. 一个if语句中最多只能有一个else,但可以有多个else if

            if(x){
                System.out.println("a");
            }
            //如果x为真(true)则输出a(执行大括号里的操作),如果x为假(false),则不输出a
            if(a==b){
                System.out.println("a");
            }
            //如果a等于b,则为true则输出a(执行大括号里的操作),如果a不等于,b则为false,则不输出a
            if(a==b && b==c){
                System.out.println("a");
            }
            //如果a等于b并且b等于c,则为true则输出a,如果a不等于b或b不等于c则为false,则不输出a
            if(a==b || b==c){
                System.out.println("a");
            }
            //如果a等于b或b等于c,则为true则输出a,如果a不等于b并且b不等于c则为false,则不输出a
    
            if(x){
                System.out.println("a");
            }else if (s){
                System.out.println("b");
            }else if (y){
                System.out.println("c");
            }
            //从上往下判断
            //如果x为true,则输出a(执行大括号里的操作),且之后的else if判断不再执行
            //如果x为false但s为true,则输出b,且之后的else if判断不再执行
            //如果x为false且s为false,但y为true,则输出c
    
            if(x){
                System.out.println("a");
            }else{
                System.out.println("b");
            }
            //从上往下判断
            //如果x为true,则输出a(执行大括号里的操作),且之后的else if判断不再执行
            //如果x为false,则输出b
    
            if(x){
                System.out.println("a");
            }else if (s){
                System.out.println("b");
            }else if (y){
                System.out.println("c");
            }else{
                System.out.println("d");
            }
            //从上往下判断
            //如果x为true,则输出a(执行大括号里的操作),且之后的else if判断不再执行
            //如果x为false但s为true,则输出b,且之后的else if判断不再执行
            //如果x为false且s为false,但y为true,则输出c,且之后的else不再执行
            //如果x为false且s为false且y为false,则输出d
    
  3. 嵌套if语句

            if(x){
                System.out.println("a");
                if(y){
                    System.out.println("b");
                }
            }
            //从上往下,从外向里进行判断
            //如果x为true且y为false则输出a,如果x为true,y为true,则不输出a
            //如果x为true,y为true,输出a和b
            //如果x为false,y为true,不输出
            //如果x为false,y为false,不输出
    

switch多选择结构

  1. 通过switch case实现多选择

  2. switch中的变量支持byte、short、int、char、String(从Java SE 7开始支持String)

  3. case里通过break停止执行(case穿透现象:不加break的话会将后面的东西全部输出,并且会执行default(如果有的话))

  4. 可加可不加:

    default:当case都没有判断成功,则执行default里的内容;

    ​ 当case执行成功了但没有加break停止,则也会执行default里的内容

            //输入s,并将s赋值给grade
            Scanner s = new Scanner(System.in);
            String grade = s.nextLine();
            s.close();
            //判断
            switch (grade){
                case "A":
                    System.out.println("优秀");
                    break;
                case "B":
                    System.out.println("良好");
                    break;
                case "C":
                    System.out.println("差");
                    break;
            }
            //当grade等于A时,输出优秀
            //当grade等于B时,输出良好
            //当grade等于C时,输出差
    
            //输入s,并将s赋值给grade
            Scanner s = new Scanner(System.in);
            String grade = s.nextLine();
            s.close();
            //判断
            switch (grade){
                case "A":
                    System.out.println("优秀");
                    break;
                case "B":
                    System.out.println("良好");
                    break;
                case "C":
                    System.out.println("差");
                    break;
                default:
                    System.out.println("无");
            }
            //当grade等于A时,输出“优秀”
            //当grade等于B时,输出“良好”
            //当grade等于C时,输出“差”
            //当grade不等于A,B,C时,输出“无”
    
            //如果没有break,会导致全部输出,连 default的值也会输出(case穿透现象)
            //输入s,并将s赋值给grade
            Scanner s = new Scanner(System.in);
            String grade = s.nextLine();
            s.close();
            //判断
            switch (grade){
                case "A":
                    System.out.println("优秀");
                case "B":
                    System.out.println("良好");
                case "C":
                    System.out.println("差");
                default:
                    System.out.println("无");
            }
            //当grade等于A时,输出“优秀 良好 差 无”
            //当grade等于B时,输出“良好 差 无”
            //当grade等于C时,输出“差 无”
            //当grade不等于A,B,C时,输出“无”
    

用idea反编译

  1. 反编译:class文件转回java文件

  2. 方式:

    将class文件直接从文件夹放入idea的文件里查看即可

上一篇:VMware安装Ubuntu,配置静态ip并成功联网


下一篇:JavaScript 前端 防抖 节流