常见循环语句

选择结构:

条件语句可根据不同的的条件执行不同的语句。条件语句包括if条件语句与switch多分支语句。本章节将向读者介绍条件语句的用法。
if / switch

if语句格式1:
if(最终值为布尔类型的东西【表达式】){
语句体;
}

执行流程:

先计算你的表达式的值,看其是false还是true,如果是true,就执行语句体,如果是false就不执行语句体

if注意事项:

1.你的if里面的表达式,不管是简单还是复杂,里面的最终结果必须是boolean类型

2.如果你的if里面只有一条语句,原则上是可以省略大括号,但是不建议这样去做

if语句格式2:
if(表达式){
语句体1;
}else{
语句体2;
}

执行流程:
1.首先计算表达式的值 看其返回的是false还是true

2.如果是true执行语句体1

3.如果是false执行语句体2

if语句的格式3:
if(表达式1){
语句体1;
}else if(表达式2){
语句体2;
}else if(表达式3){
语句体3;
}else{
语句体n+1;
}

执行流程:
1.先计算表达式1的值,看其返回的结果是true还是false

2.如果是true,执行语句体1 并且结束整个语句

3.如果是false,继续计算表达式2,看其返回的是true还是false(依次类推)

4.如果上面所有的表达式都不成立,那么就执行else的语句体(else可以不写)

if的第二种格式和三目运算符执行的过程几乎一致,如何区别使用:

1、三元运算符能够实现的,if语句的第二种格式都能实现反之,if能够实现的,三目并不一定能够实现

2、三目运算符必须返回一个明确具体数据值。

3、三目运算符里面,原则不能写任何的语句,包括变量、常量、循环等等等,而if则可以几乎写java出了类和方法的所有语句

switch

switch语句的格式:

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

格式的解释:

switch:表示是一个switch的分支结构

表达式:这个地方的表达式是有限定的,byte/short/int/char,JDK5的版本以后支持枚举,JDK7的版本以后支持String

case:后面的常量值需要给表达式的最终结果进行比较

语句体:就是需要被执行的代码

break:表示结束的意思,一旦碰到break 整个switch结束

default:当上面的所有case的值都不匹配的时候,所执行的代码

switch需要注意的实现:

1.case后面跟着的值,必须是常量值 不能是变量,而且同一个switch当中不能出现相同case值

2.break能否省略?可以省略,但是不建议,因为会造成结果的穿透

3.default可以省略吗?可以,但是不建议 因为你没有办法给用户一个友好的错误提示

4.default一定要放在最后面吗?default可以放在switch的任意位置,但是建议一般放在最后面,如果放在任意位置 一定要记得加上break。

那么在平时的开发当中,我们一般是使用if还是switch?

if和switch的区别:

if语句:

a.针对的只能是一个布尔类型的计算

b.if语句针对的是一个范围内的判断

switch:

a.针对的是一个不可变的常量的计算

b.针对的是多个范围内的判断

如果说,你的判断和计算的结果是事先就已经明确和固定的,我们使用switch,如果我们的结果是不明确的,而且代码范围较大 一般使用if语句 switch的代码结构要比if清晰。

while

循环语句就是在满足一定条件的情况下反复执行某一个操作。在Java中提供了3中常用的循环语句,分别是while循环语句、do···while循环语句和for循环语句,下面分别进行介绍。

while循环语句格式:

  while(判断条件语句) {
        循环体语句;
  }

while循环语句扩展格式

 初始化语句;
  while(判断条件语句) {
        循环体语句;
        控制条件语句;
   }

通过这个格式,我们是不是发现几乎跟for循环一致,while循环的区别在哪儿?

使用区别:
如果你想在循环结束之后,继续使用控制条件的那个变量,那么就使用while循环,否则使用for循环。虽然说,for循环也可以单独将变量提出来,但是不建议 因为涉及到一个使用率的问题 因为for循环结束后,这个变量会及时从内存当中消失。

场景的区别:

如果是一个非常明确的范围的数据,我们使用for循环。如果你的数据范围不明确,那么就使用while循环。

do_while循环:

do…while循环语句格式:

基本格式

do {
        循环体语句;
  }while((判断条件语句);

扩展格式

初始化语句;

  do {
        循环体语句;
        控制条件语句;
   } while((判断条件语句);

循环语句的区别:

do…while循环保证最少会执行一次,而for循环和while必须是先判断条件是否成立,然后再去决定是否执行

一般我们使用哪种循环比较多?

优先考虑for循环,其次while循环,最后doWhile循环


for循环

for循环的格式:

for(初始化条件;判断条件语句;控制条件语句){
循环体语句;
}

执行流程:

a.执行初始化条件 int a = 5;

b.执行判断条件语句,看其返回的结果是true还是false,如果是true,就继续执行循环体 a < 50如果是false,就结束循环

c.执行循环体语句

d.执行控制条件语句 a++

e.继续回到b步骤进行执行

注意事项:

1.判断条件语句,不管你写出什么样子,是简单还是复杂 你的结果必须是boolean类型

2.循环体里面的语句如果只有1条,你可以省略大括号 但是不建议

循环控制:

1.break : 结束

2.continue : 中断

3.return : 返回

break常见的使用:

a.swtich

b.所有循环语句

注意:离开上面的场景 无效,同一个作用域当中,break后面不能存在任何的代码

如何使用?

大家都知道跳出单层循环,但如何跳出多层循环还是需要点操作:

1.在外面定义一个开关标记,然后使用标记来判断是否结束

2.使用标签,语法如下:

标签名:循环体{
break 标签名;
}
如:Loop:for(int i=0;i<3;i++){
		for(int j=0;j<6;j++){
			if(j==4){
				break Loop;
			}
		}
}

流程控制语句的介绍大概说到这里;使用复合语句可为变量定义一个有效区域;通过if或switch,可以基于布尔值类型的测试,将程序分成不同的部分;通过while、do···while以及for循环语句,将部分程序重复执行,直到满足某个终止循环的条件。通过学习和之后的练习,读者应该学会在程序中灵活使用流程控制及语句。

你可能感兴趣的:(常见循环语句)