04-01 Java switch、for、while、do while语句,循环嵌套,跳转语句break、continue、return
语句
- 1:switch语句(掌握)
- (1)格式:
- switch(表达式) {
- case 值1:
- 语句体1;
- break;
- case 值2:
- 语句体2;
- break;
- ...
- default:
- 语句体n+1;
- break;
- }
- 格式解释说明:
- switch:说明这是switch语句。
- 表达式:可以是byte,short,int,char
- JDK5以后可以是枚举
- JDK7以后可以是字符串
- case:后面的值就是要和表达式进行比较的值
- break:表示程序到这里中断,跳出switch语句
- default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
- (2)面试题
- switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?
- 可以,不可以,JDK7以后可以
- (3)执行流程:
- A:首先计算表达式的值
- B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。
- C:如果没有匹配,就执行default的语句体n+1。
- (4)注意事项:
- A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
- B:default可以省略吗?
- 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
- 特殊情况:
- case就可以把值固定。
- A,B,C,D
- C:break可以省略吗?
- 可以省略,但是结果可能不是我们想要的。
- 会出现一个现象:case穿透。
- 最终我们建议不要省略
- D:default一定要在最后吗?
- 不是,可以在任意位置。但是建议在最后。
- E:switch语句的结束条件
- a:遇到break就结束了
- b:执行到末尾就结束了
- (5)案例:
- A:键盘录入一个数字(1-7),输出对应的星期几。
- B:单项选择题
- C:键盘录入一个字符串的问题
- String s = sc.nextLine();
- D:根据给定的月份,输出对应的季节
- (6)if语句和switch语句各自的场景
- A:if
- 针对boolean类型的判断
- 针对一个范围的判断
- 针对几个常量的判断
- B:switch
- 针对几个常量的判断
- 2:循环语句(掌握)
- (1)有三种:for,while,do...while
- (2)for循环语句
- A:格式
- for(初始化语句;判断条件语句;控制条件语句){
- 循环体语句;
- }
- 执行流程:
- a:执行初始化语句
- b:执行判断条件语句
- 如果这里是true,就继续
- 如果这里是false,循环就结束
- c:执行循环体语句
- d:执行控制条件语句
- e:回到b
- B:注意事项
- a:判断条件语句无论简单还是复杂,结果是boolean类型
- b:循环体语句如果是一条,可以省略大括号,但是不建议
- c:有分号就没有左大括号,有左大括号就没有分号
- C:案例
- a:输出10次HelloWorld
- b:输出1-10的数据
- c:输出10-1的数据
- d:求1-10的和
- e:求1-100的和,求1-100的偶数和,求1-100的奇数和
- f:求5的阶乘
- g:在控制台打印水仙花数
- h:统计水仙花个数
- i:改进版的回文数
- 一个五位数
- 个位 = 万位
- 十位 = 千位
- 个位 + 十位 + 千位 + 万位 = 百位
- j:统计1-1000之间同时满足如下条件的数据有多少个
- x%3==2
- x%5==3
- x%7==2
- (3)while循环
- A:基本格式
- while(判断条件语句) {
- 循环体语句;
- }
- 扩展格式:
- 初始化语句;
- while(判断条件语句){
- 循环体语句;
- 控制条件语句;
- }
- 通过查看这个格式,我们就知道while循环可以和for循环等价转换。
- B:while的练习
- 把for语句的练习用while改进
- C:for和while的区别
- a:使用上的区别
- for语句的那个控制条件变量,在循环结束后不能在使用了。
- 而while的可以继续使用。
- b:理解上的区别
- for适合于一个范围的判断
- while适合次数不明确的
- 举例:吃葡萄
- D:案例:
- a:珠穆朗玛峰问题
- b:小芳存钱问题(break以后才能做)
- (4)do...while循环
- A:基本格式
- do {
- 循环体语句;
- }while(判断条件语句);
- 扩展格式:
- 初始化语句;
- do {
- 循环体语句;
- 控制条件语句;
- }while(判断条件语句);
- 通过查看格式,我们就可以看出其实三种循环的格式可以是统一的。
- B:三种循环的区别
- a:do...while循环至少执行一次循环体
- b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体
- (5)循环使用的注意事项(死循环)
- A:一定要注意修改控制条件,否则容易出现死循环。
- B:最简单的死循环格式
- a:while(true){...}
- b:for(;;){}
- 3:控制跳转语句(掌握)
- (1)break:中断的意思
- A:用在循环和switch语句中,离开此应用场景无意义。
- B:作用
- a:跳出单层循环
- b:跳出多层循环,需要标签语句的配合
- (2)continue:继续
- A:用在循环中,离开此应用场景无意义。
- B:作用
- a:跳出单层循环的一次,可以继续下一次
- C:填空题
- for(int x=1; x<=10; x++) {
- if(x%3 == 0) {
- //补齐代码
- }
- System.out.println("Java基础班");
- }
- 如何让控制台输出2次:Java基础班
- 如何让控制台输出7次:Java基础班
- 如何让控制台输出13次:Java基础班
- (3)return:返回
- A:用于结束方法的,后面还会在继续讲解和使用。
- B:一旦遇到return,程序就不会在继续往后执行。
switch语句格式:
switch语句格式:
- /*
- switch语句格式:
- switch(表达式) {
- case 值1:
- 语句体1;
- break;
- case 值2:
- 语句体2;
- break;
- ...
- default:
- 语句体n+1;
- break;
- }
- 格式的解释:
- switch:表示这是switch选择结构
- 表达式:这个地方的取值是有限定的
- byte,short,int,char
- JDK5以后可以是枚举
- JDK7以后可以是字符串
- case:后面跟的是要和表达式进行比较的值
- 语句体:要执行的代码
- break:表示中断,结束的意思,可以控制switch语句的结束。
- default:当所有的值都和表达式不匹配的时候,就执行default控制的语句。其实它就相当于if语句的else。
- 实例:
- byte可以作为switch的表达式吗? 可以
- long可以作为switch的表达式吗? 不可以
- String可以作为switch的表达式吗? jdk7以后可以
- 案例:
- 键盘录入一个数据,根据这个数据,我们输出对应的星期?
- 键盘录入1,对应输出星期一
- 键盘录入2,对应输出星期二
- ...
- 键盘录入7,对应输出星期日
- 分析:
- 1:键盘录入,用Scanner实现
- 2:判断我们既可以使用if语句,也可以使用我们要讲解的switch语句
- 注意:
- A:遇到左大括号缩进一个tab的位置。
- B:关联不是很大的语句间空行
- */
- import java.util.Scanner;
- class SwitchDemo {
- public static void main(String[] args) {
- //创建键盘录入对象
- Scanner sc = new Scanner(System.in);
- //控制键盘录入数据
- System.out.println("请输入一个数据(1-7):");
- int week = sc.nextInt(); //3
- //switch判断语句
- switch(week) {
- 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 5:
- System.out.println("星期五");
- break;
- case 6:
- System.out.println("星期六");
- break;
- case 7:
- System.out.println("星期日");
- break;
- default:
- System.out.println("你输入的数据有误");
- break;
- }
- }
- }
switch语句注意事项:
- /*
- switch语句的注意事项:
- A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
- B:default可以省略吗?
- 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
- 特殊情况:
- case就可以把值固定。
- A,B,C,D
- C:break可以省略吗?
- 可以省略,但是结果可能不是我们想要的。
- 会出现一个现象:case穿透。
- 最终我们建议不要省略
- D:default一定要在最后吗?
- 不是,可以在任意位置。但是建议在最后。
- E:switch语句的结束条件
- a:遇到break就结束了,不是遇到default就结束,因为default可以不放在结尾
- b:执行到末尾就结束了
- */
- import java.util.Scanner;
- class SwitchDemo2 {
- public static void main(String[] args) {
- //创建键盘录入对象
- Scanner sc = new Scanner(System.in);
- //控制键盘录入数据
- System.out.println("请输入一个数据(1-7):");
- int week = sc.nextInt(); //3
- //定义常量
- //int number = 3;
- //然后把case后面的值改为number,就会报错
- //switch判断语句
- switch(week) {
- 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 5:
- System.out.println("星期五");
- break;
- case 6:
- System.out.println("星期六");
- break;
- case 7:
- System.out.println("星期日");
- break;
- default:
- System.out.println("你输入的数据有误");
- //break;
- }
- }
- }
- 根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。
- /*
- 根据你键盘录入的字符串,判断是否有满足要求的,如果有就输出。
- 否则,提示有误。
- String s = sc.nextLine();
- */
- import java.util.Scanner;
- class SwitchTest3 {
- public static void main(String[] args) {
- //创建键盘录入对象
- Scanner sc = new Scanner(System.in);
- //录入数据
- System.out.println("请输入你要判断的字符串:");
- String s = sc.nextLine(); // 拿字符串类型
- switch(s) {
- case "hello":
- System.out.println("你输入的是hello");
- break;
- case "world":
- System.out.println("你输入的是world");
- break;
- case "java":
- System.out.println("你输入的是java");
- break;
- default:
- System.out.println("没有找到你输入的数据");
- //break;
- }
- }
- }
if语句和switch语句的区别?
- /*
- 用switch语句实现键盘录入月份,输出对应的季节
- 分析:
- A:键盘录入一个月份,用Scanner实现
- B:用switch语句实现即可
- if语句和switch语句的区别?
- if语句:
- A:针对结果是boolean类型的判断
- B:针对一个范围的判断
- C:针对几个常量值的判断
- switch语句:
- 针对几个常量值的判断
- */
- import java.util.Scanner;
- class SwitchTest4 {
- public static void main(String[] args) {
- //创建键盘录入对象
- Scanner sc = new Scanner(System.in);
- //录入数据
- System.out.println("请输入月份(1-12):");
- int month = sc.nextInt();
- /*
- switch(month) {
- 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 5:
- System.out.println("春季");
- break;
- case 6:
- System.out.println("夏季");
- break;
- case 7:
- System.out.println("夏季");
- break;
- case 8:
- System.out.println("夏季");
- break;
- case 9:
- System.out.println("秋季");
- break;
- case 10:
- System.out.println("秋季");
- break;
- case 11:
- System.out.println("秋季");
- break;
- case 12:
- System.out.println("冬季");
- break;
- default:
- System.out.println("你输入的月份有误");
- }
- */
- //这样写太麻烦了,我们使用一个我们不想使用的东西:case穿透。但是不太美观。应该选用if语句对范围判断
- switch(month) {
- case 1:
- case 2:
- case 12:
- System.out.println("冬季");
- break;
- case 3:
- case 4:
- case 5:
- System.out.println("春季");
- break;
- case 6:
- case 7:
- case 8:
- System.out.println("夏季");
- break;
- case 9:
- case 10:
- case 11:
- System.out.println("秋季");
- break;
- default:
- System.out.println("你输入的月份有误");
- }
- }
- }
for循环语句
for循环语句格式:
- /*
- 循环语句:for循环,while循环,do...while循环。
- for循环格式:
- for(初始化语句;判断条件语句;控制条件语句) {
- 循环体语句;
- }
- 执行流程:
- A:执行初始化语句
- B:执行判断条件语句,看其返回值是true还是false
- 如果是true,就继续执行
- 如果是false,就结束循环
- C:执行循环体语句;
- D:执行控制条件语句
- E:回到B继续。
- 注意事项:
- A:判断条件语句无论简单还是复杂结果是boolean类型。
- B:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略。
- C:一般来说:有左大括号就没有分号,有分号就没有左大括号
- 需求:请在控制台输出10次"HelloWorld"
- */
- class ForDemo {
- public static void main(String[] args) {
- //最原始的做法
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("HelloWorld");
- System.out.println("----------");
- //这种做法不好,代码的重复度太高。
- //所以呢,我们用循环改进
- for(int x=1;x<=10;x++) {
- System.out.println("HelloWorld");
- }
- }
- }
在控制台输出所有的”水仙花数”:
- /*
- 需求:在控制台输出所有的”水仙花数”
- 分析:
- 我们都不知道什么叫"水仙花数",你让我怎么做呢?
- 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
- 举例:153就是一个水仙花数。
- 153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
- A:三位数其实是告诉了我们范围。
- B:通过for循环我们就可以实现获取每一个三位数
- 但是麻烦是如何获取这个三位数的个,十,百位上的数据
- 我们如何获取一个数据的个,十,百呢?
- 假设有个一个数据:153
- ge: 153%10 = 3
- shi: 153/10%10 = 5 //除号/,只能得到整数,要得到小数,需要有一个为小数
- bai:153/10/10%10 = 1
- qian:x/10/10/10%10
- wan: x/10/10/10/10%10
- ...
- C:让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
- 如果相同,就把该数据在控制台输出。
- */
- class ForDemo6 {
- public static void main(String[] args) {//三位数其实是告诉了我们范围。
- for(int x=100; x<1000; x++) {
- int ge = x%10;
- int shi = x/10%10;
- int bai = x/10/10%10;
- //让ge*ge*ge+shi*shi*shi+bai*bai*bai和该数据比较
- if(x == (ge*ge*ge+shi*shi*shi+bai*bai*bai)) {
- //如果相同,就把该数据在控制台输出。
- System.out.println(x);
- }
- }
- }
- }
while循环
while循环基本格式:
- /*
- while循环的基本格式:
- while(判断条件语句) {
- 循环体语句;
- }
- 扩展格式:
- 初始化语句;
- while(判断条件语句) {
- 循环体语句;
- 控制条件语句;
- }
- 通过这个格式,我们就可以看到其实和for循环是差不多的。
- for(初始化语句;判断条件语句;控制条件语句) {
- 循环体语句;
- }
- */
- class WhileDemo {
- public static void main(String[] args) {
- //输出10次"HelloWorld"
- //for语句版
- for(int x=0; x<10; x++) {
- System.out.println("HelloWorld");
- }
- System.out.println("--------------");
- //while语句版
- int x=0;
- while(x<10) {
- System.out.println("HelloWorld");
- x++;
- }
- }
- }
while循环和for循环的区别?
- /*
- while循环和for循环的区别?
- 使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。
- 不知道用for循环。
- 因为变量及早的从内存中消失,可以提高内存的使用效率。
- 其实还有一种场景的理解:
- 如果是一个范围的,用for循环非常明确。
- 如果是不明确要做多少次,用while循环较为合适。
- 举例:吃葡萄。
- */
- class WhileDemo4 {
- public static void main(String[] args) {
- //for循环实现
- for(int x=0; x<10; x++) {
- System.out.println("学习Java技术哪家强,中国北京传智播客");
- }
- //这里不能在继续访问x了,因为这个x这是在大括号里有效
- //System.out.println(x);
- //while循环实现
- int y = 0;
- while(y<10) {
- System.out.println("学习Java技术哪家强,中国北京传智播客");
- y++;
- }
- //这里是可以继续访问y
- System.out.println(y);
- }
- }
厚度为0.01m的纸张折叠多少次,就可以保证厚度不低于珠穆朗玛峰8848m的高度?
- /*
- 我国最高山峰是珠穆朗玛峰:8848m,
- 请问,厚度为0.01m的纸张折叠多少次,就可以保证厚度不低于珠穆朗玛峰8848m的高度?
- 分析:
- A:定义一个统计变量,默认值是0
- B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度
- 我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度
- C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
- 折叠一次有什么变化呢?就是厚度是以前的2倍。
- D:只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++
- E:输出统计变量。
- */
- class WhileDemo5 {
- public static void main(String[] args) {
- //定义一个统计变量,默认值是0
- int count = 0;
- //最高山峰是珠穆朗玛峰:8848m这是最终的厚度
- //我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度
- //为了简单,我把0.01变成1,同理8848就变成了884800
- int end = 884800;
- int start = 1;
- while(start<end) {
- //只要每次变化的厚度没有超过珠穆朗玛峰的高度,就折叠,统计变量++
- count++;
- //折叠一次有什么变化呢?就是厚度是以前的2倍。
- start *= 2;
- System.out.println("第"+count+"次厚度是"+start);
- }
- //输出统计变量。
- System.out.println("要叠"+count+"次");
- }
- }
do...while
do...while语句格式:
- /*
- do...while循环的基本格式:
- do {
- 循环体语句;
- }while(判断条件语句);
- 扩展格式;
- 初始化语句;
- do {
- 循环体语句;
- 控制条件语句;
- }while(判断条件语句);
- */
- class DoWhileDemo {
- public static void main(String[] args) {
- //求和1-100
- int sum = 0;
- int a = 1;
- do {
- sum += a;
- a++;
- }while(a<=100);
- System.out.println(sum);
- }
- }
for、while于do..while语句区别
- /*
- 循环语句的区别:
- do...while循环至少执行一次循环体。
- 而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
- 那么,我们一般使用哪种循环呢?
- 优先考虑for,其次考虑while,最后考虑do...while
- */
- class DoWhileDemo2 {
- public static void main(String[] args) {
- int x = 3;
- while(x < 3) {
- System.out.println("我爱林青霞");
- x++;
- }
- System.out.println("--------------");
- int y = 3;
- do {
- System.out.println("我爱林青霞");
- y++;
- }while(y < 3);
- }
- }
注意死循环
- /*
- 注意死循环:
- A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
- B:两种最简单的死循环格式
- while(true){...}
- for(;;){...}
- */
- class DoWhileDemo3 {
- public static void main(String[] args) {
- int x = 0;
- while(x < 10) {
- System.out.println(x);
- x++;
- }
- System.out.println("--------------");
- /*
- while(true) {
- System.out.println("今天我很高兴,学习了死循环");
- }
- */
- /*
- 死循环
- for(;;){
- System.out.println("今天我很高兴,学习了死循环");
- } */
- //System.out.println("--------------");
- }
- }
在控制台输出在控制台输出九九乘法表:
- /*
- 需求:在控制台输出九九乘法表。
- 首先我们写出九九乘法表:
- 1*1=1
- 1*2=2 2*2=4
- 1*=3 2*=6 3*=9
- 1*4=4 2*4=8 3*4=12 4*4=16
- ...
- 1*9=9 2*9=18 3*9=27 ...
- 我们先把这个九九乘法表看出是这样的一个形状:
- *
- **
- ***
- ****
- *****
- ******
- *******
- ********
- *********
- 注意:
- '\x' x表示任意,这种做法叫转移字符。
- '\t' tab键的位置
- '\r' 回车
- '\n' 换行
- */
- class ForForDemo3 {
- public static void main(String[] args) {
- for(int x=0; x<9; x++) {
- for(int y=0; y<=x; y++) {
- System.out.print("*");
- }
- System.out.println();
- }
- System.out.println("--------------");
- //为了使用数据,我们从1开始
- for(int x=1; x<=9; x++) {
- for(int y=1; y<=x; y++) {
- System.out.print(y+"*"+x+"="+y*x+"\t");
- }
- //我们可以通过空的输出语句实现换行:System.out.println();
- System.out.println();
- }
- }
- }
break、continue、return语句
break:中断:
- /*
- 控制跳转语句:
- break:中断
- continue:继续
- return:返回
- break:中断的意思
- 使用场景:
- A:switch语句中
- B:循环语句中。
- (循环语句中加入了if判断的情况)
- 注意:离开上面的两个场景,无意义。
- 如何使用呢?
- A:跳出单层循环
- B:跳出多层循环 ---用得比较少
- 要想实现这个效果,就必须知道一个东西。带标签的语句。
- 格式:
- 标签名: 语句
- */
- class BreakDemo {
- public static void main(String[] args) {
- //在 switch 或 loop 外部中断
- //break;
- //跳出单层循环
- for(int x=0; x<10; x++) {
- if(x == 3) {
- break;
- }
- System.out.println("HelloWorld");
- }
- System.out.println("over");
- System.out.println("-------------");
- //跳出多层循环
- wc:for(int x=0; x<3; x++) {
- nc:for(int y=0; y<4; y++) {
- if(y == 2) {
- //break nc;//跳出单层循环
- break wc; //这里跳出多层循环
- }
- System.out.print("*");
- }
- System.out.println();
- }
- }
- }
continue:继续:
- /*
- continue:继续
- 使用场景:
- 循环中。离开此场景无意义。
- 测试,找到和break的区别:
- break:跳出单层循环
- continue:跳出一次循环,进入下一次的执行
- 练习题:
- for(int x=1; x<=10; x++) {
- if(x%3==0) {
- //在此处填写代码
- }
- System.out.println(“Java”);
- }
- 我想在控制台输出2次:“Java“
- break;
- 我想在控制台输出7次:“Java“
- continue;
- */
- class ContinueDemo {
- public static void main(String[] args) {
- for(int x=0; x<10; x++) {
- if(x == 3) {
- //break;
- continue;
- }
- System.out.println(x);
- }
- }
- }
return语句:
- /*
- return:返回
- 其实它的作用不是结束循环的,而是结束方法的。
- */
- class ReturnDemo {
- public static void main(String[] args) {
- for(int x=0; x<10; x++) {
- if(x == 2) {
- System.out.println("退出");
- //break;
- //continue;
- return;
- }
- System.out.println(x);
- }
- System.out.println("over");
- }
- }
执行结果:return后面的语句都不会执行。
实例:
需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱。
- /*
- 需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
- 每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
- 请问,经过多少天,小芳才可以存到100元钱。
- 分析:
- A:小芳的妈妈每天给她2.5元钱
- double dayMoney = 2.5;
- B:她都会存起来
- double daySum = 0;
- C:从第一天开始存储
- int dayCount = 1;
- D:经过多少天,小芳才可以存到100元钱。
- double result = 100;
- E:这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
- 说明要判断dayCount的值,如果对5整除就减去6元钱。
- daySum -= 6;
- 由此还隐含了一个问题,就是如果不是5的倍数天的话,钱要累加
- daySum += dayMoney;
- F:因为不知道是多少天,所以我用死循环,一旦超过100元我就退出循环。
- */
- class WhileDemo {
- public static void main(String[] args) {
- //每天要存储的钱是2.5元
- double dayMoney = 2.5;
- //存钱的初始化值是0
- double daySum = 0;
- //从第一天开始存储
- int dayCount = 1;
- //最终存储不小于100就不存储了
- int result = 100;
- //因为不知道是多少天,所以我用死循环,
- while(true) {
- //累加钱
- daySum += dayMoney;
- //一旦超过100元我就退出循环。
- if(daySum >= result) {
- System.out.println("共花了"+dayCount+"天存储了100元");
- break;
- }
- if(dayCount%5 == 0) {
- //花去6元钱
- daySum -= 6;
- System.out.println("第"+dayCount+"天花了6元钱");
- }
- //天数变化
- dayCount++;
- }
- }
- }
执行结果:
04-01 Java switch、for、while、do while语句,循环嵌套,跳转语句break、continue、return的更多相关文章
- JAVA之旅(二)——if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结
JAVA之旅(二)--if,switch,for,while,do while,语句嵌套,流程控制break , continue ,函数,重载的示例总结 JAVA的思想真的很重要,所以要专心的学-- ...
- Java流程控制,for,switch,while.break,continue,return
Java流程控制,for,switch,while.break,continue,return
- Java基础(2):Java中的四个跳转语句总结goto,break,continue,return
跳转控制语句 Java中的goto是保留字,目前不能使用.虽然没有goto语句可以增强程序的安全性,但是也带来很多不便,比如说,我想在某个循环知道到某一步的时候就结束,现在就做不了这件事情.为了弥补这 ...
- Java关键字 Finally执行与break, continue, return等关键字的关系
长文短总结: 在程序没有在执行到finally之前异常退出的情况下,finally是一定执行的,即在finally之前的return语句将在finally执行之后执行. finally总是在控制转移语 ...
- Java——break,continue,return语句
break语句: break:用于改变程序控制流 用于do-while.while.for中时,可跳出循环而执行循环后面的语句. break的作用:终止当前循环语句的执行. break还可以用来终止s ...
- Java中 break continue return 的区别
1.break break :跳出当前循环:但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环: ; i < ; i++) { ) { break; // 在执行 ...
- java中的 break continue return作用详解
break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环.如果break语句包含在嵌套循环里,它只跳出最里面的循环. 如下代码: ...
- Java控制语句——分支、循环、跳转
分支语句(if语句,switch语句): 循环语句(for,while,do...while); 跳转语句(break,continue,return): 分支语句(if语句,switch语句) if ...
- 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...
随机推荐
- Python-IDLE实现清屏
1.将下面文件复制到命名为ClearWindow.py的文件下,移动到 …Python\Python36-32\Lib\idlelib下. ############################## ...
- Educational Codeforces Round 61 F 思维 + 区间dp
https://codeforces.com/contest/1132/problem/F 思维 + 区间dp 题意 给一个长度为n的字符串(<=500),每次选择消去字符,连续相同的字符可以同 ...
- c# radiobutton
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- 天使投资、A轮、B轮、C轮
一般是这样划分的. A轮融资:公司产品有了成熟模样,开始正常运作一段时间并有完整详细的商业及盈利模式,在行业内拥有一定地位和口碑.公司可能依旧处于亏损状态.资金来源一般是专业的风险投资机构(VC).投 ...
- Jquery 单击_双击_鼠标经过_鼠标离开_背景样式变化
列表页点击.鼠标经过离开背景变化 <script type="text/javascript"> $(function () { $("table tr&qu ...
- spring mvc ajax异步文件的上传和普通文件上传
表单提交方式文件上传和ajax异步文件上传 一:首先是我在spring mvc下的表单提交方式上传 ssm的包配置我就不一一详细列出来了,但是上传的包我还是列出来 这一段我也不知道怎么给大家讲解就是直 ...
- day24(JAVAWEB上传与下载)
javaWeb上传与下载 上传: 上传方式: jspSmartUpload :应用在jsp上的文件上传与下载组件. FileUpload :用用在jaava环境上的上传的功能 ...
- day34(注解)
注解 注解和注释的区别: 注释:是给程序员看的. 注解:是给虚拟机识别的. 注解的作用: 1.代替配置文件 2.标识一个方法,代替一个特殊功能. JDK当中的提供的注解: 标识重写方法 @Overri ...
- java基础-day29
第06天 MySQL数据库 今日内容介绍 u MySQL单表查询 u SQL约束 u 多表操作 第1章 MySQL单表查询 1.1 SQL单表查询--排序 1.1.1 排序格式 通过order ...
- java中逗号分隔的字符串和List相互转换
1.将逗号分隔的字符串转换为List String str = "a,b,c"; List<String> result = Arrays.asList(str.spl ...