[Java教程]7.条件判断之Switch与循环语句

Java教程专栏:https://blog.csdn.net/qq_41806966/category_9929686.html

上篇学了 条件判断 if...else.

在Java中,还有一种条件判断,就是 swtich(切换) 语句


目录

Switch

Switch的语法

break 关键字

Switch 练习(自行练习)

循环语句

Continue 关键字

 循环之 While 循环

扫描二维码关注公众号,回复: 11272038 查看本文章

循环之 do...while

循环之 For 循环

练习巩固(较难,但很有趣)

下一篇将会公布此游戏代码.


Switch

switch也是Java里的关键字,switch和 if 差别并不大,例: 判断变量 A 等于指定值 比如 10,20,30的情况

使用 if, 如果 A == 10 执行... 否则如果 A == 20 执行...否则如果A == 30 执行...

使用switch就没有否则的概念了,可以理解为直接执行, A == 10 执行... == 20 执行 == 30执行.


Switch的语法

switch (要判断的值) {
case 条件1:
    条件成立执行...
case 条件2:
    条件成立执行...
case 条件3:
    条件成立执行...
}

switch语句会在一个条件成立后,执行此条件后面的所有条件,我们运行以下代码看下结果

int a = 0;
switch (a) {
case 0:
    System.out.println("switch中的 0执行了");
case 1:
    System.out.println("switch中的 1执行了");    
case 2:
    System.out.println("switch中的 2执行了");
}

 运行结果

switch中的 0执行了
switch中的 1执行了
switch中的 2执行了

 因为a == 0,所以执行了 此条件 和 条件后的所有语句.

我们把 a改为 1 则只会执行 1 和 2

运行结果

switch中的 1执行了
switch中的 2执行了

 有时候,我们并不希望在一个条件成立后执行此条件后面的所有条件,这时候就用到了 break 关键字


break 关键字

break(跳出),当代码执行到 break 可以跳出指定语句(不执行此语句后面的代码)

在 switch 中就是这样的

break在Java中只能在 switch,循环中出现.

通常在需要的判断 超过5个以上的时候使用 switch(比 if 更快)


Switch 练习(自行练习)

通过输入一个 int 类型的数字,使用 switch 判断(注意case顺序和break的使用 结果与下面条件结果一致则做对了)

  • 数字等于 0 和 4,输出 鸭蛋 (case 0: case 4:)
  • 数字等于1 输出,鸡蛋(case 1)
  • 数字小于2 输出,荷包蛋
  • 数字等于3 输出 恐龙蛋 荷包蛋

循环语句

生活中处处有循环,比如你每天都会要吃饭,睡觉...

在代码中,循环就是指在 循环体内的代码 执行指定次数

执行无数次的循环(一直执行) 则称之为 死循环

画一张图表示就是


Continue 关键字

在之前学习了 break 关键字,现在来学习以下新的关键字,continue(继续的意思).

在生活中,我们不会一直完全一模一样的循环,比如吃饭的时候,吃到一半发现饭是假的...这个时候肯定不会继续吃.

在程序的世界里也是如此,我们有时候会需要在满足某个条件的时候就不执行下面的代码了,这个时候就需要用到 continue.

区分 continue 和 break(continue用于结束这一次循环,继续进行下一次,break是直接跳出整个循环)

举个栗子:

以比赛来讲,比赛的时候你被发现作弊了,这个时候裁判让你重新比赛(使用continue),如果重新比赛你还继续作弊,并且又被发现,这时裁判直接把你踢出赛场(break)

continue的图如下所示


 循环之 While 循环

while 也是Java中的关键字,是语句(只能出现在方法内)

语法: 与 if 类似.

while (循环条件) {
    循环执行的代码
}

当 循环条件 为true 并且循环里没有跳出,改变循环条件,则为死循环

例如下面这个代码就是一个经典的死循环

while (true) {
    System.out.println("hello");
}

启动后程序会一直运行输出 hello,直到你把cmd窗口关闭(或者启动的程序)

我们同样可以在 while 里使用 break 关键字来跳出循环,比如下面的代码结果为 hello

while (true) {
    System.out.println("hello");
    break;
}

循环之 do...while

do...while 与 while的不同点在于, while 是先判断,在执行,do while是先执行,在判断

语法:

do {
    执行的代码
} while (循环执行的条件);

通过以下例子就可以知道 while 与 do...while的区别.

public class Test {
    public static void main(String[] args) {
        int a = 0;
        //a == 0所以这里不会被执行
        while (a == 1) {
            System.out.println("while执行了");
        }
        //这里是先执行 然后在判断,所以会执行一次
        do {
            System.out.println("do while 执行了");
        } while (a == 1);

    }
}

最终输出结果为: do while 执行了


循环之 For 循环

for 循环与 while 循环不同的是语法.

语法:

for (初始化一些变量;循环条件;每一次循环完成都会执行的语句) {
    循环条件成立执行的语句;
}

我们经常使用的 for 循环的经典代码

//会执行十次循环
for (int i = 0;i < 10;i++) {
    System.out.println(i);
}

至于为什么我们值从 0 开始 而不是1,是因为大家都习惯这么做...

根据语法,我们可以扩展一些 for 循环的写法(一般很多新手都不注意的)

//循环十次输出可以简写成如此 当一个语句中只有一个语句时,可以省略花括号
//在第一个(初始化参数) 和 第三个条件(每一次循环体执行完后执行) 可以多个,用逗号隔开
for (int i = 0;i < 10;i++,System.out.println(i));

练习巩固(较难,但很有趣)

使用循环制作一个 购买商品的游戏(赚钱通关游戏),游戏大致内容如下.

游戏描述: 主角需要在一个什么动作都会消耗健康的世界里赚取 1000 金币来购买通关.

游戏细节:

游戏开始,我们的主角在家中.拥有 100 的健康值(健康值为0则游戏结束).

所有的操作都会消耗10点健康值

睡觉可以恢复 20点健康值(实际10健康),吃饭恢复30点健康值(实际20健康),消耗50金币.

有三个场景:

  • 家 :可以选择出门(默认消耗10健康)和睡觉(恢复20健康(因为每执行一个操作都会消耗10,所以实际恢复10健康))
    • 出门: 去往大街
  • 大街: 拥有商店,打工,和吃饭选项
    • 商店: 进入商店场景
    • 打工: 消耗20健康(实际消耗30),来赚取100金币.
    • 吃饭: 消耗50金币,恢复30健康(实际恢复20)
  • 商店: 可以购买商品
    • 健康药水: 200金币,将健康值加满
    • 通关药水: 1000金币,游戏胜利.

下一篇将会公布此游戏代码.

猜你喜欢

转载自blog.csdn.net/qq_41806966/article/details/105915782