天天看点

两个if 一个else,怎么匹配

文章目录

    • if
    • else if
    • else
    • 注意:
      • 测试1:
        • 解读:
      • 测试2:
        • 解读:

if

  • 如果if中的条件满足,就可以执行
  • if无论是否满足条件都会向下执行,直到程序结束
  • 双if是每一个if都会进行判断,互相之间不会影响;

else if

  • 很特殊,既要满足是else,又要满足if条件
  • 即不是上一个条件的前提下,如果满足这个条件,就执行里面的操作。
  • else if 满足一个条件就会停止执行。

else

  • 总是与其前面最近的尚未配对的if结合

注意:

有多个if时,由于if都会执行一遍,则可能会进入到多个if中,出现未知错误,而else if就只能进入一次

测试1:

Scanner scanner=new Scanner(System.in);
        int input=scanner.nextInt();
        if(input==1){
            System.out.println("第一个if");
        }
        if(input!=1){
            System.out.println("第二个if");
        }
        else{
            System.out.println("else");
        }
           

输入1时,输出结果为:

第一个if
else
           

解读:

  • 1满足第一个if的条件,所以可以输出
  • 1不满足第二个if的条件,而else和最近的if(即第二个if)配对,所以又进入到了else分支

测试2:

Scanner scanner=new Scanner(System.in);
        int input=scanner.nextInt();
        if(input!=1){
            System.out.println("第一个if");
        }
        else if(input==1){
            System.out.println("第二个if");
        }
        else{
            System.out.println("else");
        }


           

输入2时:

解读:

  • 这三个分支只能进入一个
  • 执行完一个就结束了