笔记摘抄自bilibili网站-韩顺平教育的java课程,课程很好,有兴趣的小伙伴可以前去学习
1. 分支控制
1.1 if-else介绍
让程序有选择的执行,分支控制有三种
(1)单分支
(2)双分支
(3)多分支
1.1.1 单分支
基本语法
if(条件表达式) {
执行代码块; //可以有多条语句
}
说明:当条件表达式为true时,就会执行 {} 的代码。如果为false,就不执行。
特别说明:如果 {} 中只有一条语句,则可以不用 {},建议写上 {}
1.1.2 双分支
基本语法
if(条件表达式) {
执行代码块1;
}
else {
执行代码块2;
}
说明:当条件表达式成立,即执行代码块1,否则执行代码块2。如果执行的代码块只有一条语句,则 {} 可以省略,否则不能省略
1.1.3 多分支
基本语法
if (条件表达式1) {
执行代码块1;
}
else if (条件表达式2) {
执行代码块2;
}
... ...
else {
执行代码块n;
}
说明:
-
当条件表达式1成立时,即执行代码块1
-
如果表达式1不成立,才去判断表达式2是否成立
-
如果表达式2成立,就执行代码块2
-
以此类推,如果所有的表达式都不成立,则执行 else 的代码块。注意:只能有一个执行入口
1.1.4 嵌套分支
基本介绍
在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支,外面的分支结构称为外层分支。建议不要超过3层
基本语法
if(){
if() {
//if-else...
}else {
//if-else
}
}
1.2 switch分支结构
基本语法:
switch(表达式){
case 常量1: //当...
语句块1;
break;
case 常量2:
语句块2;
break;
...
case 常量n:
语句块n;
break;
default:
default语句块;
break;
}
-
switch 关键字,表示switch分支
-
表达式 对应一个值
-
case 常量1:当表达式的值等于常量1,就执行 语句块1
-
break:表示退出switch
-
如果和 case 常量1 匹配,就执行语句块1,如果没有匹配,就继续匹配 case 常量2
-
如果一个都没有匹配上,执行default
1.2.1 switch细节
- 表达式的数据类型,应和case后的常量类型一致,或者是可以自动转换成可以互相比较的类型,比如输入的是字符,而常量是 int
- switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum(枚举),String)
- case子句的值必须是常量,而不能是变量
- default子句是可选的,当没有匹配的case时,执行default
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾
1.2.2 switch和if的比较
- 如果判断的具体数值不多,而且符合byte、short、int、char、enum、String这6种类型,虽然两个语句都可以使用,建议使用switch语句
- 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广
2. 循环控制
2.1 for循环控制
基本介绍:听其名而知其意,就是让你的代码可以循环的执行
基本语法
for(循环变量初始化;循环条件;循环变量迭代){
循环操作(语句);
}
说明
- for 关键字,表示循环控制
- for有四要素:(1)循环变量初始化 (2)循环条件 (3)循环操作 (4)循环变量迭代
- 循环操作,这里可以有多条语句,也就是我们要循环执行的代码
- 如果循环操作(语句)只有一条语句,可以省略 {},建议不要省略
注意事项和细节
- 循环条件是返回一个布尔值的表达式
- for(;循环判断条件;)中的初始化和变量迭代可以写到其他地方,但是两边的分号不能省略
- 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开
2.2 while循环控制
基本语法
循环变量初始化;
while(循环条件){
循环体(语句);
循环变量迭代;
}
说明:while 循环也有四要素,只是四要素放的位置不一样
注意事项和细节
- 循环条件是返回一个布尔值的表达式
- while循环是先判断再执行语句
2.3 do…while循环控制
基本语法
循环变量初始化;
do{
循环体(语句);
循环变量迭代;
}while(循环条件);
说明:
- do while 是关键字
- 也有循环四要素,只是位置不一样
- 先执行,在判断,也就是说一定会至少执行一次
- 最后结尾有分号 ;
- while 和 do…while 区别:while是先判断再执行,do…while是先执行再判断
2.4 多重循环控制
介绍
- 将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do…while均可以作为外层循环和内层循环。(建议不要超过三层)
- 实质上,嵌套循环就是把内层循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环
for(循环变量初始化;循环条件;循环变量迭代){
循环操作(语句);
for(循环变量初始化;循环条件;循环变量迭代){
循环操作(语句);
}
}
3. break
基本介绍:break语句用于终止某个语句块的执行,一般使用在switch或者循环中
基本语法
{ ...
break;
...
}
注意事项和细节
-
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
-
标签基本使用演示
label1: { ... label2: { ... break label1; } }
(1)break 语句可以指定退出哪层
(2)label 是标签,由程序员指定
(3)break 后在指定到哪个label,就退出哪一层循环
(4)如果没有指定 break,默认退出最近的循环体
4. continue
基本介绍:
- continue语句用于结束本次循环,继续执行下一次循环
- continue语句出现在多层嵌套的循环语句体中,可以通过标签指明要跳过的是哪一层循环,这个和前面的标签的使用规则一样
基本语法
{ ...
continue;
...
}
5. return
介绍:return使用在方法中,表示跳出所在的方法,如果return写在main方法,会退出程序
语法同上