java用do while语句逆序输出_java基础3 循环语句:While 循环语句、do while 循环语句、 for 循环语句 和 break、continue关键字...

一、While循环语句

1、格式

while(条件表达式){

执行语句;

}

2、要点

1,先判断后执行

2,循环次数不定

3,避免死循环

3、举例

题目1:输出0-100之间的所有数

1 classDemo32 {3 public static voidmain(String[] args){4 //输出0-100之间的所有数

5 int i=1;6 while(i<100){7 System.out.println(i);8 i++;9 }10 }11 }

题目2:猜数字游戏

1 public static voidmain(String[] args) {2    //解析:Math.random()返回一个double类型的0.0~1.0之间的数值; Math.random()*100返回结果:0.0~100.0(不包括0.0和100.0); (int)(Math.random()*100)+1,返回结果:1~100(包括1和100)

3 int num = (int)(Math.random()*100)+1; //在1~100之间,生成一个随机数。

4 Scanner sc = newScanner(System.in); //创建一个扫描器对象5 int guessNum = -1; //guessNum 的初始化值不能在1~100之间(包括1和100)。6 7 while (guessNum !=num) {8 System.out.println("请输入1-100之间整数");9

10 int guessNum =sc.nextInt(); //扫描你输入的整形对象11 if (guessNum ==num) {12 System.out.println("中啦");13 } else if (guessNum

二、do ... while循环语句

1、格式

do{

执行相应的代码;

}while(判断条件);

2、要点

1,先执行后判断

2,至少执行一次

3,最后的分号勿漏

3、while循环语句和do-while循环语句的区别:

1)while循环语句,是先判断,再执行相应代码

2)do-while循环语句,先执行相应的代码,再判断

4、例子

