JavaSE——流程控制-循环结构(for循环、while循环、小案例、do-while循环、死循环、循环嵌套)

目录

for循环

while循环

小案例

do-while循环

死循环

循环嵌套


for循环

for(int i = 0; i < 5; i++)
{System.out.println("Hello world");
}

执行的流程:

  1. 循环一开始,执行int i=0 一次。
  2. 此时 i = 0,接着计算机执行循环条件语句:0<3 返回true,计算机就进到循环体中执行,输出:helloWorld,然后执行选代语句i++。
  3. 此时 i = 1,接着计算机执行循环条件语句:1<3 返回true,计算机就进到循环体中执行,输出:helloWorld,然后执行选代语句i++。
  4. 此时 i = 2,接着计算机执行循环条件语句:2<3 返回true,计算机就进到循环体中执行,输出:helloWorld,然后执行选代语句i++。
  5. 此时 i = 3,然后判断循环条件:3<3 返回false,循环立即结束!

for循环在开发中的常见应用场景

  • 减少代码的重复编写、灵活的控制程序的执行

for循环的其他常见应用

  • 批量生产数据
// 产生1-100的数字,并求和
int sum = 0;
for(int i = 1; i <= 100; i++)
{sum += i;
}
System.out.println(sum);

while循环

public class test
{public static void main(String[] args){int i = 0;while(i < 5){System.out.printlb("Hello world");i++;}}
}

与for循环的执行流程一样。


 while和for有什么区别?什么时候用for,什么时候用while?

  • 功能上是完全一样的,for能解决的while也能解决,反之亦然。
  • 使用规范:如果一开始不知道循环次数的情况下,建议使用while循环解决更专业。一开始就知道循环几次的情况下,使用for循环来解决更专业。

小案例

需求:世界最高山峰珠穆朗玛峰高度是:8848.86米=8848860毫米,假如我有一张足够大的纸,它的厚度是0.1毫米。请问:该纸张折叠多少次,可以折成珠穆朗玛峰的高度?

  1. 定义变量存储珠穆朗玛峰的高度、纸张的高度。
  2. 使用while循环来控制纸张折叠,循环条件是(纸张厚度<山峰高度),循环每执行一次,就表示纸张折叠一次,并把纸张厚度变为原来两倍。
  3. 循环外定义计数变量count,循环每折叠一次纸张,让count变量+1;
public class WhileTest
{public static void main(String[] args){double peakHeight = 8848860;  //山峰高度double paperThickness = 0.1;  //纸张厚度int count = 0;  //纸张折叠次数while(paperThickness < peakHeight){paperThickness *= 2;count++;}System.out.println("纸张需要折叠"+ count +"次" );System.out.println("纸张最终的厚度:"+ paperThickness + " mm");}
}

 执行结果:

do-while循环

其特点是:先执行后判断

死循环

  • 可以一直执行下去的一种循环,如果没有干预不会停下来。

死循环的写法

for( ; ; )
{System.out.println("Hello world");
}//经典写法
while(true)
{System.out.println("Hello world");
}do
{System.out.println("Hello world");
}while(true);

循环嵌套

  • 循环中又包含循环。
for(int = 0; i < 3; i++)
{for(int j = 0; j < 5; j++){System.out.println("我爱你");}
}

循环嵌套的特点

