流程控制语句

流程控制语句

流程控制语句:

流程,程序的执行流程:

在main方法内,从上至下依次逐行执行

控制,通过控制改变正常的执行流程

语句,

if,

if.else,

if.elseif. switchcase,

while,

dowhile.for等

if

if, 如果,配合关系运算达到某些代码选择执行的效果.

if.else

if, 如果,配合关系运算达到某些代码选择执行的效果

public static void main(String[] args) {
		int age = 27;
		/*
		 * if (布尔表达式) {
		 * 	  执行语句;
		 * } else {
		 *   执行语句;
		 * }
		 * 执行流程:
		 * 1 执行到if,先判断表达式
		 * 2 如果表达式结果为true,执行if后{}内语句,else后内容不再执行
		 * 3 如果表达式结果为false,跳过if后{}语句,而执行else内的内容
		 */
		if (age >= 18 && age <= 70) {
			System.out.println("可以考驾照~");
		} else {
			System.out.println("不行!");
		}
		
		// 1声明两个变量,a,b 输出其中最大值
		int a = 2;
		int b = 11;
		if (a > b) {
			System.out.println("最大值是a = " + a);
		} else {
			System.out.println("最大值是b = " + b);
		}
		
		// 声明三个变量,xyz 输出其中最大值
		int x = 11;
		int y = 22;
		int z = 33;
		if (x > y) {
			if (x > z) {
				System.out.println("最大值是x = " + x);
			} else {
				System.out.println("最大值是z = " + z);
			}
		} else {
			if (y > z) {
				System.out.println("最大值是y = " + y);
			} else {
				System.out.println("最大值是z = " + z);
			}
		}
	}
}

​​​​​​

elseif..

使用if.else语句完成程序: 输入一个数字,是周几,比如是1,输出周一,2输出周二,依次类推,取值范围1-7

	/*
	 * 使用if.else语句完成程序: 
	 * 输入一个数字,是周几,比如是1,输出周一,2输出周二,依次类推,取值范围1-7
	 */
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("输入数字:");
		int num = scanner.nextInt();
		
		if (num >= 1 && num <= 7) {
			if (num == 1) {
				System.out.println("周一,吃米饭");
			} else {
				if (num == 2) {
					System.out.println("周二,吃面条");
				} else {
					if (num == 3) {
						System.out.println("周三,吃麻辣香锅");
					} else {
						if (num == 4) {
							System.out.println("周四,吃胡辣汤");
						} else {
							if (num == 5) {
								System.out.println("周五,吃元宵");
							} else {
								System.out.println("周末,不吃!");
							}
						}
					}
				}
			}
		} else {
			System.out.println("数字不符合要求!");
		}	
	}
}

以上使用if.else语法完成多条件判断时,if..else嵌套很严重,代码不便于阅读

所以,多分支语句推荐使用if.elseif.elseif..else

// ==============================================
		/*
		 * if (布尔表达式1) {
		 * 		执行语句1;
		 * } else if(布尔表达式2) {
		 * 		执行语句2;
		 * } else if(布尔表达式3) {
		 * 		执行语句3;
		 * } ... {
		 *      执行语句n;
		 * } else {
		 * 		执行语句;
		 * }
		 * ---------------
		 * 执行流程:
		 * 1 先判断if后表达式
		 * 2 如果表达式结果为true,执行语句1,后续所有elseif不执行
		 * 3 如果表达式结果为false,跳过语句语句1,去执行第二个判断
		 * 4 如果第二个表达式为true,就执行语句2,
		 *   如果第二个表达式为false,就跳过语句2,执行第三个判断
		 * 5 ...
		 * 6 如果以上所有if判断都是false,就执行最后一个else
		 */
		if (num >= 1 && num <= 7) {
			if (num == 1) {
				System.out.println("11");
			} else if (num == 2) {
				System.out.println("22");
			} else if (num == 3) {
				System.out.println("33");
			} else if (num == 4) {
				System.out.println("44");
			} else if (num == 5) {
				System.out.println("55");
			} else {
				System.out.println("周末");
			}
			
		} else {
			System.out.println("数字不符合条件!");
		}

switch.case

switch.case用来做等值选择

	public static void main(String[] args) {
		// 判断数字是周几
		int a = 1;
		// switch后允许byte,short,int,char,String,枚举
		switch(a){
		case 1: // case后是定值,类型要与switch后的值一致,后面是冒号
			System.out.println("周一");
			break;// 没有break,会造成case击穿
			      // 有break,会打断当前switch结构不再执行
		case 2:
			System.out.println("周二");
			break;
		case 3:
			System.out.println("周三");
			break;
		default:// default最后执行
			System.out.println("其他值!");
		}
		System.out.println("这是switchcase后");
		/*
		 * 1 switch后的值,与case的值做等值判断
		 * 2 如果相等,就会执行case内部的代码,
		 *   遇到break,switchcase结构不再执行
		 * 3 如果不相等,就执行下一个case做等值判断
		 * 4 ...
		 * 5 如果以上所有case都不相等,直接执行default内的内容
		 */
	}
}

循环

有些场景是需要某些代码重复执行的.

while循环

do.while循环

for循环

while循环

	public static void main(String[] args) {
		/*
		 * while (布尔表达式) {
		 * 	 执行代码;
		 * }
		 * -------------------
		 * 1 当执行到while后,判断表达式
		 * 2 如果表达式结果为true,就执行{}内的语句
		 *   执行后,回头执行while内的判断
		 * 3 如果为true,继续执行{}内内容,然后继续回头判断....
		 *   只有改变变量,让判断为false,跳出循环
		 */
		int i = 1;
		while (i <= 10) {
			System.out.println("元宵节快乐!");
			i++;
		}
		
		System.out.println("i = " + i);
		/*
		 * 总结套路(循环四要素):
		 * 1 循环初始值
		 * 2 循环控制条件
		 * 3 循环体
		 * 4 循环迭代
		 */
		// 打印1-10
		int j = 1;
		while (j <= 10) {
			System.out.println("j = " + j);
			j++;
		}
		//10-1
		int k = 10;
		while (k > 0) {
			System.out.println("k = " + k);
			k--;
		}
		
		//输出1-100中的偶数
		int m = 1;
		while (m <= 100) {
			// 判断是否是偶数
			if (m % 2 == 0) {
				System.out.print(m+" ");
			}
			// 每10次换一行
			if (m % 10 == 0) {
				System.out.println();
			}
			m++;
		}

do.while

先执行后判断 

	public static void main(String[] args) {
		/*
		 * do{
		 * 	循环体;
		 * } while(布尔表达式);
		 * -------
		 * 1 先执行do内代码
		 * 2 然后再判断表达式
		 * 3 结果为对,再回头执行do内代码
		 * 4 继续判断表达式,直到判断为false跳过循环
		 */
		int i = 1;
		do {
			System.out.println("马上大扫除,10分钟搞定!");
			i++;
		} while(i <= 10);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值