#博学谷IT学习技术支持#

Java循环for,while和do…while

简述:如果对于同一种操作需要执行多次的话,就要使用到循环结构。它可以大大简化代码的书写量,让我们的开发更便捷。
例如:打印100次“HelloWorld”,如果写100次输出语句,那种痛苦我觉得懂得都懂。

一、各种循环

1.for循环

举例:打印“HelloWorld”100次
public static void main(String[] args) {for (int i = 0; i < 100; i++) {System.out.println("HelloWorld");}}

这便是for循环的实现代码,接下来分析它的结构:

for(变量初始化;循环判断条件;变量改变情况) {//循环体内容
}

分析:

1. 数据初始化:实际上就是对循环次数变量的定义操作
2. 循环判断条件:就是当前循环是否继续执行的依据
3. 变量改变情况:就是当前循环在执行完一次之后,变量要进行改变的操作
#循环执行的顺序是:1,2,循环体,3

注:下面循环涉及到的2,3同for循环解释一致,下面不再赘述。

2.while循环

举例:打印“HelloWorld”100次
public static void main(String[] args) {int i = 0;while (i < 100) {System.out.println("HelloWorld");i++;}}

这是while循环的实现代码,分析其结构:

变量定义
while(循环判断条件){//循环体内容变量改变情况
}

分析:

1. 变量定义:定义循环判断条件所需的变量
2.循环判断条件
3.变量改变情况
#循环执行的顺序:1,2,循环体,变量改变情况

3.do…while循环

举例:打印“HelloWorld”100次
    public static void main(String[] args) {int i = 0;do {System.out.println("HelloWorld");i++;} while (i < 100);}

这是do…while循环的实现代码,分析其结构:

变量定义
do {//循环体内容变量改变情况
} while (循环判断条件);

分析:

1. 变量定义:定义循环判断条件所需的变量
2.循环判断条件
3.变量改变情况
#循环执行的顺序:1,循环体,变量改变情况,2

二、三种循环之间的区别

1.for循环与while循环的区别

 观察两种循环的结构,可以发现,他们的变量定义位置是不同的。for循环的变量是定义在for()的小括号里的,而
while循环是定义在while循环上的,这是他们的一点区别。但是因为这个差别,就导致for循环括号里定义的变量只能在
for循环内部进行使用,而随着for循环结束,变量便失效了。而while循环的变量是定义在外部的,所以在while循环结束
后,程序依旧可以使用该变量。实际上,for循环括号中定义变量的操作,也可以在外部进行,而for循环也可以使用。格式如下:
public static void main(String[] args) {int i;for (i = 0; i < 100; i++) {System.out.println("HelloWorld");}
}
这样使用是完全没有问题的。

2.for循环,while循环和do…while循环的区别

 for循环和while循环都是先判断,再执行循环体内容,而do...while循环则是首先执行一次循环体内容,再进行判断。
这样就使得它不适合一部分场景。例如:循环体执行的判断条件是 i < 10,此时,我们传入的i为10,for循环和while循
环因为不符合条件便不会执行,而do...while循环会先执行一次循环体,才会进行判断,所以便导致了不需要的输出。
所以,我们大多使用的是for,while循环,个别情况会使用do...while循环。

三、一个小建议

public static void main(String[] args) {int i = 0;while (i < 10) { System.out.print(i + " ");i++;}System.out.println();i = 0;while (i < 10) {i++;System.out.println(i + " ");}
}
 上面的两端代码,都是while循环的实现,表面看差不多,感觉输出的结果似乎一样。但是,它们之间是有差别的。在
我上面书写的while循环,是这里的第一段代码。而第二段代码,就是将变量改变情况放在了循环内容的前边。就是这样的
改变,导致他们的输出结果不同。

这是它们的输出结果:

0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
 我们会发现,他们的输出结果不一样,这种情况就是当我们要执行的循环内容,它涉及到操作判断所需的变量时,它可
能需要的是判断后传入的那个值,而我们判断完便对变量进行操作,再执行循环内容,便可能发生一些我们不想遇到的错
误。所以,我的建议便是使用while,do...while循环时,尽量模仿for循环那样,等到循环内容执行后再进行改变该变量,
这样可能帮助你减少发生一些小问题。当然,也不是一定要放在最后执行,还是要结合遇到的问题灵活应变,这才是我们作为一个程序猿应有的思维方式。

这是我学习中遇到的问题和解决方案,发该博客是为了记录遇到的这些情况,希望可以给看到的你有所帮助,如有不足,请指出。

