目录
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组
合成能完成一定功能的小逻辑模块。
java中流程分为 三类 顺序结构,分支结构,循环结构.
今天主要介绍java中两种分支结构
分支结构一:
格式一:
if(条件表达式){
执行代码块;
}
格式二:
if (条件表达式){
执行代码块 1 ;
}else{
执行代码块 2;
}
格式三:
if (条件表达式1){
执行代码块 1 ;
}else if (条件表达式2){
执行代码块2;
}else if (条件表达式3){
执行代码块3;
}
…………
else{
语句n;
}
使用说明
条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
语句块只有一条执行语句时,一对{}可以省略,但建议保留
if-else语句结构,根据需要可以嵌套使用
当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
当多个条件是“包含”关系时,“小上大下 / 子上父下”。
分支结构二:
switch语句有关规则
switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,
char,int,枚举 (jdk 5.0),String (jdk 7.0);
case子句中的值必须是常量,不能是变量名或不确定的表达式值;
同一个switch语句,所有case子句中的常量值互不相同;
break语句用来在执行完一个case分支后使程序跳出switch语句块;如
果没有break,程序会顺序执行到switch结尾
default子句是可任选的。同时,位置也是灵活的。当没有匹配的case时,
执行default。
格式:
switch ( 表达式){
case 常量1:
语句 1;
// break;
case 常量2:
语句 2;
// break;
……
case 常量N:
语句 N;
// break;
default:
语句 ;
// break;
}
举例
/**
*输入月份,判断这一月是什么季节
*/
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个月份:");
int month = scanner.nextInt();
if (month > 12 || month < 1 ){
System.out.println("输入错误,程序结束!");
return;
}
int season = month/ 3 - 2;
String str = "";
switch (season) {
case -2:
str = "winter";
break;
case -1:
str = "spring";
break;
case 0:
str = "sunmmer";
break;
case 1:
case 2:
str = "autumn";
break;
default:
System.out.println("我也不知道这是什么天气!!可能一天如四季吧!");
break;
}
System.out.println(month + "月份,是"+str);
}
}