java基础梳理四:流程结构

程序的流程结构:顺序结构、选择结构、循环结构

1、顺序结构:从上往下,顺序执行// if语句

2、选择结构:if语句;switch语句

① if语句

 形式1、if(比较表达式) {...}

// 注意:
i、比较表达式的结果必须是一个boolean类型的值

ii、if语句如果不使用花括号,影响范围只有其后的一句

iii、if语句后如果只有一条语句,可以省略花括号。不建议省略

形式2、if(比较表达式) {...} else {...}

这种形式的if语句和三元运算符的效果差不多


 形式3:
 if(比较表达式1) {...} 
 else if(比较表达式2) {...} 
 else if(比较表达式3) {...}
  ...
 else {...}
执行时,依次判断每一个比较表达式是否为true,如果为true,就执行该if语句块中的内容,如果都不为true,执行else语句块中的内容

注意:else if之间有一个空格


②选择结构:switch语句

switch(变量或表达式) { case 值1: 语句内容1 break; case 值2: 语句内容2 break; ...

default: 语句内容default break; }


// 注意:
Ⅰ 、switch后括号中写的内容有一定的限制
byte、short、int、long、char;在JDK1.5以后可以写枚举;在JDK1.7以后可以写字符串
Ⅱ、case:后面的值是拿来和switch括号内的内容进行比较的,当比较结果为true时,会执行该case块中的语句
Ⅲ、break:英文是中断的意思,也就是说后续都不做了,作用范围到switch的右侧花括号截至,switch语句后续的语句无影响
Ⅳ、default:英文是默认的意思,如果case条件的值都不能匹配switch括号中的值,那么执行default内的语句
Ⅴ、switch语句中可以没有default,但是建议加上default

Ⅵ、switch语句中可以只有default,表示默认就执行该default中的语句内容


int i = 2;


switch (i) {
case 1:
System.out.println("i为1");
break;
case 2:
System.out.println("i为2");
break;
case 3:
System.out.println("i为3");
break;
default:
break;
}

switch (i) {
default:
System.out.println("只有default,没有case");
break;
}

System.out.println("这里还是执行的");


注意:
Ⅰ 、case的值不能重复
Ⅱ、default不是非要放在switch语句中的最后,可以放在其他的位置,只是习惯性放在最后(无论放在哪,都先匹配case)

Ⅲ、作为最后位置的default,可以不写break,但是建议都写上


特别注意:
Ⅰ 、switch中,case需要结合break使用,如果只写case不写其相应的break,会发生“case击穿”
Ⅱ、如果case没有对应的break,当该case条件满足时,执行该case中的语句内容,并一直向下执行(无视其他case条件),直到遇见break为止

Ⅲ、如果一路没有遇见break,以作用域右侧的大括号作为执行结束的依据

int i = 2;
switch (i) {
case 1:
System.out.println("这是1");
break;
case 2:
System.out.println("这是2");
case 3:
System.out.println("这是3");
break;
default:
System.out.println("都不是");

}

System.out.println("这里执行不执行?");

执行结果:

这是2
这是3
都不是

这里执行不执行?



3、循环

①while(表达式){}

②do {...} while();

// do..while 和 while的区别:

Ⅰ 、while条件写在前面,上来就先判断条件是否满足,满足才执行;

      do while条件写在后面,上来先执行,再判断一下条件是否满足,满足继续循环。do while循环可能会比while多执行一次

Ⅱ、while循环就是一个语句块;dowhile循环写完后,后面还有一个分号,不写分号就有语法错误


int i = 0;

while (i < 1) {

System.out.println(i);
i++;
}

do {
System.out.println(i);
i++;

} while (i < 1);


③ for 

格式:

for(int i=0;i<args.length;i++){
}
口诀:左初值,右步长,条件在中间


for循环的执行顺序:
第一次:
1、先执行初值的声明与赋值
2、进行条件判断,是否满足
3、(如果条件满足)进入循环体执行语句

4、执行循环体内容后,再做步长,控制左边变量的变化幅度

第二次的条件判断

1、2、3、4;


break语句
Ⅰ 、switch语句中,结合case条件或是default条件,起的是跳出选择语句的作用

Ⅱ、break用在循环中,起的跳出循环结构的作用,使用break,就不再循环了

continue语句
Ⅰ 、写在continue语句之后的语句都会提示语法错误,无法到达的代码

Ⅱ、continue语句表示跳出当前当次循环


// 循环语句中死循环写法的总结
while (true) {
System.out.println("while的死循环写法");
}


do {
System.out.println("do...while的死循环写法");
} while (true);

for (;;) {
System.out.println("for的死循环写法");
 }


猜你喜欢

转载自blog.csdn.net/qq_36987708/article/details/80791640