决策分支——if判断语句

1.if条件语句

  语法:if(布尔表达式){语句;}  以判断一个数是不是偶数为例:

int num=6;
if(num%2==0) {
    System.out.println(num+"是偶数");
  System.out.println("num的值是:"+num);
}

  num的值为6,表达式“num%2==0”的结果为真,因此执行大括号内的语句,输出6是偶数。当if语句之后没有大括号时,判断表达式的真假后选择是否执行if语句后第一个分号前的内容,例如:

int num=5;
if(num%2==0)
    System.out.println(num+"是偶数");
System.out.println("num的值是:"+num);

  在判断表达式“num%2==0”的结果为假后,不执行语句System.out.println(num+"是偶数"),执行后面的语句System.out.println("num的值是:"+num)。

  语法:if(布尔表达式){语句1;}  else{语句2;} 以判断数学分数是否及格为例:

int math=69;
if(math>=60) {
    System.out.println("数学成绩为:"+math+" 及格");
}else {
    System.out.println("数学成绩为:"+math+" 不及格");
}

  当表达式为真时执行语句1,否则则执行语句2。当一段代码中只有一个else而有多个if时,else会与上一个if自动组成if else语句,例如:

int math=68;
if(math<60)
    System.out.println("数学成绩为:"+math+" 不及格");
    if(true)
        System.out.println("还需努力");
else 
    System.out.println("数学成绩为:"+math+" 及格");
        

  在这段代码中,else语句与第二个if语句联合使用,组成判断语句,由于该if语句中表达式的值恒为“true”,所以这个if else语句只会输出“还需努力”,永远不能执行else后的语句,那是一个死代码。而显然,我们需要的是在执行第一个if语句后,判断math的值小于60是否为真,为真的情况下输出“还需努力”,因此需要为第一个if语句后的代码加上大括号,例如:

int math = 68;
if (math < 60) {
    System.out.println("数学成绩为:" + math + " 不及格");
    if (true)
        System.out.println("还需努力");
} else
    System.out.println("数学成绩为:" + math + " 及格");

  这样,就可以在math的值小于60为真的情况下输出“还需努力”。

  else关键字不能单独使用,必须和关键字if一起使用。多分支if else语法:if(表达式1){语句1;}else if(表达式2){语句2;}...else{语句m;} 例如:

int math = 78;
if (math > 90 && math <= 100)
    System.out.println("您的评价:A");
else if (math > 80)
    System.out.println("您的评价:B");
else if (math > 60)
    System.out.println("您的评价:C");
else
    System.out.println("您的评价:D");

 

posted @ 2021-02-19 14:40  zhang136139613  阅读(217)  评论(0)    收藏  举报