挑战七天做一个小游戏(Java)——第三天:Java由什么组成(基本元素2)

Java语言基本元素2——语句

1、顺序语句

从上往下执行(流水账)

点击开始游戏的时候:

1、老鼠每隔一秒随机移动一次
2、老鼠出现次数的数字开始逐次递增
3、游戏倒计时的描述开始逐秒递减

image-20230818115113400

但是很多情况用顺序语句无法解决。。。。比如打地鼠的时候,有时候打中,有时候没有打中,这两种的效果是不一样的

2、分支语句

2.1、单分支:if

image-20230818113748674

打中地鼠的时候,让图片变成打头的图片

image-20230818115553687

2.2、双分支:if else

比如:打中地鼠+2分,没有打中-1分

image-20230818115649923

2.3、多分支:if else-if或者switch case

if-else if:

image-20230818120134657

案例:
输入一个成绩,判断这个成绩的等级:
60以下:不及格
60-75:及格
75-85:良好
85以上:优秀
Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩:");
        int score = sc.nextInt();
        if(score<60){
            System.out.println("不及格");
        }else if(score<75){
            System.out.println("几个");
        }else if(score<85){
            System.out.println("良好");
        }else{
            System.out.println("优秀");
        }

如果判断条件是一个值,可以用另外一种效率更高的多分支结构

switch case:

image-20230818120153248

案例:
提供一个移动10086自助语音服务功能
要求:根据用户输入数字的进入对应的服务(此处使用打印表示)
1-业务查询
2-业务办理
3-手机充值
4-套餐升级
0-人工服务
其他-无效,请重新输入
System.out.println("欢迎使用10086语音控制台,请选择操作:");
        System.out.println("1-业务查询\n" +
                "2-业务办理\n" +
                "3-手机充值\n" +
                "4-套餐升级\n" +
                "0-人工服务");
        Scanner sc = new Scanner(System.in);
        int input = sc.nextInt();
        switch (input){
            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 0:
                System.out.println("人工服务");
                break;
            default:
                System.out.println("输入错误");
                break;
        }

分支语句看起来比顺序语句智能多了,可以解决很多实际问题了,但是此时如果我要求电脑

​ 打印一万行:HelloWorld

​ 计算1-100的整数和

​ 打印出1-1000中的所有偶数

又该如何应对呢?

3、循环语句

在程序中重复执行,直到满足指定条件才停止的一段代码叫做循环语句

3.1、while循环

只要布尔表达式为true,循环体会一直执行下去,否则循环结束

image-20230818143150167

image-20230818143214722

案例1:计算0-100的整数的总和,并输出;

int index = 1;
        int sum = 0;
        while(index<=100){
            sum+=index;
            index++;
        }
        System.out.println(sum);

案例2:找出100以内的奇数,并逐个输出;

int index = 1;
        while(index<100){
            System.out.println(index);
            index+=2;
        }

while循环有可能一次都不执行,do while可以保证至少执行一次

image-20230818143409609

3.2、for循环

for(1初始化语句 ; 2条件测试 ; 4修改变量){
	3-语句集;  //如果是复合语句,{}不能省略
} 

image-20230818143505690

案例1:使用for循环打印出50以内所有的偶数

for(int i=0;i<=50;i+=2){
            System.out.println(i);
        }

案例2:使用循环求200以内所有整10的数的和;

int sum=0;
        for(int i=10;i<=200;i+=10){
            sum+=i;
        }
        System.out.println(sum);

案例3: 使用for循环打印三位数中所有水仙花数。
水仙花数:即一个整数满足其值等于各个数位的立方和。
如:153是一个水仙花数,因为153 等于 1的3次方 + 5的3次方 + 3的3次方

for (int i = 100; i < 1000; i++) {
            int a = i/100;
            int b = i/10%10;
            int c = i%10;
            if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i){
                System.out.println(i);
            }
        }

循环嵌套:

image-20230818143813662

for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j);
            }
            System.out.println();
        }

使用for循环打印99乘法表
img

for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+(i*j)+"\t");
            }
            System.out.println();
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值