控制流程语句包含以下几种:
1、if - else 语句
2、switch 语句
2、循环语句: while和for
3、break和continue语句
if - else 语句:(判断语句)
格式一: 只适用于一种情况下去使用。
if(判断条件){
符合条件执行的代码;
}
格式二:适用于两种情况下去使用
if(判断条件){
符合条件执行的代码
}else{
不符合条件执行 的 代码
}
格式三: 适用于多种情况使用的
if(判断条件1){
符合条件1执行的 语句;
}else if(判断条件2){
符合条件2执行 的语句;
}else if(判断条件3){
符合条件3执行 的语句;
}else if(判断条件4){
符合条件4执行 的语句;
}......else{
都不符合上述 条件执行的代码...
}
switch 语句
当需要判断多种情况的时候,用if - else 语句比较繁琐。此时适合用switch语句。
1、格式:
switch(你的选择){
case 值1:
符合值1执行的代码
break;
case 值2:
符合值 2执行的代码
break;
case 值3:
符合值 3执行的代码
break;
case 值4:
符合值 4执行的代码
break;
......
default:
你的选择都符合上述的选项时执行的代码;
break;
}
2、注意事项
(1) switch语句使用的变量只能是byte、 char、 short、int、 String数据类型,String数据类型是从jdk7.0的时候开始支持的。
(2) case后面跟的数据必须是一个常量。
(3) switch的停止条件:
switch语句一旦匹配上了其中的一个case语句,那么就会执行对应的case中的语句代码,执行完毕之后如果没有
遇到break关键字或者是结束switch语句的大括号,那么switch语句不会再判断,按照代码的顺序从上往下执行
所有的代码。直到遇到break或者是结束siwitch语句的大括号为止。(贯穿效果)
(4) 在switch语句中不管代码的顺序如何,永远都是会先判断case语句,然后没有符合的情况下才会执行default语句。
3、优缺点:
switch语句的优点:switch语句的结构清晰。
switch缺点:如果 判断的条件是一个区间范围的,使用switch操作就非常的麻烦了。
4、代码示例:
需求: 接受键盘录入一个月份, 根据对应的月份输出对应的季节。
345 春天
678 夏天
9 10 11 秋天
1 2 12 冬天
要求使用switch语句实现。
import java.util.*;
class Demo4
{
public static void main(String[] args)
{
System.out.println("请输入一个月份:");
//创建一个扫描器
Scanner scanner = new Scanner(System.in);
//调用扫描器的nextInt方法
int month = scanner.nextInt();
switch(month){
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
case 12:
case 1:
case 2:
System.out.println("冬天");
break;
default:
System.out.println("没有对应的季节");
break;
}
}
}
循环语句
一、while循环
1、格式:
while(循环的条件){
循环语句;
}
2、while循环语句要注意的事项:
(1) while循环语句一般是通过一个变量控制其循环的次数。
(2) while循环语句的循环体代码如果只有一个语句的时候,那么可以省略大括号。但是也是不建议大家省略。
(3) while循环语句的判断条件后面不能跟有分号,否则会影响到执行的效果。
二、do - while循环
格式:
do{
循环语句;
}while(判断条件);
while循环语句与do-while循环语句的区别:
while循环语句是先判断后执行循环语句的;
do-while循环语句是先执行,后判断。不管条件是否满足至少会执行一次;
三、for循环
格式:
for(初始化语句;判断语句;循环后的语句){
循环语句;
}
for循环语句 要注意的事项:
1. for(;;)这种写法 是一个死循环语句,相当于while(true);
2. for循环语句的初始化语句只会执行一次,只是在第一次循环的时候执行而已。
3. for循环语句的循环体语句只有一句的时候,可以省略大括号不写。但是不建议省略。
break和continue语句
break:
适用范围:
只能用于switch或者是循环语句中。
作用:
1. break用于switch语句的作用是结束一个switch语句。
2. break用于循环语句中的作用是结束当前所在的循环语句。
continue:
适用范围:
continue只能用于循环语句。
作用:
continue的作用是跳过本次的循环体内容。继续下一次。
注意的事项:
1. 在一种情况下,continue后面不能跟有其他语句,因为是永远都无法执行到。
2. continue 也可以配合标记使用的。
标记用法:
标记的格式:
标记名字: 语句
break 和 continue 都可以结合标记使用。示例如下:
class BreakDemo
{
public static void main(String[] args)
{
aaa:for(int j = 0 ; j<3 ; j++){ // j=0 外层for循环
bbb:for(int i = 0 ; i< 2 ; i++){ // i=0 内层for循环
System.out.println("hello world"); // 1
break aaa;
}
}
}
}
class ContinueDemo
{
public static void main(String[] args)
{
aaa:for(int j = 0 ; j<3 ; j++){ // j=0 外层for循环
bbb:for(int i = 0 ; i< 2 ; i++){ // i=0 内层for循环
System.out.println("hello world"); // 1
continue aaa;
}
}
}
}