Java学习笔记(第5章 P104-P154)(第6章 P155-P190)
第5章 程序控制结构
- 在程序中,程序运行的流程控制决定是如何执行的,使我们必须掌握的,主要有三大流程控制语句。
1)顺序控制
2)分支控制
3)循环控制
顺序控制
- 顺序控制介绍
程序从上到下逐行地执行,中间没有任何判断和跳转。
分支控制
分支控制if-else
-
分支控制if-else介绍
让程序有选择的执行,分支控制有三种
1)单分支
2)双分支
3)多分支 -
单分支
√基本语法
if(条件表达式){
执行代码块;(可以有多条语句)
}
说明:当条件表达式为true时,就会执行{}的代码。如果为fasle,就不执行。特别说明,如果{}中只有一条语句,则可以不用{},建议写上{}
- 双分支
√基本语法
if(条件表达式){
执行代码块1;
}
else{
执行代码块2;
}
说明: 当条件表达式成立,即执行代码块1,否则执行代码块2.
- 多分支
√多分支的流程图(重要!)
- 嵌套分支
√基本介绍
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支结构称为内层分支,外面的分支结构称为外层分支。规范:不要超过3层(多层可读性不好)
√基本语法
switch分支结构
√基本语法
√流程图
- switch注意事项和细节讨论
√细节2实例:
double c = 1.1; //程序运行报错,switch中表达式的返回值不能为double型
switch(c){
case 1.1 :
System.out.println("ok1");
break;
case 2.1:
System.out.println("ok2");
break;
default :
System.out.println("ok3");
}
- switch和if的比较
- 如果判断的具体数值不多,而且符合byte、short、int、char、enum【枚举】、String这6种类型。虽然两个语句都可以使用,建议使用switch语句。
- 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
循环控制
for循环控制
- for循环说明
- for关键字,表示循环控制
- for有四要素:(1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代
- 循环操作,这里可以有多条语句,也就是我们要循环执行的代码
- 如果 循环语句(语句)只有一条语句,可以省略{},建议不要省略
- for循环执行流程
- 注意事项和细节说明
1)循环条件是返回一个布尔值的表达式
2)for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略。
3)循环初始值可以有多条初始化语句,但是要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开。
特殊实例:
for(;;){
//表示无限循环,死循环
System.out.println("ok~");
}
细节3实例:
int count = 3;
for(int i = 0,j = 0; i < count; i++ , j += 2){
System.out.println("i=" + i + "j=" + j);
}
while循环控制
- while循环执行流程
do…while循环控制
- do…while循环执行流程
- 注意事项和细节说明
1)循环条件是返回一个布尔值的表达式
2)do…while循环是先执行,再判断,因此它至少执行一次
多重循环控制(难点!重点!)
- 介绍
- 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do…while均可以作为外层循环和内层循环。【建议一般使用两层,最多不要超过3层,否则代码可读性差】
- 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可以结束外层的当次循环,开始外层的下次循环
- 设外层循环次数为m次,内层为n次,则内层循环体实际上需求执行m*n次
3的实例:
for(int i = 1; i <= 7; i++){
//第一层循环7
for(int j = 1; j <= 2; j++){
//第二层循环2
System.out.println("ok~~"); //内层循环执行2*7=14
}
}
- 习题:打印空心金字塔
代码如下:
public class Stars{