循环结构:for循环,while循环,do-while,死循环

文章目录

    • for循环
      • for案例:累加
      • for循环在开发中的常见应用场景
    • while
      • while循环案例:
    • for和while的区别:
    • do-while
    • 三种循环的区别小结
    • 死循环

快捷键 ctrl+alt+t

for循环

在这里插入图片描述

看循环执行多少次,就看有效数字有几个
快捷键 fori

示例代码:

package com.zhang.loop;public class ForDemo1 {public static void main(String[] args) {//掌握for循环的书写格式,理解执行流程//需求:打印多行 hello world/** 流程:*   首先会执行初始化语句 int i = 0;*   i = 0,判断循环条件 0 < 3,返回true,计算机会进入到循环中执行输出第一行Hello world,接着执行迭代语句i++;*   i = 1,判断循环条件 1 < 3,返回true,计算机会进入到循环中执行输出第一行Hello world,接着执行迭代语句i++;*   i = 2,判断循环条件 2 < 3,返回true,计算机会进入到循环中执行输出第一行Hello world,接着执行迭代语句i++;*   i = 3,判断循环条件 3 < 3,返回false,循环立即结束。** */for (int i = 0; i < 5; i++) {//5次System.out.println("Hello world");}System.out.println("-----------------------------------");for (int i = 1; i <= 5 ; i++) {//5次System.out.println("hello world2");}System.out.println("-----------------------------");for (int i = 1; i <= 10 ; i += 2 ) {//5次//i  = 1 3 5 7 9System.out.println("hello~~~");}}
}

在这里插入图片描述

for案例:累加

package com.zhang.loop;public class ForDemo2 {public static void main(String[] args) {//目标:使用for批量产生数据//累加//需求1: 产生1~100的数据for (int i = 1; i <= 100 ; i++) {System.out.println(i);}System.out.println("----------------------------------");//需求2:1~100求和int sum = 0;for (int i = 1; i <= 100 ; i++) {sum += i;}System.out.println(sum);System.out.println("------------------------------------");//需求3:1 ~ 100 的奇数和、偶数和//法一:(更推荐,因为能直接得到13579)int sum2 = 0;for (int i = 1; i <= 100 ; i += 2) {sum2 += i;}System.out.println("奇数和是"+sum2);int sum3 = 0;for (int i = 2; i <= 100 ; i += 2) {sum3 += i;}System.out.println("偶数和是"+sum3);System.out.println();//法二:先找出1~100所有数字,再筛选数据int sum4 = 0;for (int i = 1; i <= 100; i++) {if(i % 2 == 1){sum4 += i;}}System.out.println("奇数和是"+sum4);int sum5 = 0;for (int i = 1; i <= 100; i++) {if(i % 2 == 0){sum5 += i;}}System.out.println("偶数和是"+sum5);//如果是累乘,初始化  int rs = 1;}
}

在这里插入图片描述

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

  • 减少代码的重复编写(多行输出只需要一行),灵活的控制程序的执行(更改次数)
  • 批量产生数据(产生1 - 100)

while

  • 格式:
    在这里插入图片描述

代码演示:

package com.zhang.loop;public class WhileDemo3 {public static void main(String[] args) {//目标:掌握while循环的书写格式,以及理解其执行流程//需求:打印多行hello worldint i = 1;while (i < 6){System.out.println("Hello World!!");//迭代语句i++;}}
}

运行结果:
在这里插入图片描述

while循环案例:

在这里插入图片描述
代码演示:

package com.zhang.loop;public class WhileTest4 {public static void main(String[] args) {//纸张折叠珠穆朗玛峰的高度double peakHight = 8848860;//山峰高度double paperHeight = 0.1;//纸张厚度int count = 0;//需要折叠的次数while(paperHeight < peakHight){paperHeight *= 2;count++;}System.out.println(count);System.out.println(paperHeight);}
}

运行结果:
在这里插入图片描述

for和while的区别:

在这里插入图片描述

do-while

在这里插入图片描述
代码演示:

package com.zhang.loop;public class DoWhileDemo5 {public static void main(String[] args) {//目标:掌握do-while循环的书写格式,执行流程,特点和应用场景//需求:打印多行 hello worldint i = 0;do {System.out.println("hello world!");i++;}while(i < 3);//特点:先执行后判断int j = 0;do {System.out.println("hello1");}while(false);}
}

运行结果:
在这里插入图片描述

三种循环的区别小结

在这里插入图片描述
其他区别我们再次用代码演示:
在这里插入图片描述

package com.zhang.loop;public class DoWhileDemo5 {public static void main(String[] args) {//目标:掌握do-while循环的书写格式,执行流程,特点和应用场景//需求:打印多行 hello worldint i = 0;do {System.out.println("hello world!");i++;}while(i < 3);//特点:先执行后判断int j = 0;do {System.out.println("hello1");}while(false);System.out.println("-----------------------------------");//以下是其他区别的演示for (int m = 1;m <= 3;m++){System.out.println("hi");}
//        System.out.println(m);int n = 0;while (n < 3){System.out.println("hi~~~");n++;}System.out.println(n);}
}

运行结果:
在这里插入图片描述

死循环

在这里插入图片描述

注意:
for( ; ; )
第一个:
在这里插入图片描述
第二个:
在这里插入图片描述
将上面for死循环注释掉,即可运行
在这里插入图片描述

代码演示:

package com.zhang.loop;public class EndlessLoopDemo6 {public static void main(String[] args) {/*      for(;;){System.out.println("Hello World");}
*/
/*        //经典写法:while(true){System.out.println("hi~~~~~~");}*/do{System.out.println("hello!!!");}while(true);}
}

运行结果:
在这里插入图片描述

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

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

相关文章

Vuepress的使用

介绍 将markdown静态资源转换成html。 动态资源的转换还有很多&#xff0c;为什么要使用Vuepress&#xff1f; 目录分析 项目配置 详情 具体配置请看文档 插件配置 vuepress-theme-vdoing 主题插件 npm install vuepress-theme-vdoing -D先安装依赖配置主题 使用vuep…

MAC | linux | SSH 密钥验证

SSH密钥登陆过程 客户端通过ssh-keygen生成自己的公钥和私钥。手动将客户端的公钥放入远程服务器的指定位置。客户端向服务器发起 SSH 登录的请求。服务器收到用户 SSH 登录的请求&#xff0c;发送一些随机数据给用户&#xff0c;要求用户证明自己的身份。客户端收到服务器发来…

论文设计任务书学习文档|基于智能搜索引擎的图书管理系统的设计与实现

文章目录 论文(设计)题目:基于智能搜索引擎的图书管理系统的设计与实现1、论文(设计)的主要任务及目标2、论文(设计)的主要内容3、论文(设计)的基本要求4、进度安排论文(设计)题目:基于智能搜索引擎的图书管理系统的设计与实现 1、论文(设计)的主要任务及目标 …

报错:板端IP与PC的IP相同

报错&#xff1a; 配置 实际上我配置并没有错。 服务器IP&#xff08;就是本机&#xff09;、板端IP、网关。 解决 我网卡配置了多个IP。一番删除添加还是报错。 于是点击服务器IP&#xff0c;换成别的&#xff0c;再换回来&#xff0c;可以了&#xff1a;

架构面试题汇总:并发和锁(三)

在现代软件开发中&#xff0c;并发编程和多线程处理已成为不可或缺的技能。Java作为一种广泛使用的编程语言&#xff0c;提供了丰富的并发和多线程工具&#xff0c;如锁、同步器、并发容器等。因此&#xff0c;对于Java开发者来说&#xff0c;掌握并发编程和多线程处理的知识至…

【并发编程】深入理解ReentrantLock使用方法与原理解析(1)

引言 多线程编程中&#xff0c;为了保证线程安全&#xff0c;我们通常需要使用锁来协调对共享资源的访问。ReentrantLock&#xff08;可重入锁&#xff09;是Java提供的一种高级锁机制&#xff0c;相比于传统的synchronized关键字&#xff0c;它提供了更多的灵活性和控制。本文…

【大数据架构(3)】Lambda vs. Kappa Architecture-选择你需要的架构

文章目录 一. Data Processing Architectures1. Lambda Architecture1.1. 架构说明a. Data Ingestion Layerb. Batch Layer (Batch processing)c. Speed Layer (Real-Time Data Processing)d. Serving Layer 1.2. Lambda Architecture的优缺点1.3. 使用案例 2. Kappa Architect…

HTML+CSS+JS:花瓣登录组件

效果演示 实现了一个具有动态花朵背景和简洁登录框的登录页面效果。 Code <section><img src"./img/background.jpeg" class"background"><div class"login"><h2>Sign In</h2><div class"inputBox"…

重拾前端基础知识:CSS3

重拾前端基础知识&#xff1a;CSS3 前言边框圆角阴影图片 背景渐变文本字体多列动画与过渡2D 转换3D 转换过渡动画 网格布局弹性盒子&#xff08;重点&#xff09;父元素设置子元素设置 响应式设计设置 Viewport构建响应式网格视图12栅格媒体查询 案例讲解图片按钮分页 浏览器支…

python数据分析numpy基础之argmin求数组最小值索引

1 python数据分析numpy基础之argmin求数组最小值索引 python的numpy库的argmin()函数&#xff0c;用于获取沿指定轴的最小值的索引。 用法 numpy.argmin(a, axisNone, outNone, *, keepdims<no value>)描述 argmin()返回沿指定轴的最小值的索引。 入参axis表示指定轴…

【矩阵】计算矩阵边缘元素之和

每日一道算法题之计算矩阵边缘元素之和 一、题目描述二、思路三、C代码 一、题目描述 题目来源&#xff1a;洛谷 输入一个整数矩阵&#xff0c;计算位于矩阵边缘的元素之和。 所谓矩阵边缘的元素&#xff0c;就是第一行和最后一行的元素以及第一列和最后一列的元素。 C程序要求…

Windows 10中Visual Studio Code(VSCode)无法自动打开终端的解决办法

1.检查设置&#xff1a; 打开VSCode。点击左侧菜单栏的“文件”&#xff08;File&#xff09;。选择“首选项”&#xff08;Preferences&#xff09;。点击“设置”&#xff08;Settings&#xff09;。在搜索框中输入“shell”&#xff0c;然后点击“settings.json”进行编辑。…

学习鸿蒙基础(6)

一、Prop属性 父——>子 单向同步 Prop装饰的变量可以和父组件建立单向的同步关系。Prop装饰的变量是可变的&#xff0c;但是变化不会同步回其父组件。Prop装饰的变量和父组件建立单向的同步关系。Prop变量允许在本地修改&#xff0c;但修改后的变化不会同步回父组件。当父组…

【MATLAB】SVMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 SVMD_MFE_SVM_LSTM神经网络时序预测算法结合了单变量分解&#xff08;SVMD&#xff09;、多尺度特征提取&#xff08;MFE&#xff09;、聚类后展开支持向量机&#xff08;SVM&#xff09;…

算法D31 | 贪心算法1 | 455.分发饼干 376. 摆动序列 53. 最大子序和

贪心算法其实就是没有什么规律可言&#xff0c;所以大家了解贪心算法 就了解它没有规律的本质就够了。 不用花心思去研究其规律&#xff0c; 没有思路就立刻看题解。 基本贪心的题目 有两个极端&#xff0c;要不就是特简单&#xff0c;要不就是死活想不出来。 学完贪心之后再…

rhcsa(rh134)

shell 查看用户shell a、如下查看/etc/shells文件列出了系统上所有可用的 shell&#xff08;具体的可用的 shell 列表可能会因不同的红帽版本和配置而有所不同&#xff09; &#xff08;如下图/etc/shells文件包含/bin/tmux并不意味着tmux是一个shell。实际上&#xff0c;/etc/…

CSS:弹性盒子Flexible Box布局

CSS:Flexible Box弹性盒子布局 一、flex布局原理 ​ flex是flexible Box的缩写,意为 ”弹性布局“&#xff0c;用来为盒状模型提供最大的灵活性&#xff0c;任何一个容器都可以指定为flex布局。 当我们的父盒子设置为flex布局之后&#xff0c;子元素的 float 、clear 和 vert…

4核8G服务器并发数多少?性能如何?

腾讯云4核8G服务器支持多少人在线访问&#xff1f;支持25人同时访问。实际上程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#xff0c;假设公网带宽太小&#xff0c;流量直接卡在入口&#xff0c;4核8G配置的CPU内存也会造成计算…

WPF应用程序使用MVVM模式

文章目录 一、前言二、正文&#xff1a;模式 - WPF应用程序使用MVVM设计模式2.0 一些术语2.1 秩序与混乱2.2 MVVM模式的演变2.3 为何WPF开发者喜爱MVVM2.4 Demo应用程序2.5 路由命令逻辑2.6 ViewModel类层次结构2.7 ViewModelBase类2.8 CommandViewModel类2.9 MainWindowViewMo…

Vueuse:打造高效的 Vue.js 开发利器

Vueuse&#xff1a;打造高效的 Vue.js 开发利器 Vueuse 是一个功能强大的 Vue.js 生态系统工具库&#xff0c;它提供了一系列的可重用的 Vue 组件和函数&#xff0c;帮助开发者更轻松地构建复杂的应用程序。本文将介绍 Vueuse 的主要特点和用法&#xff0c;以及它在 Vue.js 开发…