程序流程控制

  • 顺序结构
  • 分支结构
  • if分支
  • switch 分支
  • 适用场景
  • 循环结构
  • for循环
  • while循环
  • do while循环
  • 总结
  • 三种循环区别
  • for和while不同
  • 死循环
  • 循环嵌套
  • 跳转关键字:break、continue
  • 案例:随机Random
  • 猜数字
  • 锦囊妙计


顺序结构

Java默认的结构

javascript中的流程控制 流程控制 java_System

分支结构

if分支

根据判定的结果决定某个分支的代码

  • 格式
if(条件表达式){
	语句体;
}
if(){
	语句体1;
}else{
	语句体2;
}
if(条件表达式1){
	语句体1;
}else if(条件表达式2){
	语句体2;
}
...
else{
	语句体n+1;
}

switch 分支

适合做值匹配的分支选择

1.先执行表达式值 拿着这个值与case后的值匹配
2.匹配到哪个为true就执行 遇见break就跳出
3.如果都不匹配,执行default代码

举个例子

public class SwitchDemo {
    public static void main(String[] args) {
    
        String weekday = "周三";
        switch(weekday){
            case "周一":
                System.out.println("今天周一");
                break;
            case "周二":
                System.out.println("今天周二");
                break;
            case "周三":
                System.out.println("今天周三");
                break;
            case "周四":
                System.out.println("今天周四");
                break;
            case "周五":
                System.out.println("今天周五");
                break;
            default:
                System.out.println("今天休息");
        }
    }
}

如果是这样的话 最终将会输出 今天是周三

注意事项

  1. 表达式类型只能是byte、short、int、char、string 不支持double、float、long(因为double、float不精确
  2. case的值不允许重复,只能是字面量,不能是变量
  3. 不要忘记写break
  • switch具有穿透性 遇不到break就会跳到下一个case中直到遇到break

适用场景

  • if适合做区间匹配
  • switch适合做:值匹配的分支选择
  • if适用范围更广一些

循环结构

for循环

控制一段代码反复执行很多次

  • 格式
    for(初始化语句;循环条件;迭代语句){
    循环体语句(重复执行的代码);
    }

案例1 实现奇数和
法一:在for循环中,通过if筛选奇数

for(int i  = 1; i <= 10; i++){
		if(i % 2 == 1){
			
     }
}

法二:直接在for循环找奇数

for(int i = 1 ; i <= 10; i += 2){

}

while循环

与for循环类似

示例

int i = 0 ;
	while(i < 3 ){
		System.out.println("Hello World");
		i++
	}

do while循环

先执行 再判断循环条件

示例

do {
	循环体语句;
	迭代语句;
} while(循环条件);

特点 一定会先执行一次循环体

总结

三种循环区别

  • for、while都是先判断后执行
  • do while 第一次先执行 后判断

for和while不同

  • 知道循环几次 用for
  • 不知道循环几次 用while
  • for循环中,控制循环的变量只能在循环中使用。While循环中,在循环后还可以继续使用)

for循环演示

javascript中的流程控制 流程控制 java_for循环_02

while循环演示

javascript中的流程控制 流程控制 java_随机数_03

死循环

一直循环执行下去 没有干预不会停止

for( ; ; ){
	System.out.println("Hello World");
}

javascript中的流程控制 流程控制 java_java_04

输入密码登陆(死循环

javascript中的流程控制 流程控制 java_javascript中的流程控制_05

循环嵌套

循环中又包含循环

特点 外部每循环一次 内部循环全部执行完一次

跳转关键字:break、continue

  • break:跳出并结束当前所在循环执行
  • continue:用于跳出当前循环 进入下一循环

注意

  1. 只能用于结束循环或结束switch分支
  2. 只能在循环中使用

案例:随机Random

用于在程序中获取随机数

使用步骤:

  1. 导入随机数技术(不用自己导
  2. 写一行代码得到随机数
Random r = new Random();
  1. 调用随机数的功能获取0-9的随机数
int number = r .nextInt(10);

注意: nextlnt(n)只能生成0- n-1间的随机数,不包含n

  • 如果要生成0 - n 的随机数 在r .nextInt(10)后加1
int number = r .nextInt(10) + 1;

猜数字

javascript中的流程控制 流程控制 java_for循环_06

锦囊妙计

一个三位数
个位数 : a%10
十位数 : a/10%10
百位数 : a/100