流程控制语句

判断语句2–if…else

if(关系表达式) {
语句体1;
}else {
语句体2;
}

执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2在这里插入图片描述

选择语句–switch

switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}

执行流程
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结
束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
在这里插入图片描述
switch语句中,表达式的数据类型,可以是byte,short,int,char,enum(枚举),JDK7后可以接收字符串。

public static void main(String[] args) {
//定义变量,判断是星期几
int weekday = 6;
//switch语句实现选择
switch(weekday) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数字有误");
break;
}
}

case的穿透性
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运
行,直到遇到break,或者整体switch结束。

由于case存在穿透性,因此初学者在编写switch语句时,必须要写上break。

循环语句1–for
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}

执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况

for(int x = 0; x < 10; x++) {
System.out.println("HelloWorld"+x);
}
}

在这里插入图片描述

**public static void main(String[] args) {**
//1.定义一个初始化变量,记录累加求和,初始值为0
**int sum = 0;**
//2.利用for循环获取1‐100之间的数字
**for (int i = 1; i <= 100; i++) {**    // **i++前面是分号,说明是单独的,++i和i++一样**
//3.判断获取的数组是奇数还是偶数
**if(i % 2==0){**
//4.如果是偶数就累加求和
**sum += i;**
**}
}**
//5.循环结束之后,打印累加结果
**System.out.println("sum:"+sum);
}**

循环语句2–while

初始化表达式①
while(布尔表达式②){
循环体③
步进表达式④
}

执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句。
④循环后,循环变量的变化情况。
在这里插入图片描述


public static void main(String[] args) {
int i = 1;
while(i<=10){
System.out.println("HelloWorld");
i++;
}
}

循环语句3–do…while

初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);

执行流程
执行顺序:①③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句
④循环后,循环变量的变化情况

在这里插入图片描述


public static void main(String[] args) {
	int x=1;
	do {
		System.out.println("HelloWorld");
		x++;
	}while(x<=10);
}

do…while循环的特点:无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。这样的
循环具有一定的风险性,因此初学者不建议使用do…while循环。

题目:求出1-1000之间的偶数和。

   public static void main(String[] args) {
        int sum = 0;
        for (int i = 1;i <= 1000;i++){
            if (i % 2 == 0){
                sum += i;
            }
        }
        System.out.println(sum);
    }
public static void main(String[] args){
    int sum = 0;  
    int i = 1;
    while (i<=1000){
       if (i % 2 == 0){
       sum += i;
            System.out.println(sum);
       } i++;
    }
  }
   System.out.println("1-1000之间的偶数和"+sum);
}

跳出语句break
使用场景:终止switch或者循环
选择结构switch语句
循环语句
离开使用场景的存在是没有意义的

关于循环的选择建议:
凡是次数确定的场景多用for循环;否则多用while循环。

public static void main(String[] args) {
for (int i = 1; i<=10; i++) {
//需求:打印完两次HelloWorld之后结束循环
if(i == 3){
break;
}
System.out.println("HelloWorld"+i);
}
}

continue
使用场景:结束本次循环,继续下一次的循环

public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//需求:不打印第三次HelloWorld
if(i == 3){
continue;
}
System.out.println("HelloWorld"+i);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值