流程控制语句
1.顺序结构
按照代码顺序,依次执行
2.If
格式1:单条件判断
if(关系表达式){
语句体;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体
③如果关系表达式的值为false就不执行语句体
④继续执行后面的语句内容
格式2:双条件判断
if(关系式){
语句体1;
}else {
语句体2;
}
执行流程:
①首先计算关系表达式的值
②如果关系表达式的值为true就执行语句体1
③如果关系表达式的值为false就执行语句体2
④继续执行后面的语句内容
格式3:多条件判断
if(关系式){
语句体;
}else if(关系式){
语句体2;
}else if(关系式){
语句体3;
}
·········
else{
语句体 N+1;
}
执行流程:
①首先计算关系表达式1的值
②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
④…
⑤如果没有任何关系表达式为true,就执行语句体n+1。
3.分支结构
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
···
default:
语句体:n+1;
break;
}
执行流程:
-
首先计算出表达式的值
-
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
-
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
Switch扩展知识:
-
default的位置和省略情况
default可以放在任意位置,也可以省略
-
case穿透
不写break会引发case穿透现象
-
switch在JDK12的新特性
int number = 10; switch (number) { case 1 -> System.out.println("一"); case 2 -> System.out.println("二"); case 3 -> System.out.println("三"); default -> System.out.println("其他"); }
-
switch和if第三种格式各自的使用场景
当我们需要对一个范围进行判断的时候,用if的第三种格式
当我们把有限个数据列举出来,选择其中一个执行的时候,用switch语句
比如:
小明的考试成绩,如果用switch,那么需要写100个case,太麻烦了,所以用if简单。
如果是星期,月份,客服电话中0~9的功能选择就可以用switch
4.循环
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。
循环结构格式
for (初始化语句;条件判断语句;条件控制语句) { 循环体语句; }
格式解释:
-
初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
-
条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
-
循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情
-
条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续
for循环书写技巧:
-
确定循环的开始条件
-
确定循环的结束条件
-
确定循环要重复执行的代码
While循环
格式:
初始化语句; while(条件判断语句){ 循环体; 条件控制语句; }
回文数联系
import java.util.Scanner; public class Huiwenshu { public static void main(String[] args){ //回文数练习 //回文数是指,数字的正序和倒序是同一个数字 Scanner cs = new Scanner(System.in); System.out.println("输入一个数判断是否是回文数字:"); int num = cs.nextInt(); //记录输入数字的原始值; int temp = num; //记录当过来的数字; int count = 0; while(num!=0){ //不能是num==0,因为num==0本身就是false所以while循环根本不会运行 //将输入数字的最低位提出来 int ge = num % 10; //将输入数字低位慢慢移动除去 num = num / 10; //将提出来的低位数字往高位慢慢移动 count = count * 10+ ge; } System.out.println(count); System.out.println(temp == count); } }
do while循环语句
本知识点了解即可
格式:
初始化语句; do{ 循环体; 条件控制语句; }while(条件判断语句);
特点:
先执行,再判断。
循环格式区别
for和while循环,是先判断,再执行。
do...while是先执行,再判断。
当知道循环次数或者循环范围的时候,用for循环。
当不知道循环次数,也不知道循环范围,但是知道循环的结束条件时,用while循环。