一、判断语句
if语句
if(布尔表达式){
java语句;
java语句;
}
执行原理:如果布尔表达式的结果是true,
则执行大括号中的程序。
如果是false,则执行括号外面的。
if(布尔表达式){
java语句;//分支一
}else{
java语句;//分支二
}
执行原理:如果布尔型表达式的结果是true,则执行分支一,分支二不执行。
一定会从2个中选一个的。
if(布尔表达式1){
java语句;
}else if(布尔表达式2){
java语句;
}else if(布尔表达式3){
java语句;
}else if(布尔表达式4){
java语句;
}else{
java语句;
}//以上条件没有一个成立的。这个else就执行了。
switc语句
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
执行流程
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。 ```java package a01switch选择语句;
import java.util.Scanner;
public class SwitchDemo2 { public static void main(String[] args) { //1.键盘录入一个整数表示星期 Scanner sc = new Scanner(System.in); System.out.println(“请输入一个整数表示星期”); int week = sc.nextInt();
//2.书写一个switch语句去跟week进行匹配
switch (week){
case 1:
System.out.println("跑步");
break;
case 2:
System.out.println("游泳");
break;
case 3:
System.out.println("慢走");
break;
case 4:
System.out.println("动感单车");
break;
case 5:
System.out.println("拳击");
break;
case 6:
System.out.println("爬山");
break;
case 7:
System.out.println("好好吃一顿");
break;
default:
System.out.println("输入错误,没有这个星期");
break;
}
}
}
<a name="yj7jc"></a>
#### switch的扩展知识
- default的位置和省略情况default可以放在任意位置,也可以省略
- case穿透不写break会引发case穿透现象
- switch在JDK12的新特性
```java
int number = 10;
switch (number) {
case 1 -> System.out.println("一");
case 2 -> System.out.println("二");
case 3 -> System.out.println("三");
default -> System.out.println("其他");
}
//分析:
//1.键盘录入星期数
Scanner sc = new Scanner(System.in);
System.out.println("请输入星期");
int week = sc.nextInt();//3
//2.利用switch进行匹配
----------------------------------------------------
利用case穿透简化代码
switch (week){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;
case 6:
case 7:
System.out.println("休息日");
break;
default:
System.out.println("没有这个星期");
break;
}
----------------------------------------------------
利用JDK12简化代码书写
switch (week) {
case 1, 2, 3, 4, 5 -> System.out.println("工作日");
case 6, 7 -> System.out.println("休息日");
default -> System.out.println("没有这个星期");
}
二、循环
for循环
for(定义初始变量1;循环条件2;变量的变化值4){
循环语句块3;
}
for语句执行顺序为 1 2 3 4 2 3 4...
其中 ①定义初始变量只在进入循环时执行一次
如果循环条件有多个,则需要使用&& || 分隔开
如果初始变量和变化值有多个,则只需使用 , 逗号分隔开
while循环
初始化语句;
while(条件判断语句){
循环体;
条件控制语句;
}
do…while循环
初始化语句;
do{
循环体;
条件控制语句;
}while(条件判断语句);
二、循环高级
1.无限循环
for格式:
for(;;){
System.out.println("循环执行一直在打印内容");
}
while格式:
while(true){
System.out.println("循环执行一直在打印内容");
}
do…while格式:
do{
System.out.println("循环执行一直在打印内容");
}while(true);
2.条件控制语句
break:
不能单独存在的。可以用在switch和循环中,表示结束,跳出的意思。<br />代码示例:
//1.吃1~5号包子
for (int i = 1; i <= 5; i++) {
System.out.println("在吃第" + i + "个包子");
//2.吃完第三个的时候就不吃了
if(i == 3){
break;//结束整个循环。
}
}
continue
不能单独存在的。只能存在于循环当中。<br /> 表示:跳过本次循环,继续执行下次循环。<br />代码示例:
//1.吃1~5号包子
for (int i = 1; i <= 5; i++) {
//2.第3个包子有虫子就跳过,继续吃下面的包子
if(i == 3){
//跳过本次循环(本次循环中,下面的代码就不执行了),继续执行下次循环。
continue;
}
System.out.println("在吃第" + i + "个包子");
}