独到理解@Java流程控制结构

流程控制结构

  • 程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。程序可以通过控制语句来对程序实现选择、循环、转向和返回等流程控制。
  • 程序控制结构包括:顺序结构、分支结构、循环结构。

顺序结构

顺序结构程序就是按语句出现的先后顺序执行的程序结构。计算机按顺序逐条执行语句,当一条语句执行完毕,自动转到下一条语句。
在这里插入图片描述
示例:

int a = 11; // 第一步
		int b = 2; // 第二步
		int c = a + b; // 第三步
		System.out.println("a+b的结果为:" + c); // 第四步

分支结构

  1. 分支结构又称为选择结构。当程序执行到控制分支语句时,首先判断条件,根据条件表达式的值选择相应的语句执行(放弃另一部分语句的执行)。
  2. 分支结构包括单分支、双分支和多分支三种形式。

单分支

【语法格式】

如果每个分支下都只有一条语句的话,{} 可以省略

If( boolean表达式 ){
真语句;
}

If( boolean表达式 ){
真语句;
}else{
假语句;
}

说明:当语句块为一条语句时,大括号可以省略。只有布尔表达式为true时,才进入if语句中。
【示例】

int age = 20;
if (age >= 18) {
	System.out.println("成年人");
}

双分支

【语法格式】

if(布尔表达式){
语句块;//if分支
}else{
语句块;//else分支
}

【示例】

int age = 20; 
if(age >= 18){ 
    System.out.println("成年人"); 
}else{ 
    System.out.println("未成年人"); 
}

多分支-if-else if-else

【语法格式】

if(布尔表达式){
语句块;
}else if(布尔表达式){
语句块;
}else{
语句块;
}

【示例】

int age = 20; 
if(age >0 && age <=18){ 
    System.out.println("未成年"); 
}else if(age > 18 && age <=40) { 
    System.out.println("青年"); 
}else if(age > 40&& age<=50) { 
     System.out.println("中年"); 
}else if(age > 50) { 
     System.out.println("老年"); 
}else{ 
     System.out.println("见鬼了"); 
}

多分支-switch

【语法格式】

switch (表达式) {
case 值1:
语句;
break;
case 值2:
语句;
break;
default:
语句;
break;
}

1.7以前 只能传入 int值
1.7开始 可以传入字符串

可以传入int 也就意味着 可以传入 byte short char,因为 自动类型转换

注意 分支需要有break;否则会有 case穿透现象

  • 表达式的值只能为:char、byte、short、int类型、String、enum类型,其它类型均非法
  • default语句也可以省略,一般不建议省略,并且放置在最后
int i_1 = 10;
		switch (i_1) {
		case 1:
			i_1 += 1;
		case 2:
			i_1 += 2;
			// 这里符合条件,由于没有 break 所以开始穿透, -直到碰到break或者执行完为止
		case 10:
			i_1 += 10;
		case 11:
			i_1 += 11;
			System.out.println("---");
		case 12:
			i_1 = 1;
			break;
		default:
			i_1 = 0;
		}

Case合并

// case合并
		char c_2 = 'A';
		// 相当于||位或
		// 如果是ABC就执行相同的操作
		switch (c_2) {
		case 'A':
		case 'B':
		case 'D':
			System.out.println("xxx");
			break;
		case 'C':
			System.out.println("xx");
			break;
		}

循环结构

  • 当程序执行到循环控制语句时,根据循环判定条件对一组语句重复执行多次。
  • 循环结构的三个要素:循环变量、循环体和循环终止条件。
  • while、do…while、for三种循环。
    在这里插入图片描述

while语句

while被称为真假循环
【语法格式】

While( boolean表达式 ){
循环体;
}

执行 0~N次
【示例】

int i = 1; 
while(i<=5) { 
  System.out.println(i); 
  i++; 
}

do…while语句

do{
循环体;
}while( boolean表达式);

执行 1~N次
先执行,再判断,能够保证代码执行一次
【示例】

int i = 1; 
do{ 
  System.out.println(i); 
  i++; 
}while(i<=0); //注意分号

For

  • 单循环
    For循环 称为计数循环
    循环 : 重复做某件事/代码
  • 循环三要素 :
    初始值,终止条件,步长
  • 语法结构 :

for( 初始值; 终止条件; 步长 ){
循环体; //一条或多条语句
}

  • 执行 :
    先执行初始值,并且只执行一次 , 然后执行终止条件进行判断
    如果 返回值为false 就终止循环
    如果 返回值为true 就执行 循环体

循环体执行完之后,执行步长 , 然后执行终止条件进行判断
如果 返回值为false 就终止循环
如果 返回值为true 就执行 循环体

然后再次执行步长,终止条件进行判断…
一直到 终止条件 返回值为false 终止

//可以什么都不写但是两个分号必须要有
		//死循环,执行不完
		for(;;){
		System. out.println(1);

注意 一定要有 初始值 终止条件 步长 否则会导致死循环

// 初始值i只能在循环体内使用
		for (int i = 0; i < 5; i++) {
			System.out.println(i);
		}
		// 报错用不了
		// System.out.println();

嵌套循环

  1. 就是在循环体中 还有一个循环
    可以利用嵌套循环 模拟表
    外层循环 可以理解为行
    内层循环 可以理解为列
  2. 外层循环执行一次,内层循环执行一圈
    因为外层循环要把循环体执行完之后 才会去执行 i++步长
    但是循环体内 还有一个循环,那么外层循环体想要执行完,必须先把内层循环执行完才可以
    内层循环没有终止,外层循环的循环体 不算执行完

break语句

强制退出某个循环体,结束循环语句的执行

  1. 用于switch语句中,结束分支语句,避免case穿透现象
  2. 也可以用在循环中,结束循环,但是只能结束距离最近的循环

如果发生嵌套循环,需要使用outerFor来终止外层循环

//break可以终止到break后边标号的位置 ,outerFor可以是任意的标号
outerFor: for (int i = 0; i < 5; i++) {
	for (int j = 0; j < 5; j++) {
		if(j==3) {
			break outerFor;
		}
		System.out.println(j+" ");
	}
	//换行
	System.out.println();
}	

continue语句

终止某次循环过程,跳过continue语下方未执行的代码,开始下一步循环过程

for (int i = 0; i <10 ; i++) {
	if(i==5) {
		//break;
		//终止最近层
		//跳过当前循环,继续下次,直接执行i++
		continue;
	}
	System.out.println(i);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值