选择结构
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
- 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示
-
语法:
if表达式是布尔型表达式,其结果为ture或false
if语句流程图如下:
package com.kuangstudy.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();
if (s.equals("Hello")){
System.out.println(s);
}
System.out.println("END");
scanner.close();
}
}
if双选择结构
-
if-else语句格式如下:
-
if-else语句流程图如下:
-
package com.kuangstudy.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();
}
}
if多选择结构
-
语句流程图
package com.kuangstudy.struct;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
//考试分数大于60就是及格,小于60就是不及格。
Scanner scanner = new Scanner(System.in);
/*
if 语句至少有1个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("成绩优秀!");
}else if(score<90 && score>=80){
System.out.println("成绩优良!");
}else if(score<80 && score>=70){
System.out.println("成绩中等!");
}else if(score<70 && score>=60){
System.out.println("成绩合格!");
}else if (score<60 && score>=0){
System.out.println("成绩不合格!");
}else {
System.out.println("成绩不合法,请输入有效成绩!");
}
scanner.close();
}
}
嵌套的if结构
- 使用嵌套的 if…else 语句是合法的,也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句,你可以像 if 语句一样嵌套 else if…else
package com.kuangstudy.struct;
import java.util.Scanner;
public class IfDemo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字:");
int score = scanner.nextInt();
if (score<=50){
if (score<=2){
if (score==1){
System.out.println("恭喜才对了!");
}else{
System.out.println("猜错了!");
}
}else{
System.out.println("猜错了!");
}
}else {
System.out.println("猜错了!");
}
scanner.close();
}
}