第一部分 语法基础篇
第三章 流程控制语句
3.1顺序结构:
顺序结构是最简单的程序结构,也是最常用的程序结构,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
3.2分支结构:
学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的功能,嵌套结构也就不难了。嵌套只不过是分支中又包括分支语句而已,不是新知识,只要对双分支的理解清楚,分支嵌套是不难的。下面我介绍几种基本的分支结构。
单分支if语句:
...CodeA
if (布尔表达式) {
语句组;
}
...CodeB
双分支if-else语句:
...CodeA
if (布尔表达式) {
语句组A;
} else {
语句组B;
}
....CodeB
多分支if-else-if语句:
...CodeA
if (布尔表达式1) {
语句组A;
} else if (布尔表达式2) {
语句组B;
} else if (布尔表达式3) {
语句组C;
} else {
语句组D;
}
...CodeB
switch分支语句:
if分支语句一样,都是对条件的判断。switch一般用在条件较多的情况下,但是有一个重要的细节,if语言可以对区间值或固定值进行判断,switch只能对固定值进行判断。
switch (变量) {
case 值1: //if (变量==值1) {语句组A;}
语句组A;
break;
case 值2:
语句组B;
break;
...
case 值n: //if (变量==值n) {语句组N;}
语句组N;
default: // else {语句组N+1;}
语句组N+1;
break;
switch的一些使用细节:
switch所传入的变量,char,byte,short,int,String或者枚举类型,值1,值2,一直到值n,这几个值必须是同一个数据类型的
当变量匹配的相关case的值的时候,执行case中的语句,直到遇到break结束;如果该case语句中没有break,则继续向下执行,直到遇到另外一个break结束.
3.3循环结构:
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构和先执行后判断的循环结构。
循环的四要素:
1、循环的初始化:循环的第1次执行从哪里开始
2、循环的继续条件:循环从当前轮是否向后执行下一轮
3、循环体:需要被循环执行的部分
4、循环的步长、周期:当前循环到下一轮循环之间的变化
我们常见的循环问题可以分为两大类:
①已知循环次数的 一般用for语句做
②未知循环次数但是已知循环结束条件 一般用while语句做
for循环语句:
for(初始化语句;条件判断;循环变量的控制语句){
//循环体;
}
运行顺序:
(1)执行初始化表达式(只执行一次),通常是定义循环变量语句
(2)判断循环条件,为真往下执行,为假结束循环
(3)执行循环体语句
(4)执行循环变量控制语句,一般是循环变量的自增或自减(++,–)
(5)回到第(2)步,重复这个过程,直到为假时结束循环
while循环语句:
①while循环主要用于解决循环次数未知,但循环结束条件已知的情况。
②while其实和for循环是可以相互转换的,是因为都逃不开循环四要素。
格式:
//1.循环的初始化
while (//2.循环继续条件) {
//3.循环体
//4.循环的步长、周期
}
do-while循环:
[初始化语句];
do{
循环体;
[循环变量控制语句];
}while(条件表达式);
特点是:do-while的循环体至少会被执行一次。
死循环:
(1)while(true){…}
(2)for( ; ; ){…}
注:程序不执行死循环之后的任何语句,因为执行不到。
break、continue跳转语句:
①break在循环语句中叫做终止语句,终止的是break最近的一层循环
②continue在循环语句中叫做跳过语句,跳过本次循环开启下一轮循环
另外循环还可以进行嵌套,这里暂且不讨论。