选择结构
if单选泽结构
- 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。
语法
if(布尔表达式){ //如果布尔值表达式为true将执行的语句 }
代码
package struct; import java.util.Scanner; public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个内容:"); String s = scanner.nextLine(); //equals:判断字符串是否相等 if (s.equals("Hello")){ System.out.println(s); } System.out.println("End"); scanner.close(); } }
运行结果
请输入一个内容: Hi End
if双选择结构
语法
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
代码
package struct; import java.util.Scanner; public class IfDemo02 { public static void main(String[] args) { //考试分数大于60分就是及格,小于60分就是不及格。 Scanner scanner = new Scanner(System.in); System.out.println("请输入成绩:"); int score = scanner.nextInt(); if (score>60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close(); } }
运行结果
请输入成绩: 50 不及格
if多选择结构
语法
if(布尔表达式 1){ //如果布尔表达式 1的值为true执行代码 }else if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 }else if(布尔表达式 3){ //如果布尔表达式 3的值为true执行代码 }else{ //如果以上布尔表达式都不为true执行代码 }
代码
package struct; import java.util.Scanner; public class IfDemo03 { public static void main(String[] args) { //考试分数大于60分就是及格,小于60分就是不及格。 Scanner scanner = new Scanner(System.in); /* if 语句至多有一个else语句,else语句在所有的else if 语句之后。 if 语句可以有若干个 else if 语句,它们必须在else 语句之前。 一旦其中一个else if语句检测为true,其他的else if以及else 语句都将跳过执行 */ System.out.println("请输入成绩:"); int score = scanner.nextInt(); if (score == 100) { System.out.println("满分"); } else if (score < 100 && score >= 90) { System.out.println("A级"); } else if (score < 90 && score >= 80) { System.out.println("B级"); } else if (score < 80 && score >= 70) { System.out.println("C级"); } else if (score < 70 && score >= 60) { System.out.println("D级"); } else if (score < 60 && score >= 0) { System.out.println("不及格"); } else { System.out.println("成绩不合法"); } scanner.close(); } }
运行结果
请输入成绩: 96 A级
嵌套的if结构
- 使用嵌套的if...else语句是合法的,也就是说你可以在另一个if 或者else if语句中使用if 或else if语句,你可以像if语句一样嵌套else if...else.
语法
if(布尔表达式 1){ //如果布尔表达式 1 的值为true执行代码 if(布尔表达式 2){ //如果布尔表达式 2的值为true执行代码 } }