Faith学习笔记:JAVA基础(4) -- 流程控制语句

一、判断语句

1)if

	if(关系表达式){
		语句体;
	}
  • 执行流程
  1. 首先判断关系表达式看其结果是true还是false
  2. 如果是true就执行语句体
  3. 如果是false就不执行语句体
    在这里插入图片描述
  • 例子
public class Test01{
	public static void main(String[] args){
		System.out.println("开始");
		int a = 10;
		int b = 20;

		if(a == b){
			System.out.println("a等于b")}
		int c = 10;
		if(a == c){
			System.out.println("a等于c")}
		System.out.println("结束");
	}
}

2)if…else

	if(关系表达式){
		语句体1;
	}else {
		语句体2;
	}
  • 执行流程
  1. 首先判断关系表达式看其结果是true还是false
  2. 如果是true就执行语句体1
  3. 如果是false就执行语句体2
    在这里插入图片描述
  • 例子
public class Test02{
	public static void main(String[] args){
		 // 判断给定的数据是奇数还是偶数 
		 // 定义变量 
		 int a = 1; 
		 if(a % 2 == 0) {
		  System.out.println("a是偶数");
		} else{ 
		System.out.println("a是奇数");
		} 
		System.out.println("结束");
	}
}

3)if…else if… else

	if (判断条件1) { 
		执行语句1;
	} else if (判断条件2) { 
		执行语句2;
	} 
	... 
	}else if (判断条件n) { 
		执行语句n;
	} else { 
		执行语句n+1;
	}
  • 执行流程
  1. 首先判断关系表达式1看其结果是true还是false
  2. 如果是true就执行语句体1
  3. 如果是false就继续判断关系表达式2看其结果是true还是false
  4. 如果是true就执行语句体2
  5. 如果是false就继续判断关系表达式…看其结果是true还是false
  6. 如果没有任何关系表达式为true,就执行语句体n+1。
    在这里插入图片描述
  • 例子
public class Test03{
	public static void main(String[] args) { 
		// x和y的关系满足如下:
		// x>=3 y = 2x + 1; 
		//‐1<=x<3 y = 2x; 
		// x<=‐1 y = 2x – 1;
		// 根据给定的x的值,计算出y的值并输出。 
		// 定义变量 
		int x = 5; 
		int y;
		if (x>= 3) { 
			y = 2 * x + 1;
		} else if (x >=1 && x < 3) {
		 	y = 2 * x;
		} else {
		 	y = 2 * x ‐ 1;
		} 
		System.out.println("y的值是:"+y);
	}
}

4)if语句和三元运算符的互换

在某些简单的应用中,if语句是可以和三元运算符互换使用的。

public class Test04{
	public static void main(String[] args) { 
		int a = 10; 
		int b = 20; 
		//定义变量,保存a和b的较大值 
		int c; 
		if(a > b) { 
			c = a;
		} else { 
			c = b;
		} 
		//可以上述功能改写为三元运算符形式 
		c = a > b ? a:b;
	}
}

二、选择语句

1)switch

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

三、循环语句

1)for

	for(初始化表达式①; 布尔表达式②; 步进表达式④){
		 循环体③
	}
  • 执行流程
  1. 执行顺序:①②③④>②③④>②③④…②不满足为止。
  2. ①负责完成循环变量初始化
  3. ②负责判断是否满足循环条件,不满足则跳出循环
  4. ③具体执行的语句
  5. ④循环后,循环条件所涉及变量的变化情况
    在这里插入图片描述

2)while

	初始化表达式① 
	while(布尔表达式②){ 
		循环体③ 
		步进表达式④
}
  • 执行流程
  1. 执行顺序:①②③④>②③④>②③④…②不满足为止。
  2. ①负责完成循环变量初始化。
  3. ②负责判断是否满足循环条件,不满足则跳出循环。
  4. ③具体执行的语句。
  5. ④循环后,循环变量的变化情况。
    在这里插入图片描述

3)do…while

	初始化表达式① 
		do{
			 循环体③ 
			 步进表达式④
}while(布尔表达式②);
  • 执行流程
  1. 执行顺序:①③④>②③④>②③④…②不满足为止。
  2. ①负责完成循环变量初始化。
  3. ②负责判断是否满足循环条件,不满足则跳出循环。
  4. ③具体执行的语句
  5. ④循环后,循环变量的变化情况
    在这里插入图片描述
  • 特点:无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。

4)循环语句的区别

  • forwhile 的小区别:
  1. 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继 续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消 失,能够提高内存的使用效率。
  2. 已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。

四、跳出语句

1)break

  • 使用场景:终止switch或者循环

2)continue

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

五、扩展知识点

1)死循环

  • 特点:循环中的条件永远为true,死循环的是永不结束的循环。

2)嵌套循环

for(初始化表达式①; 循环条件②; 步进表达式⑦) {
	 for(初始化表达式③; 循环条件④; 步进表达式⑥) {
	 	 执行语句⑤;
	} 
}
  • 嵌套循环执行流程:
  1. 执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥
  2. 外循环一次,内循环多次。

六、课后练习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值