1 public static voidmain(String[] args) {2 int x = 0, y = 0;3 do{4 System.out.println(x);5 x++;6 } while (x < 0);//注意一个细节:do...while 后面的分号7 //do...while:不管是否满足循环条件,do都会先执行一次。

8 while (y < 0) {9 System.out.println(y); //条件不满足,结果只有x的值输出10 y++;11 }12 }

题目2:猜数字游戏

1 public static voidmain(String[] args) {2 //记录用户输入的数字

3 int guess = -1;4 //记录用户输入次数

5 int count = 0;6 //生成1-100之间随机数

7 int num = (int) (int)(Math.random()*100)+1;//在1~100之间,生成一个随机数。8     Scanner sc = newScanner(System.in);//创建一个扫描器对象9

10 //循环猜数字

11 do{12 System.out.println("请输入1-100之间的数字");13 guess =sc.nextInt();//扫描你输入的整形对象14 if (guess >num) {15 System.out.println("哥们,太大了");16 } else if (guess

23 System.out.println("你猜测的数字是:" + num + "猜测了" + count + "次");24 }

三、for 循环语句(和增强for循环)

1.格式

for(初始化表达式;循环条件表达式;循环后的操作表达式){

执行语句;

}

2、for 和while的区别

while循环和for循环的对比:

1、循环类型:

while循环是不确定性循环(循环次数不明确)

for循环式确定型循环(循环次数明确)

2、相互转换:

while循环和for循环可以相互转换

3、适用场合:

当循环次数确定时,一般使用for循环

当循环次数不确定时,一般使用while循环

1 public static voidmain(String[] args) {2 for (int x = 0; x < 5; x++) {3 System.out.println("hello java");4 }5 System.out.println(x);6 //x cannot be resolved to a variable

7

8 int y = 0;9 while (y < 5) {10 System.out.println("hello world");11 y++;12 }13 System.out.println(y);14 }

解析:

x 为什么会找不到,注意了变量的作用域,也就是变量的作用范围。x只在for循环的大括号内有效,出了这个区域,就无效了.在内存中就消失了。x消失后,仍要访问它,肯定会报错的。

y 就不一样了,y是定义在while外的。while循环完毕仍有效while的初始化 动作在外边,循环结束后y仍然存在。

当定义的y 只作为循环增量存在的话的,循环完毕后y就没有用了,但是y还是占着一块内存。所以,如果定义的变量只作为循环增量存在的话,就用for循环可以节约内存。

其实for 和while是可以互换的。

总结

A、for里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。

B、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束时就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。

C、最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。推荐使用while(true)

3、举例

题目1:打印99乘法表

1 classDemo1{2

3 public static voidmain(String[] args) {4 for (int x = 1; x <= 9; x++) {5 for (int y = 1; y <= x; y++) {6 System.out.print(y + "*" + x + "=" + x * y + '\t'); //\t:制表符,相当于Table键,一个\t代表四个空格7 }8 System.out.println(" ");9 }10 }11 }

效果图:

0880c913dbbec88a4989c6714b64e384.png

转义字符:

\r 表示接受键盘输入,相当于按下回车。

\n 表示换行。

\t 制表符,相当于Table键(四个空格)

\b 退格键,相当于Back Space

\’ 单引号

\’’ 双引号

\\ 表示一个斜跨

题目2:打印直角三角形

1 public static voidmain(String[] args) {2 for (int x = 0; x < 5; x++) {3 for (int y = 0; y <= x; y++) {4 System.out.print("*");5 }6 System.out.println("");7 }8

9 }

效果图

033d1af9dbb728752af091abc43384af.png

题目3:打印倒直角三角形

1 public static voidmain(String[] args) {2 for (int x = 5; x > 0; x--) {3 for(int y=x;y>0;y--){4 System.out.print("*");5 }6 System.out.println("");7 }8 }

效果图

f549f8d34d0c02bfb48b4323fc417030.png

4、增强for循环(也叫foreach循环)

jdk1.5出现的新功能

1)增强for循环的作用

简化了迭代器的书写格式(注意:增强for循环底层还是使用了迭代器遍历)

2)增强for循环的适用范围

如果实现了Iterable接口或者数组对象都可以使用增强for循环.

3)增强for循环的格式

for(数据类型 变量名:遍历的目标对象名){

}

4)增强for循环需要注意的事项

1、增强for循环底层也是使用迭代器获取的,只不过获取迭代器是由jvm完成,不需要我们获取迭代器,索引在使用增强for循环遍历元素的过程中不准使用集合对对象对集合元素经行修改

2、迭代器遍历元素和增强for循环的区别:使用迭代器遍历元素时可以删除集合元素,而增强for循环遍历集合元素时,不能调用迭代器里面的remove方法删除元素.

3、普通for循环与增强for循环的区别:普通for循环可以没有变量目标,而增强for循环一定要有变量目标

1 public classDemo2 {2 public static voidmain(String[] args) {3 int[] arr={12,2,5,0};4

5 //普通for循环

6 for (int i = 0; i < arr.length; i++) {7 System.out.println(arr[i]);8 }9

10 //增强for循环

11 for (inti : arr) {12 System.out.println(i);13 }14 }15 }

四、 break、continue关键字

1、break关键字:break 语句用于终止最近的封闭循环或它所在的switch语句。控制传递给终止语句后面的语句(如果有的话)。

适用:for循环 、switch判断语句。

要点:

1,结束循环之用

2,改变循环执行次数

3,只跳出本循环

break的用法:

单独使用。

与标签一起使用。(标签:即一个名字,满足标识符的条件即可)。

使用细节: 不要再break语句之后,编写其他语句,永远都执行不到,编译报错。

38b1fa181a4797dbe4beca54bc23be21.png

2、continue关键字:语句将控制权传递给它所在的封闭迭代语句的下一次迭代。(跳出本循环,执行下一次循环)。

适用于:while 、do while、for循环语句

要点:

1,没有终止整个循环

2,没有改变循环执行次数

3,只在本层循环当中起作用

使用细节:

1. 如果continue出现在循环的末尾(最后一条语句),那么可以省略。

2. 如果continue出现在循环的第一条语句,那么后面的语句都无法执行,所以编译报错。

3. 可以结合标记使用。

3、小结:

break: 结束了一个循环

continue:结束了一次循环

如图所示:

0199891f88ea7a4143c7439f38681779.png

51cb9b32467f741583a24939c5109148.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值