当前位置: 首页 > news >正文

Java小白入门到实战应用教程-循环结构

前言

循环结构是java语言中一个非常重要的语法结构,通过循环结构,我们可以重复执行一段代码逻辑。下面我们在正文中详细讲解java中的循环结构如何使用。

正文

for循环

for循环是我们在开发中最常用的一种循环结构之一,通常应用在我们知道需要循环次数的情况下,具体的使用语法如下:

for(初始化值;满足条件;更新初始值){//循环执行的逻辑
}

在for循环中有三个表达式,第一个为初始值,第二个为初始值需要满足的条件,只有满足条件才能走循环体中的逻辑,第三个表达式为去更新初始值,每次循环后都会执行更新的表达式。

下面我们直接看样例代码:

public class One {public static void main(String[] args) {for (int i = 1; i <= 10; i++){System.out.println(i);}}
}

解释:在这段代码中,我们在main函数中定义了一个for循环结构,首先声明一个int型的变量i,并赋予初始值为1。

然后第二个表达式为循环需要满足的条件,也就是当i<=10满足的时候,循环体就会一直执行

然后第三个参数为更新初始值,也就是每次循环后都会执行 i++,也就是每次循环,变量i的值都会加1。

最后在循环体中,我们打印了一下每次循环中i的值。

所以这段代码所实现的功能就是打印数字1-10。

while循环

那第二种必须要掌握的循环结构就是while循环了,可以用在我们不知道具体循环次数的情况下,while循环会在每次循环前去检查条件是否满足,只有满足条件才会去执行循环体。

语法:

while(条件语句){//循环体
}

通过上面的描述我们可以猜到,条件语句的最终结果只能是true。只有当满足条件,也就是结果是true的时候才会执行循环体。

下面我们使用while循环去实现前面的案例,打印1-10的数字。

public class One {public static void main(String[] args) {int i = 1;while (i<=10){System.out.println(i);i++;}}
}

解释:

我们在这段代码中先声明了一个int型的变量i,并给它赋予初始值为1;

然后我们在while循环中设置条件为i<=10,只有当i的值小于等于10的时候才会执行循环体。

然后我们每次循环先打印i的值,打印完成后我们将i的值每次做加1操作。

所以第一次循环i的值为1,满足条件,控制台输出1,i做加一操作后,i的值变为2.

然后开始第二次循环,满足条件,控制台输出2,i再做加一操作…

一直到循环第10次,控制台先输出数字10,然后i做加一操作后,i的值变为11,然后下次循环不满足条件,则循环就结束了。

do while循环

第三中必须掌握的循环结构就是do while循环了。do while循环和while循环的区别就是前者会先执行一次然后再去判断条件。而while循环是先判断条件是否满足才能进入循环体。

我们来看do while循环的语法:

do{}while(条件语句);

我们还是直接看样例代码:

public class One {public static void main(String[] args) {int i = 1;do {i++;}while (i<1);System.out.println(i);}
}

解释:

我们在这段代码中先声明了一个int型的变量i,并给它赋予初始值为1;

然后我们在do while循环体中做i加一操作,然后条件语句是当i<1是true的时候,执行下一次循环体

然后在最后输出i的值。

这里我们为了让大家更清晰的观察到do while会先执行一次的效果,所以i的初始值其实就不满足条件语句的。

但是最终输出的i的值为2,说明i++是执行了一次的。

控制循环

控制循环是我们必须掌握的知识点语法,它能帮助我们更好的去控制循环。

比如我们想在某次循环的时候去跳过这次循环,不执行循环体中的处理逻辑

又比如我想在某次循环后就停止循环,终止整个循环结果。

所以控制循环的语法就是结果以上这种问题的。

控制循环主要有两个关键字:

  • break:立即退出当前循环。
  • continue:跳过当前循环的剩余部分逻辑,并进行下一次循环。

我们还是直接看代码示例:

public class One {public static void main(String[] args) {for (int i = 1; i <= 10; i++) {if (i == 5) {continue; // 跳过5}if (i == 8) {break; // 结束循环}System.out.println(i);}}
}

我们修改了前面for循环打印1-10数字的逻辑,加了一些控制逻辑。

其中,当i的值等于5的时候,跳过本次循环剩余的逻辑,继续进行之后的循环,也就是不打印数组5.

然后当i的值为8的时候,通过break关键字,终止当前整个循环,也就是8 9 10 都不会打印了。

循环嵌套

循环嵌套就是在循环体中在写一层循环结构,java中是支持多层循环嵌套的,但是要注意的是过多的循环嵌套会影响代码执行的效率

代码样例:

public class One {public static void main(String[] args) {for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {System.out.print("* ");}System.out.println();}}
}

通过两层的for循环嵌套,我们实现打印直角三角形的效果。

* 
* * 
* * * 
* * * * 
* * * * * 

相关文章:

  • 如何获得某个Window画面所属包名packageName和用户userId
  • 一步步教你学会如何安装VMare虚拟机(流程参考图)
  • 8卦的形象记忆法
  • 【OpenCV C++20 学习笔记】扫描图片数据
  • 数据结构之判断二叉树是否为搜索树(C/C++实现)
  • 如何使用 Django 搭建 Web 服务器
  • JVM类加载机制详解
  • LwIP入门实战 — 1 计算机网络简述
  • 我在Vscode学Java集合类
  • Nest.js学习(一)
  • C# 数组常用遍历方式
  • 培训第十五天(shell脚本与sed的学习)
  • 111111111
  • OWASP top 10之XSS和csrf
  • 电脑如何进行录屏?电脑录屏无压力!
  • ----------
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • angular组件开发
  • ES6 学习笔记(一)let,const和解构赋值
  • Fastjson的基本使用方法大全
  • Java反射-动态类加载和重新加载
  • k8s如何管理Pod
  • Promise面试题,控制异步流程
  • 给Prometheus造假数据的方法
  • 回顾 Swift 多平台移植进度 #2
  • 基于HAProxy的高性能缓存服务器nuster
  • 技术:超级实用的电脑小技巧
  • 蓝海存储开关机注意事项总结
  • 区块链技术特点之去中心化特性
  • 手写双向链表LinkedList的几个常用功能
  • 网络应用优化——时延与带宽
  • 学习Vue.js的五个小例子
  • 一天一个设计模式之JS实现——适配器模式
  • No resource identifier found for attribute,RxJava之zip操作符
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​批处理文件中的errorlevel用法
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #ifdef 的技巧用法
  • #VERDI# 关于如何查看FSM状态机的方法
  • #大学#套接字
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (11)MSP430F5529 定时器B
  • (19)夹钳(用于送货)
  • (20)docke容器
  • (30)数组元素和与数字和的绝对差
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (poj1.2.1)1970(筛选法模拟)
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (web自动化测试+python)1
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (免费分享)基于springboot,vue疗养中心管理系统