在Java基础中,主要应用到的分支结构语句有四种:if语句,if-else语句,if-else if语句,以及switch-case语句。
1.if语句 1.1语法格式if (表达式) {
//语句体
}
1.2代码示例注意事项:表达式结果是一个布尔类型数据。
执行流程:若表达式结果为true,则执行大括号中的语句体;若表达式结果为false,则跳过if条件句,代码继续向下执行。
public class Demo1 {
public static void main(String[] args) {
int money1 = 13;
if (money1 > 11) {
System.out.println("富豪,请客!!!");
}
System.out.println("啦啦啦啦啦~~~");
//输出结果:富豪,请客!!!啦啦啦啦啦~~~
int money2 = 10;
if (money2 > 11) {
System.out.println("富豪,请客!!!");
}
System.out.println("啦啦啦啦啦~~~");
//输出结果:啦啦啦啦啦~~~
}
}
2.if-else语句
2.1语法格式
if (表达式) {
//语句体1
} else {
//语句体2
}
2.2代码示例注意事项:表达式结果是一个布尔类型数据。
执行流程:首先判断表达式,如果表达式结果为true,则执行语句体1;如果表达式结果为false,则执行语句体2。
//判断输入的年份是否是闰年
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
System.out.println("是闰年");
} else {
System.out.println("不是闰年");
}
}
}
3.if-else if语句
3.1语法格式
if (表达式1) {
语句体1;
} else if (表达式2) {
语句体2;
} else {
语句体3;
}
3.2代码示例注意事项:表达式结果为布尔类型数据
执行流程:首先判断表达式1,如果表达式1结果为true,就执行语句体1,后面的代码直接跳过。如果表达式1为false,则接着判断表达式2,若其结果为true,则执行语句体2,以此类推。
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = sc.nextInt();
//数据合法性判断
if (score > 100 || score < 0) {
System.out.println("您输入的成绩有误!");
//退出当前程序,之后的代码不再执行
System.exit(0);
}
if (score >= 90 && score <= 100) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 70) {
System.out.println("一般");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("叫家长!!!");
}
}
}
4.switch-case语句
4.1语法格式
switch (表达式) {
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
case 常量3:
语句体3;
break;
……
default:
语句体n;
break;
}
4.2代码示例注意事项:
1.表达式的数据类型可以是int,short,byte,char,String,enum。
2.在switch- case语句体中,能够执行的代码有且只能是case之后或者default之后的代码,其他代码都不可以执行。
执行流程:将switch后面的表达式值与case之后的常量进行匹配,匹配成功则执行相应语句体,否则执行default语句体。
break关键字:其作用是结束执行,跳出此分支结构。
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = sc.nextInt();
//数据合法性判断
if (score > 100 || score < 0) {
System.out.println("您输入的成绩有误!");
//退出当前程序,之后的代码不再执行
System.exit(0);
}
switch (score / 10) {
case 10:
System.out.println("优秀");
break;
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("一般");
break;
case 6:
System.out.println("及格");
break;
default:
System.out.println("叫家长!!!");
break;
}
}
}