  • 外部循环每循环一次,内部循环会全部执行完一轮


END


学习自:黑马程序员——JavaSE课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/666373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下载RTSP播放器

1.网站1 2.海康播放器 在海康官网上选择【服务支持】【工具软件】&#xff0c;往下滚动&#xff0c;打开VSPlayer_x64

陪女朋友学习计算机二级之栈和队列

栈 栈(堆栈)的定义 堆栈又名栈(stack),它是一种线性表。限定仅在表尾进行插入和删除操作的线性表。是一种后进先出的线性表. 空栈:不含任何元素的空表。 栈顶和栈底 进行插入和删除的这一端(表尾)被称为栈顶&#xff0c;相对地&#xff0c;把另一端称为栈底。 入栈和出栈 …

大小姐驾到!高德地图联合《王者荣耀》推出孙尚香导航语音包

“大小姐驾到&#xff01;统统闪开&#xff01;”如果你是一个手游爱好者&#xff0c;多半会对这句话耳熟能详&#xff0c;来自于国内手游界顶流《王者荣耀》中的高人气角色——孙尚香&#xff0c;并成为一代玩家们的记忆。 如今&#xff0c;随着高德地图与《王者荣耀》达成合…

Alias许可常见问题

在数字化时代&#xff0c;软件许可管理成为企业关注的焦点。然而&#xff0c;许多企业在使用软件过程中&#xff0c;经常会遇到一些关于许可的常见问题&#xff0c;导致软件使用受到限制或产生法律风险。作为业界领先的许可管理解决方案提供商&#xff0c;Alias致力于为企业提供…

java之ReentrantLock

在讲RentrantLock之前需要先讲一下AQS和LockSupport&#xff0c;因为rentrantLock底层是用AQS实现的&#xff0c;而AQS中获取阻塞和唤醒底使用LockSupport实现的。 1、LockSupport实现 下面代码中&#xff0c;LockSupport.park方法是当前线程等待&#xff0c;直到获得许可&am…

Istio-解决Zipkin对项目的侵入性问题

Istio采用SideCar模式注入的Enovy代理在某些情况下不能完全解决对项目的无侵入性&#xff0c;比如需要用到Istio的链路追踪功能的时候。需要在代码中手动注入链路追踪需要的header&#xff0c;这样就出现了Istio对业务功能的侵入性。 istio服务网格的调用链跟踪需要依赖在服务之…

大数据环境搭建(一)-Hive

1 hive介绍 由Facebook开源的,用于解决海量结构化日志的数据统计的项目 本质上是将HQL转化为MapReduce、Tez、Spark等程序 Hive表的数据是HDFS上的目录和文件 Hive元数据 metastore&#xff0c;包含Hive表的数据库、表名、列、分区、表类型、表所在目录等。 根据Hive部署模…

深度学习如何入门

深度学习作为人工智能领域的一个热门分支&#xff0c;已经在图像识别、语音识别、自然语言处理等多个领域取得了令人瞩目的成果。对于想要入门深度学习的初学者来说&#xff0c;了解其基本概念、工具和步骤是非常重要的。本文将详细介绍如何入门深度学习。 一、深度学习基本概…

axios二次封装用法

axios二次封装 一、request.js import axios from axios import router from "/router";const request axios.create({baseURL: http://localhost:9090,timeout: 5000 })// request 拦截器 // 可以自请求发送前对请求做一些处理 // 比如统一加token&#xff0c;对…

学习数据结构的第一天

结构体 如何定义结构体 1、先定义结构体类型&#xff0c;再定义结构体类型变量 struct student/定义学生结构体类型/ { long number; char name[20]; char sex; int age; float score[3];/三科考试成绩/ }2、定义结构体类型同时定义结构体类型变量 struct student/定义学生结…

Spark部署模式

目录 部署模式概述 1. Local Mode 2. Standalone Mode 3. YARN Mode 4. Mesos Mode 5. Kubernetes Mode 部署模式选择 部署模式概述 Apache Spark支持多种部署模式&#xff0c;这些模式决定了如何在集群上启动和运行你的Spark应用程序。以下是Spark支持的主要部署模式&a…

什么是进销存?一文读懂进销存管理系统

阅读本文&#xff0c;你将了解&#xff1a;一、什么是进销存&#xff1b;二、什么是进销存管理系统&#xff1b;三、为什么有必要使用进销存管理系统&#xff1b;四、进销存管理系统的优势&#xff1b;五、好用的进销存管理系统。 这是我们公司搭建好的免费进销存系统模版&…

MyBatis | Insert null 错误,Column xxx cannot be null,即使数据库DDL里写了DEFAULT ‘‘

虽然DDL里写了fund_batch_no varchar(30) NOT NULL DEFAULT &#xff0c;但mybatis里是下面这么写的&#xff1a; <insert id"batchInsert"> insert into repay_detail_tab ( fund_batch_no) values <foreach collection"repayDetails" item&quo…

近屿智能引领行业前沿,精心打造AIGC大模型工程师和产品经理的进阶之路(附完整版学习路径图)

近屿智能&#xff0c;倾力打造了一套独特的AIGC大模型工程师和产品经理学习路径图。该路径图清晰地展示了从初学者到专家水平的技能进阶过程&#xff0c;为工程师和产品经理提供了明确的学习目标和成长路径。 这套学习路径图适用于不同背景和经验的学习者&#xff0c;无论您是初…

GPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用

详情点击公众号&#xff1a;技术科研吧 链接&#xff1a;GPT在地学、GIS、气象、农业、生态、环境等领域中的高级应用 一开启大模型 1 开启大模型 1)大模型的发展历程与最新功能 2)大模型的强大功能与应用场景 3)国内外经典大模型&#xff08;ChatGPT、LLaMA、Gemini、DAL…

Python创建类的成员并访问

在Python中&#xff0c;类是面向对象编程的核心概念之一。通过类的定义&#xff0c;可以创建对象并定义对象的属性和方法。本文将介绍在Python中如何创建类的成员&#xff08;包括属性和方法&#xff09;&#xff0c;以及如何访问类的成员。 1. 创建类的属性 在Python…

【XR806开发板试用】TCP通信测试 Ping 命令测试

1.工程准备 由于要使用wifi功能&#xff0c;直接从wlan_demo复制一份出来&#xff0c;然后修改。 源文件只留下 main.c 就可以了。 BUILD.gn文件 import("//device/xradio/xr806/liteos_m/config.gni")static_library("app_mying") {configs []sources…

2024美赛C题完整解题教程及代码 网球运动的势头

2024 MCM Problem C: Momentum in Tennis &#xff08;网球运动的势头&#xff09; 注&#xff1a;在网球运动中&#xff0c;"势头"通常指的是比赛中因一系列事件&#xff08;如连续得分&#xff09;而形成的动力或趋势&#xff0c;这可能对比赛结果产生重要影响。球…

STL常用容器—list容器(链表)

STL常用容器—list容器&#xff08;链表&#xff09; 一、list容器基本概念二、list容器基本操作与常用方法1. list构造函数2. ☆list 插入和删除3. list 获取头尾数据4. list 大小操作5. list赋值和交换6. list 反转和排序 三、排序案例 参考博文1: &#xff1c;C&#xff1e;…

「连载」边缘计算(十四)02-02:边缘部分源码(源码分析篇)

&#xff08;接上篇&#xff09; CloudCore 本节将对CloudCore进行剖析&#xff0c;对CloudCore组件中功能模块共用的消息框架和各功能模块的具体功能进行深入剖析&#xff0c;具体包括CloudCore功能模块之间通信的消息框架、cloudhub剖析、edgecontroller剖析、devicecontro…