java中三种基本循环方式详解相关推荐

  1. 电信设置的nat 虚拟服务器192.168.1.3 是什么,VMware WorkStation的三种网络连接方式详解...

    一. 首先贴出本人在网络上找到与VMware网络连接相关的知识 安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,其他的未安装(当然也可以手动安装其他的).其中VMnet1是host ...

  2. vmware虚拟机重装后本机没虚拟网卡解决方案及虚拟机的三种网络连接方式详解

    vmware虚拟机重装后本机没虚拟网卡解决方案: 卸载虚拟机时,就算删除了安装路径,在设备管理器中删除了网卡,在注册列表项中删除了vmware列表项,重装后一般还是会出现本机网络连接中没有没有虚拟机默 ...

  3. DDOS攻击器常见的三种DDoS攻击方式详解

    一流的攻击速度以及强大的隐蔽性能,使得DDOS集合了市面上所有攻击软件优点成为了最热的攻击方式.接下来本文将简单的介绍一下三种最为流行的DDOS攻击方式. SYN/ACK Flood攻击: 这种攻击方 ...

  4. puppet三种认证注册方式详解及常见报错分析

    本文主要介绍puppet的三种认证方式:自动注册.手动注册和预签名注册:master和agent的认证关系,是随着认证的复杂程度提升,安全性也会随之提高,下面就是每一种方式的示例解读. 一 手动注册 ...

  5. Java中三种交换值得方式

    方式一: 适用于任意数据类型 int i= 3 ,j=4; int temp = 0; temp = i; i = j; j = temp; 方式二:只适用于整型数据 int i = 3,j = 4; ...

  6. java中的json_JAVA中的四种JSON解析方式详解

    JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...

  7. 在java中三种编程思想(OOA,OOD,OOP)

    在java中三种编程思想:OOA,OOD,OOP OOA 一.OOA的主要原则. 二.面向对象分析产生三种分析模型 三.OOA的主要优点 四.OOA方法的基本步骤 OOD 一.OOD背景知识 二.OO ...

  8. java中几种创建对象的方式

    java中几种创建对象的方式 在java程序中,对象可以被显式地或者隐式地创建. 下面说说四种显式的创建对象的方式:     ●  用new语句创建对象     ●  运用反射手段,调用java.la ...

  9. Java中两种抛出异常的方式

    Java中两种抛出异常的方式 在Java中有两种抛出异常的方式,一种是throw,直接抛出异常,另一种是throws,间接抛出异常. 直接抛出异常是在方法中用关键字throw引发明确的异常.当thro ...

最新文章

  1. Java培训的学费标准是多少
  2. uva-10954-贪心
  3. 欧氏距离 vs 马氏距离
  4. 光流 | OpenCV中的光流有关函数
  5. c库函数-strtol()介绍
  6. 如何使用两个堆栈实现队列_使用两个队列实现堆栈
  7. 学习python时间安排_Python时间和日期学习
  8. 2011版计算机网络原理,2011年7月自考04741计算机网络原理真题及答案
  9. XLSTransformer生成excel文件案例
  10. vcredist_x86.exe 静默安装方法
  11. python 离线安装paramiko_离线安装 Python 2.7, paramiko 和 tornado
  12. 解决ttf-mscorefonts-installer无法安装的问题
  13. 【MDCC专访】郑晔:用JavaScript征服物联网应用开发
  14. 计算机磁盘文件怎么加密,win10怎样对电脑硬盘文件进行加密 windows10给电脑硬盘文件加密教程...
  15. java+桌球小游戏图片_Java桌球小游戏
  16. https页面访问不到http的处理方法
  17. Spark 报错:Lost task 0.0 in stage 1.0 (TID 2, xxx, executor 0): java.io.FileNotFoundExceptio
  18. Squitd代理服务器安装
  19. 转载:揭秘内容付费的三种商业模式(原作者:小马宋)
  20. Dynamo 如何生成管道

热门文章

  1. 重大突破!中国量子计算机“九章”问世!速度超谷歌“量子霸权”100亿倍
  2. word去除自动编号的宏但是保留序号
  3. “旺夫紫”不旺了,是剧情的设定,还是在走下坡路了
  4. Matlab如何制作和保存gif动图
  5. html5蚂蚁森林种树效果,蚂蚁森林种树有什么用(隐形好处一看便知)
  6. 零基础1个月学会汉语拼音
  7. 【100%通过率】华为OD机试真题 Java 实现【垃圾短信识别】【2023 Q1 | 100分】
  8. OSChina 周六乱弹 ——在你玩的时候,妹子都在干这个
  9. PS抠图激发视频教程
  10. STM32补充(六) TIM_ClockDivision