【自学笔记】 Java基础 - 流程控制
本帖最后由 LongJL 于 2021-7-10 07:28 编辑# 流程控制
## 条件语句
if:
```
if(关系表达式){
语句体;
}
public class main() {
public static void main(String() args) {
age = 16;
if (age > 18) {
System.out.println("进入网吧");
}
}
}
```
if-else:
```
if(关系表达式) {
语句体;
} else {
语句体;
}
```
if-else if-else:
```
if(关系表达式) {
} else if(关系表达式) {
} else{
}
```
关系表达式:是一个必要参数,表示返回值是一个布尔值
## switch 多分支语句
```
switch(表达式) {
case 常量值1;
语句体;
break;
case 常量值2;
语句体;
break;
default:
语句体;
break
}
```
```
switch(表达式) {
case 常量值1;
语句体;
case 常量值2;
语句体;
default:
语句体;
break;
}
```
case穿透:
上述代码中case1和case2没有加break;所以case语句会一直判断,直到运行结束或遇到break;上述代码会一直运行到default语句;
来自@a525
注意事项:
1. 多个case后面得数值不能相同
2.switch后面小括号当中只能是下列数据类型:基本数据类型:byte/short/char/int引用数据类型:String字符串 enum枚举
3.switch语句格式k可以很灵活:前后顺序可以颠倒,而且break还可以省略。 “匹配哪一个case就从哪一个位置开始执行,知道遇到break或者整体结束为止。”
4.如果没有一个常量的值与表达式的值相同,则执行default后面的语句。default是可选的
5.如果case语句中没有break;将执行后面的case语句直到遇到break语句为止。
## 循环语句
### for
```
for(初始化表达式;布尔值表达式;步进表达式) {
循环体;
}
```
循环结果得基本构成,一般可以分为四个部分:
1. 初始化语句:在循环开始最初执行,而且只做唯一一次
2. 条件判断:如果成立,则循环继续;如果不成了,则退出循环.
3. 循环体:重复要做得事情内容,若干行语句
4. 步进语句:每次循环之后都要进行得扫尾工作.每次循环完了都要做一次.
### foreach
只能遍历,不能增删
底层使用的也是迭代器。使用for循环的格式,简化了迭代器的书写
```
for(元素的数据类型 s: 遍历对象 obj){
语句块
}
```
s是obj里面的元素,类型一定要对的上
### while
while循环有一个标准格式
标准格式:
```
while(条件判断) {
循环体;
}
```
Do-while循环得标准格式:
```
do {
循环体;
} while(条件判断);
```
- 三种循环得区别:
1.如果条件判断从来都没有满足过,那么for循环和while循环执行0次,但是Do-while至少执行一次
2.for循环得变量在小括号当中定义,只有循环内部才能使用。Do和Do-while初始化语句都在外边,所以循环出来后还能继续使用
- break关键字得俩种用法:
1.可以用在switch语句当中,一旦使用,整个switch语句立刻结束
2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束,打断循环.
- continue:
一旦执行:立刻跳过当前循环剩余内容,马上开始下一次循环。 沙发支持一个 zcdh7347611 发表于 2021-7-9 21:52
沙发支持一个
{:301_997:} 谢谢支持 switch(表达式) {
case 常量值1;
语句体;
case 常量值2;
语句体;
default:
语句体;
break;
}
case穿透:
上述代码中case1和case2没有加break;所以case语句会一直判断,直到运行结束或遇到break;上述代码会一直运行到default语句;
坐着加油{:1_893:} a525 发表于 2021-7-9 23:12
switch(表达式) {
case 常量值1;
语句体;
谢谢指正, 忘记加了{:301_977:} a525 发表于 2021-7-9 23:12
switch(表达式) {
case 常量值1;
语句体;
不是一直判断,是一直往下执行,要是真的一直判断加不加break效果都一样了 侃遍天下无二人 发表于 2021-7-9 23:44
不是一直判断,是一直往下执行,要是真的一直判断加不加break效果都一样了
其实就是说,如果case语句中没有break;,他就会一直往下执行直到遇到break为止; 必须收藏了。
页:
[1]