java流程控制

发布时间 2024-01-06 21:50:34作者: xmz-x

一、分支结构

1、if 分支

2、switch 分支

执行流程:

① 先执行表达式的值,再拿着这个值去与 case 后的值进行匹配

② 与哪个 case 后的值匹配为 true 就执行哪个 case 块的代码,遇到 break 就跳出 switch 分支

③ 如果全部 case 后值与之匹配都是false,则执行default 块的代码

 注意:

① 表达式类型只能是 byte 、short、int 、char,JDK5开始支持枚举,JDK7开始支持String,不支持double、float、long

② case 给出的值不允许重复,只能是字面量,不能是变量

③ 不要忘记 break

二、循环结构

1、for 循环

减少代码的重复编写,灵活的控制程序的执行

for(初始化语句; 循环条件; 迭代语句){

  循环体语句
}

 2、while 循环

 for 循环和 whie 循环的区别:

① 功能上是完全一样的,for 能解决的while 也能解决,反之亦然

② 知道循环几次:使用for ;不知道循环几次:使用while

3、do-while 循环

先执行后判断

 4、死循环

 5、循环嵌套

for(int i = 0; i < 10; i++){
      for(int j = 0; j < 10; j++){
            System.out.println("HelloWord!");
      }    
}

 

特点:外部循环每执行一次,内部循环会全部执行完一轮
6、跳出关键字:break; continue

 7、随机数:Random

 案例:猜数字游戏

需求:随机生成一个1-100之间的数据,提示用户猜测,猜大提示过大,猜小提示过小,直到猜中结束游戏

分析:① 先随机生成一个1-100之间的数

   ② 定义一个死循环让用户可以一直猜测

   ③ 在死循环里,每次都提示用户输入一个猜测的数字,猜大提示过大,猜小提示过小,直到猜中结束游戏

import java.util.Random;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //随机生成一个1-100之间的数据
        Random r = new Random();
        int luckNumber = r.nextInt(100)+1;
        while(true){
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入你猜的数:");
            int guessNumber = scanner.nextInt();
            if(guessNumber > luckNumber){
                System.out.println("你猜大了!");
            }else if (guessNumber < luckNumber) {
                System.out.println("你猜小了!");
            }else {
                System.out.println("恭喜你,你猜对了!");
                break;
            }
        }
    }
}