4、程序的结构

程序的结构

1.顺序结构
程序在运行的时候会按照从上到下、从左到右的顺序一行一行代码的去执行

后两种结构会改变程序的执行流程

2.选择结构
if选择结构

基本语法:

if(条件表达式){
要执行的语句;
}

执行流程:
当条件表达式为true时执行if大括号中的语句,如果条件表达式为false时大括号中的语句不会执行直接跳过运行大括号后面的语句

if-else选择结构
基本语法:

if(条件表达式){
符合条件时执行的语句;
}else{
不符合条件时执行的语句;
}

执行流程:
当条件表达式为true时执行if括号中的语句当条件表达式为false时执行else大括号中的语句

if-else-if选择结构
基本语法:
if(条件表达式1){
代码块1;
}else if(条件表达式2){
代码块2;
}else if(条件表达式3){
代码块3;
}...
else if(条件表达式n){
代码块n;
}else{
代码块n+1;
}

执行流程:
首先判断条件表达式1,如果返回true执行代码块1,然后该选择结构结束,如果返回false则判断条件表达式2,如果条件表达式2返回true执行代码块2,然后该选择结构结束,如果条件表达式2返回false则判断条件表达式3,如果为true执行代码块3......,如果以上所有的条件表达式都返回false则执行else语句中的代码块n+1
嵌套if选择结构

基本语法:

if(条件表达式1){
if(条件表达式2){
代码块1;
}[else{
代码块2;
}]
}[else{
if(条件表达式3){
代码块3;
}[else{
代码块4;
}]
}]
执行流程:如果条件表达式1为true则接着判断条件表达式2,如果条件表达式2为false则执行代码块2,如果为true执行代码块1;如果条件表达式1为false执行else中的语句首先判断条件表达式3,如果为true执行代码块3否则执行代码块4
switch选择结构

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

执行流程:
当表达式的值等于常量1执行语句块1,
当表达式的值等于常量2执行语句块2,
...
如果表达式的值跟所有的常量都不相同则执行default中的语句块n

注意:
1.表达式的数据类型只能为 byte short char int String(在JDK1.7之后新添加的数据类型) 枚举类型
2.每个语句块后面的break可以省略但是省略之后语句块会一直执行直到再次碰到break之后该switch结构才结束


3.循环结构
当重复的做某件事情时用循环结构去解决

while循环

基本语法:
while(条件表达式){
要重复做的事情的语句块;
}

执行流程:

当条件表达式返回true时,进入循环执行语句块,当代码块执行完毕接着去判断条件表达式,当条件表达式返回false时,该循环停止

do-while循环

基本语法:
do{
循环的语句块;
}while(条件表达式);

执行过程:
先执行循环的语句块,执行完毕接着判断条件表达式,如果条件表达式返回true接着去执行循环的语句块,如果条件表达式返回false则该循环结束

do-while循环和while循环的区别
1.while循环先判断后执行,do-while先执行后判断
2.当while的循环条件返回false时循环体一次也不执行
do-while循环会执行一次,即do-while执行会执行一次循环体


for循环
一般用于循环次数是固定

基本语法:

for(初始化表达式;条件表达式;迭代语句){
循环的语句块;
}

注意:在for循环的小括号中有且仅有两个分号

执行流程:
先执行初始化表达式,然后执行条件表达式,当条件表达式返回true时,执行循环的语句块,当循环语句块执行完毕再执行迭代语句,然后条件表达式,如果返回true接着执行循环的语句块,如果返回false则该循环结束


多重循环

基本语法:

for(初始化表达式1;条件表达式1;迭代语句1){
for(初始化表达式2;条件表达式2;迭代语句2){
要循环的语句块;
}

}
外层循环控制行数,内层循环控制每行的列数
执行流程:
先执行外层循环判断条件表达式1,如果返回true进入内层循环,判断内层循环的条件表达式2,如果返回true则执行要循环的语句块,当语句块执行完毕接着判断条件表达式2,如果返回true继续执行,如果返回false再去判断条件表达式1,如果条件表达式1返回true则继续进入内层循环,如果返回false则整个循环结束。即先执行外层循环,再进入内层循环,当内层循环结束再返回外层循环,当外层循环结束,该循环体才结束

break

结束当前的循环,跳出当前的循环该循环不会执行
如果在双重循环中使用时,break在内层循环中结束内层循环对外层循环没有影响,如果在外层循环中,结束外层循环,对内层循环没有影响

continue
跳过当次循环,进入下一次循环,该循环没有结束

如果在内层循环中,结束的是内层的循环的当次循环,进入内层循环的下一次循环,对外层循环没有影响,如果在外层使用则结束的外层循环的当次循环,进入外层循环的下一次循环,对内层循环没有影响

猜你喜欢

转载自blog.csdn.net/weixin_42567749/article/details/81019894