三种循环的区别

简介: 三种循环的区别

三种循环的区别:

1.for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)

2.do..while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for和while的区别:

1.条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了

2.条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

死循环格式:

for() {}while(true) { }do( }while(true);

while的死循环格式是最常用的


1 问题

对于三种循环的执行过程区别在于什么?

三种循环的执行条件有何不同?

同样的条件应用于三种循环,各自得到的结果如何?

2 方法

首先编写三种循环,使用最简单的循环条件

执行三个循环

可见三种循环在同样的条件下所得到的结果是不一样的

结论一

原因在于for循环和while循环,是先判断条件是否为true,再执行循环内的指令,而我们给出的条件本来就是错误的,所以前两个循环是无法输出指令,但是do..while循环却输出了结果,是因为do..while循环,是先执行再判断。

然后,我们在各自循环下添加一个打印自增变量的指令,执行循环。

可见,无法找到自增变量i,但是我们注释掉for循环下的自增变量打印之后就能得到下面结果

由此可见,只有for循环下的自增变量无法找到

原因在于条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。而条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

public class Xunhuan {
public static void main(String[] args) {
//for循环
/*int i;
       for (i = 3; i<3 ;  i++){
           System.out.println("三种循环");

       }
       System.out.println("---------");

       //while 循环
       int j=3;
       while(j<3){
           System.out.println("三种循环");
           j++;
       }
       System.out.println("---------");

       //do...while循环
       int k=3;
       do {
           System.out.println("三种循环");
           k++;
       }while(k<3);*/

       //for循环
for (int i =1;i<3;i++){
           System.out.println("三种循环");
}

       System.out.println("--------");



//while 循环
int j=1;
       while(j<3){
           System.out.println("三种循环");
j++;
}
       System.out.println(j);
System.out.println("--------");


//死循环
/*for (;;){
           System.out.println("123123");
       }

       /*while(true) {
           System.out.println("456456");
           if ()
       }*/
       /*do {
           System.out.println("789789");
       }while (true);*/

}
}


3 结语

针对三种循环区别问题,提出多次实验方法,通过4次实验,验证了三种循环的区别差异,了解到了三种循环之间各自的特点与缺点,更方便于我们在今后的学习中更好地去使用三种循环语句,为自己的学习JAVA的未来铺平了道路。

目录
相关文章
|
Rust IDE NoSQL
Clion2022安装破解与激活教程,亲测可用
CLion是JetBrains公司旗下发布的一款跨平台C/C++/Rust IDE开发工具。
13503 1
|
机器学习/深度学习 人工智能
48小时封镜!这是一部完全由AI制作的科幻电影
在伦敦科幻电影节的“48小时电影挑战”,导演Oscar Sharp和AI研究员Ross Goodwin带来一部全部制作过程由AI导演的实验性影片《Zone Out》。影片采用“换脸”技术,使用神经网络生成的对话和配音等,整个制作过程都由被称为Benjamin的AI进行处理。
2659 0
|
人工智能
写歌词的技巧和方法全解析:开启你的音乐创作之旅,妙笔生词智能写歌词软件
怀揣音乐梦想,渴望用歌词抒发情感?掌握关键技巧,你也能踏上创作之旅。灵感来自生活点滴,主题明确,语言简洁,韵律和谐。借助“妙笔生词智能写歌词软件”,AI辅助创作,轻松写出动人歌词,实现音乐梦想。
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
401 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
数据采集 存储 数据处理
LabVIEW利用旋转编码器脉冲触发数据采集
LabVIEW利用旋转编码器脉冲触发数据采集
316 0
|
XML Web App开发 JSON
HTTP代理神器Fiddler的配置
HTTP代理神器Fiddler的配置
|
算法 安全 网络安全
HTTPS加密原理解析:保障通信安全的密码学算法
HTTPS加密原理解析:保障通信安全的密码学算法
1129 0
|
缓存 负载均衡 安全
虚拟 IP 地址对于网络有什么用处?
随着互联网技术和科技的发展,在上网的时候使用代理ip的使用人数也越来越多,因为业务的需求需要使用http动态代理ip的应用范围越来越多,那么http代理ip组成成分有哪些?接下来小编就给大家介绍一下
622 0
虚拟 IP 地址对于网络有什么用处?
|
Java Maven 开发工具
2020-3版本的idea那些选项去哪了呢(例如:Othere Settings、Create New Servlet等等)
2020-3版本的idea那些选项去哪了呢(例如:Othere Settings、Create New Servlet等等)
605 0
2020-3版本的idea那些选项去哪了呢(例如:Othere Settings、Create New Servlet等等)
|
JSON 小程序 JavaScript
微信小程序--》小程序—组件通信和behavior使用
⚓经过web前端开发的学习,相信大家对于前端开发有了一定深入的了解,今天我开设了微信小程序,主要想从移动端开发方向进一步发展,而对于我来说写移动端博文的第一站就是小程序开发,希望看到我文章的朋友能对你有所帮助。
501 0
微信小程序--》小程序—组件通信和behavior使用