Java小课堂 第四章 循环结构 (下)

4.3 do-while循环结构

案例8:制作游戏菜单如下:1、新的征程  2、再续前缘  3、游戏设置  4、卸甲归田,用户输入菜单的编号,根据输入的编号,提示进入了哪一个选项?代码如下:

public class Demo8 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

boolean flag = true;

do {

System.out.println("\n--------热血传奇--------\n");

System.out.println("1.新的征程");

System.out.println("2.再续前缘");

System.out.println("3.游戏设置");

System.out.println("4.卸甲归田");

System.out.println("请输入您的选择:");

String choose = scanner.next();

switch (choose) {

case "1":

System.out.println("您选择了新的征程!");

break;

case "2":

System.out.println("您选择了再续前缘!");

break;

case "3":

System.out.println("您选择了游戏设置!");

break;

case "4":

System.out.println("\n----BYE-BYE----\n");

flag = false;

break;

default:

System.out.println("输入错误,请重新输入!");

break;

}

} while (flag);

}

}

do-while循环的格式:

do {

循环体;

}while(条件表达式);

for、while、do-while区别:【面试点】

for:一般使用在已知循环次数的情况下。

while:一般使用在不确定循环次数的情况下,例如:死循环情况下,先判断循环条件是否成立,再执行循环体,有可能循环一次都没有运行。

do-while:一般使用在不确定循环次数的情况下,例如:死循环情况下,先执行循环体,再判断循环条件是否成立,至少循环一次。

4.4、循环嵌套【重点】【难点】

案例9:判断3-100之间的素数,素数是一个只能被1和本身整除的数?代码如下:

public class Demo9 {

public static void main(String[] args) {

for (int i = 3; i < 100; i++) {

int j = 2;

for (; j < i; j++) {

if (i % j == 0)

break;

}

if (j == i)

System.out.println(i + "是素数!");

else

System.out.println(i + "不是素数!");

}

}

}

案例10:升级游戏菜单,如果用户选择了新的征程,提示用户选择角色是法师还是战士;如果用户选择了再续前缘,提示用户选择进度一~三;如果用户选择了游戏设置,提示用户选择是显示设置还是音声设置;其他不变,代码如下:

public class Demo10 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

boolean flag = true;

do {

System.out.println("\n--------热血传奇--------\n");

System.out.println("1.新的征程");

System.out.println("2.再续前缘");

System.out.println("3.游戏设置");

System.out.println("4.卸甲归田");

System.out.println("请输入您的选择:");

String choose = scanner.next();

switch (choose) {

case "1":

boolean subFlag1 = true;

do {

System.out.println("\n--------角色创建--------\n");

System.out.println("1.战士");

System.out.println("2.法师");

System.out.println("3.返回上一级菜单");

System.out.println("请输入您的选择:");

choose = scanner.next();

switch (choose) {

case "1":

System.out.println("您选择了战士!");

break;

case "2":

System.out.println("您选择了法师!");

break;

case "3":

subFlag1 = false;

break;

default:

System.out.println("输入错误,请重新输入!");

break;

}

} while (subFlag1);

break;

case "2":

boolean subFlag2 = true;

do {

System.out.println("\n--------读取进度--------\n");

System.out.println("1.进度一");

System.out.println("2.进度二");

System.out.println("3.返回上一级菜单");

System.out.println("请输入您的选择:");

choose = scanner.next();

switch (choose) {

case "1":

System.out.println("您选择了进度一!");

break;

case "2":

System.out.println("您选择了进度二!");

break;

case "3":

subFlag2 = false;

break;

default:

System.out.println("输入错误,请重新输入!");

break;

}

} while (subFlag2);

break;

case "3":

boolean subFlag3 = true;

do {

System.out.println("\n--------游戏设置--------\n");

System.out.println("1.显示设置");

System.out.println("2.音声设置");

System.out.println("3.返回上一级菜单");

System.out.println("请输入您的选择:");

choose = scanner.next();

switch (choose) {

case "1":

System.out.println("您选择了显示设置!");

break;

case "2":

System.out.println("您选择了音声设置!");

break;

case "3":

subFlag3 = false;

break;

default:

System.out.println("输入错误,请重新输入!");

break;

}

} while (subFlag3);

break;

case "4":

System.out.println("\n----BYE-BYE----\n");

flag = false;

break;

default:

System.out.println("输入错误,请重新输入!");

break;

}

} while (flag);

}

}

4.5、小结

for循环一般使用在已知循环次数的场景,有三个表达式,第一个表达式用来定义循环初值,第二个表达式用来判断是否继续循环的条件,第三个表达式用来更新循环变量的值。【重点】

while循环使用在未知循环次数的场景,执行流程是先判断、再循环,有可以不执行循环体。【重点】

do-while循环使用在未知循环次数的场景,执行流程是先循环、再判断,至少要执行一次循环体。

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值