Java学习3:程序流程控制

时间:2024-04-29 14:36:51

Java程序流程控制

1.执行顺序

  • 顺序结构
  • 分支顺序

if,switch

  • 循环结构

for ,while ,do-while

2.if分支

三种形式

if(条件表达式){


}
else if(){


}
else{


}

3.switch分支

string week = "周一";
switch(week){
	case "周一":
	stem.out.println("周一");
	break;
	case "周日"   
	...
	dafult:
       
	....
}

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

double运算不精确

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

case d;
case 10;
case 10;

3.正常使用switch的时候,不要忘记写break,否则会出现穿透象。

switch穿透性可以简化代码

  public static void main(String[] args) {
//目标2:理解switch穿透性的作用:
        String week ="周三";
        switch (week) {
            case "周一":
                System.out.println("埋头苦干,解决bug"); break;
            case "周二":
            case "周三":
            case "周四":
                System.out.println("请求大牛程序员帮忙"); break;
            case"周五":
                System.out.println("自己整理代码");
                break;
            case"周六":
            case"周日":
                System.out.println("打游戏");
                break;
            default:
                System.out.println("您输入的星期信息不存在~~~");
        }
    }

存在多个case分支的代码是一样时,可以把代码写到一个case块,其他
case块通过穿透性能,穿透到该case块即可,这样可以简化代码。

4.for循环

5.while,do while循环

6.死循环

 public static void main(String[] args) {
        //for(;;){
            //System.out.println("hhhh");
       // }
//    经典写法    while(true){
//            System.out.println("hhhh");
//        }
        do{
            System.out.println("hhhh");
        }
        while(true);
    }

服务器程序

7.循环的嵌套

print不换行

println换行

8.跳出关键字

  • break:跳出并结束当前所在循环的执行。

  • continue:用于跳出当前循环的当次执行,直接进入循环的下一次执行。

注意事项

break:只能用于结束所在循环,或者结束所在switch分支的执行。

continue :只能在循环中进行使用。

应用场景

一批数据删掉

一批数据查找

9.案例基础:生成随机数

  • Random的使用

Random

作用:生成随机数。

得到0-9的随机数的实现步骤:

①:导包:告诉程序去JDK的哪个包中找Random

②:写一行代码拿到随机数对象Random r = new Random();

③:调用随机数的功能获取0-9之间的随机数int num = r.nextInt(10);

image-20240427142950475
public static void main(String[] args) {
        //创建一个对象
        Random r = new Random();

        //3.调用功能
        for (int i = 0; i < 10; i++) {
            int num =  r.nextInt(10);
            System.out.println(num);
        }
    }

注意:
●nextInt(n)功能只能生成:0至n-1之间的随机数,不包含n。

image-20240427144018163

ctrl+alt+t快速增加循环语句

System.out.println("-----------------------");
for (int j = 0; j < 10; j++) {
    int sum = r.nextInt(10)+1;
    System.out.println(sum);
}
System.out.println("------------------------");
for (int j = 0; j < 10; j++) {
    int num2 = r.nextInt(15) + 3;
    System.out.println(num2);//4-17
}
  • 猜数字游戏

需求:

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

①先随机生成一个1-100之间的数据。

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

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

public class redomtest2 {
    public static void main(String[] args) {
        Random r = new Random();
        int luckyNumber = r.nextInt(100);
        Scanner sc = new Scanner(System.in);
        while(true){
            System.out.println("请输入猜测数据");

            int guess = sc.nextInt();
            if(guess == luckyNumber){
                System.out.println("ok");
                break;
            }
            else if(guess > luckyNumber){
                System.out.println("dale");
            }
            else
                System.out.println("xiaole");
        }
    }