什么是流程控制:
流程控制用来控制程序中各语句的执行顺序
一、if 选择结构
1. 基本if结构
if(条件){
//代码块;
}
示例:小明的成绩大于90,则输出 “优秀”。
运行结果:
除了要实现条件成立执行的操作以外,还要实现条件不成立时执行的操作,例如:小明的成绩为85(小于90分),那么怎样表示这种结构呢?
2. if…else…结构
if (条件)
{
语句块1;
}
else
{
语句块2;
}
如果条件为真,执行 if 后面的一个语句或一组语句;
如果条件为假,则执行 else 后面的语句。
示例:
小明的成绩大于90,则输出 “优秀”;小于90分,则输出“良好”。
运行结果:
除了要实现条件成立执行的操作以外,还要实现条件不成立时执行的操作,例如:小明的成绩为60(小于90分,且小于80分),那么怎样表示这种结构呢?
3. if…else if…else…结构
if(条件 1)
{
代码块 1
}
else if(条件 2)
{
代码块 2
}
else
{
代码块 3
}
示例:对小明成绩进行评测,成绩>90为优秀,成绩>80 为良好,成绩>60 为中等,成绩<60 为差。
运行结果:
4. if嵌套结构
if(条件 1){
if(条件 2){
代码块 1
}else{
代码块 2
}
}else{
代码块 3
}
示例:Java游戏世界,杜绝未满18岁的人员进入,满18岁,大于80岁的自动跳转至养生频道。
这里提供了一个练习,大家可以试着做下:
输入三个整数,如果这三个整数都相等,那么输出“这三个数相等”。否则再判断这三个数之和是否大于1000,如果大于1000输出“这三个数之和大于1000”,否则输出“这三个数之和不大于1000”。
二、switch 选择结构
switch (表达式)
{
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;
default:
语句;
}
示例1:输入1.2.3名次,查看奖励。
运行结果:
示例2:输入一个月份,判断该月份所属季节。春(2、3、4);夏(5、6、7);秋(8、9、10);冬(11、12、1)。
代码:
public static void main(String[] args) {
System.out.print("请输入月份: ");
Scanner input = new Scanner(System.in);
int list = input.nextInt();
switch (list){
case 2:
case 3:
case 4:
System.out.println(“春季”);
break;
case 5:
case 6:
case 7:
System.out.println(“夏季”);
break;
case 8:
case 9:
case 10:
System.out.println(“秋季”);
break;
case 1:
case 11:
case 12:
System.out.println(“冬季”);
break;
default:
System.out.println(“请输入正确月份”);
}
}
运行结果:
三、选择分支小节
相同点
都是用来处理多分支条件的结构。
不同点
– 多重if结构和switch结构都可以用来实现多路分支
– 多重if结构用来实现两路、三路分支比较方便,而switch结构实现三路以上分支比较方便
– 在使用switch结构时,应注意case语句后面必须是常量表达式
– 有些问题只能使用多重if结构来实现,例如要判断一个值是否处在某个区间的情况,当要进行值比较使用switch比较方便