Java语言学习笔记04-程序控制结构

本文详细介绍了编程中的顺序结构、分支结构(包括if、else、switch和多分支结构)、以及for、while和dowhile循环的语法、注意事项和控制语句(break、continue和return)。
摘要由CSDN通过智能技术生成

一、顺序结构

程序从上到下逐行地执行,中间没有任何判断和跳转。注意,定义成员变量必须先定义再使用。

二、分支结构

一、单分支结构

if(条件表达式){
	执行代码块;(可以有多条语句)
}

当条件表达式为true时则执行{}内的执行代码块,否则不执行。若{}中只有一条语句可以省略{},但建议写上。

二、双分支结构

if(条件表达式){
	执行代码块1;
}
else{
	执行代码块2;
}

三、多分支结构

if(条件表达式1){
	执行代码块1;
}
else if(条件表达式2){
	执行代码块2;
}
......
else{
	执行代码块n;
}

特别说明:(1)多分支可以没有else,如果前面的所有条件表达式都不成立,则一个执行入口都没有(2)若有else,前面都不成立则执行else

注意:if()内的判断条件若为赋值语句,则以赋值语句的结果来判断。即如if(b = false),则不执行,因为结果是false。注意区别赋值= 和 判断相等==

四、switch分支结构

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

1、注释:

  1. switch关键字表示switch分支
  2. 表达式对应一个值,只要有值返回就算一个表达式,因此里面也可以是一个变量。若其为字符,则要用单引号' '括起来。
  3. case 常量1: 若表达式的值等于常量1,则执行语句块1
  4. break:表示退出switch
  5. 按照顺序由上至下依次匹配case并执行对应语句块,若一个都没匹配上,则执行default语句块。
  6. 穿透:若某个case的语句块后没有跟break,则程序会顺序执行下一个case的语句块,直到遇上break或者进入default语句块。因此,switch结构必须配合break语句进行跳出分支。但有时候,我们会利用穿透的特性来达成多种情况同种输出的效果。
  7. 执行完default后会默认自动退出,故default语句块后的break可加可不加。

2、细节讨论

  1. 表达式的数据类型应该和case后的常量类型保持一致,或是可以自动转成可以相互比较的类型,例如char和int
  2. 表达式的返回值必须是byte、short、int、char、enum、String中的一种
  3. case子句中的值必须是常量或常量表达式而不能是变量

  4. default子句是可选的,当没有匹配的case时执行default

3、if和switch的比较

  1. 若判断具体的数值,且数量不多,而且类型符合上述六种,建议用switch
  2. 对于其他情况,例如区间判断或对boolean类型判断,则用if,其适用范围更广。

三、循环结构

一、for循环控制

一、基本语法

for(循环变量初始化; 循环条件; 循环变量迭代){
    ...;
}

二、注意事项

  1. 循环条件是返回一个布尔值的表达式
  2. for(;循环条件;)中初始化和变量迭代可以写到其他地方,但两边的分号不能省略。若初始化写在for循环体内,则该变量只能在for循环内使用;而若将其写在for循环之外,则作用域变广了。
  3. 循环初始化可以有多条初始化语句,但要求类型一样,且中间必须用逗号隔开。
  4. 变量迭代同样可以有多条,且中间必须用逗号隔开。如for(int i = 0,j = 0; i < count; i++, j += 2)

二、while循环控制

一、基本语法

循环变量初始化;
while(循环条件){
    循环体(语句);
    循环变量迭代;
}

二、注意事项

  1. 循环条件是返回一个布尔值的表达式
  2. while循环时先判断再执行语句

三、dowhile循环控制

一、基本语法

循环变量初始化;
do{
    循环体(语句);
    循环变量迭代;
}while(循环条件);

二、注意事项

  1. dowhile是关键字
  2. 先执行,再判断,至少执行一次
  3. 注意while结束后有分号

四、循环控制语句

1、break

1、需求:循环次数不知道,但满足某种条件时退出循环,则可以利用break语句。

2、基本介绍:用于终止某个语句块的执行,一般用在switch或循环中。会跳出当前语句块/循环。

3、使用细节:break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的时哪一层语句块。

标签的基本使用:

label1:{...
label2:      {...
label3:          {...
			break label2;
			...
		    }
	    }
	}

break语句可以指定退出哪层。

label则是标签,名字由程序员指定

如果没有指定label,则默认退出最近一层循环体(即上面例子中默认break label3)。但实际开发中尽量不要使用标签。

标签也可以写成别的东西,只要满足标识符的命名规则即可。

如:abs:

2、continue

用于结束本次循环,继续执行下一次循环。同样可以用标签指明要跳出的循环是哪一层。

3、return

使用在方法中表示跳出所在的方法。使用在main方法中会退出程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值