JavaSE核心基础-循环-知识点

1.循环概念
循环是在满足条件的情况下,反复的做同一件事。
Java语言中的循环语句有三种,分别是for语句、while语句和do-while语句。程序中需要循环处理时,程序员要根据实际问题,选择适当的循环语句。解决循环问题时一定要找到循环条件和循环操作。

2.for循环语句格式
语法:
          for(初始化表达式①; 布尔表达式②; 步进表达式④){
                       // 循环体③
          }
执行流程:
              1)执行顺序:①②③④>②③④>②③④…②不满足为止。
              2)①负责完成循环变量初始化。
              3)②负责判断是否满足循环条件,不满足则跳出。
              4)③具体执行的语句。
              5)④循环后,循环条件所涉及变量的变化情况。 

3.while循环语句格式
语法:
          初始化表达式①
          while(布尔表达式②){
                 // 循环体③
                // 步进表达式④
          } 
执行流程:
              1)执行顺序:①②③④>②③④>②③④…②不满足为止。        
              2)①负责完成循环变量初始化。
              3)②负责判断是否满足循环条件,不满足则跳出循环。
              4)③具体执行的语句。
              5)④循环后,循环变量的变化情况。 

4.do...while循环语句格式
语法:
         初始化表达式①
         do{
               // 循环体③
               // 步进表达式④
         }while(布尔表达式②);
执行流程:
              1)执行顺序:①③④>②③④>②③④…②不满足为止。    
              2)①负责完成循环变量初始化。
              3)②负责判断是否满足循环条件,不满足则跳出循环。
              4)③具体执行的语句
              5)④循环后,循环变量的变化情况 

5.for和while的区别
相同点:
      都是先判断,再执行
不同点:
      ①.语法不同
      ②.for循环的循环变量通常定义在for中,会随着for循环结束在内存中销毁,效率较高
      ③.for循环适合循环次数固定时使用,while循环适合循环次数不固定时使用

6.三种循环的区别
1)循环结构的语法不同
  ①.do-while循环结构表达式为:do{循环体;}。
  ②.for循环的结构表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体}。
  ③.while循环的结构表达式为:while(表达式){循环体}。
2)执行时判断方式不同
  ①.do-while循环将先运行一次,因为经过第一次do循环后,当检查条件表达式的值时,其值为 不成立时而会退出循环。保证了至少执行do{ }内的语句一次。
  ②.for循环执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。
  ③.while循环执行时当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出(而不是立即跳出循环)
3)执行次数不同
  ①.do-while循环是先执行后判断,执行次数至少为一次。
  ②.for循环是先判断后执行,可以不执行中间循环体。
  ③.while循环也是先判断后执行,可以不执行中间循环体。
4)执行末尾循环体的顺序不同
  ①.do-while循环是在中间循环体中加入末尾循环体,并在执行中间循环体时执行末尾循环体。
  ②.for循环的中间循环体在条件判断语句里,执行末尾循环体后自动执行中间循环体。
  ③.while循环的末尾循环体也是在中间循环体里,并在中间循环体中执行。

7.break
使用场景:终止switch或者循环
1)在选择结构switch语句中
2)在循环语句中
3)离开使用场景的存在是没有意义的 

8.continue
使用场景:结束本次循环,继续下一次的循环

9.return
使用场景:直接终止程序

10.死循环概念
死循环是循环中的条件永远为true,死循环的是永不结束的循环。例如:while(true){}。
结束死循环需要使用跳出语句

11.三种循环实现死循环
1)使用for实现死循环
//没有初始化,也没有重新赋值,没有写条件,默认为true
for (;;){
   // 循环体         
}

2)使用while实现死循环
//没有初始化,也没有重新赋值,没有写条件,默认为true
while(true){
   // 循环体 
}

3)使用do....while实现死循环
//没有初始化,也没有重新赋值,没有写条件,默认为true
do{
  // 循环体         
}while(true);

12.解决死循环
1)严格遵照循环语法解决问题
2)明确循环条件和循环操作

小结:
1)不满足循环条件时:while和for一次都不执行,do...while执行一次。
2)while和for是先判断再执行,do...while是先执行再判断。
3)break是跳出循环体结构,执行循环体外代码,continue是结束本次循环,接着进行下次循环。

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

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

相关文章

跟着小德学C++之TOTP

嗨,大家好,我是出生在达纳苏斯的一名德鲁伊,我是要立志成为海贼王,啊不,是立志成为科学家的德鲁伊。最近,我发现我们所处的世界是一个虚拟的世界,并由此开始,我展开了对我们这个世界…

浅析大数据汇总

传统,大数据主要关注数据的采集、存储和处理能力。随着互联网的快速发展,用户在互联网上产生了大量的数据,这些数据包括用户行为数据、社交媒体数据、传感器数据等。传统的数据库技术已经无法满足对这些海量数据的存储和处理需求,…

网络安全B模块(笔记详解)- 越权与下载

1.使用渗透机场景kali中工具扫描服务器场景,将web端口号当作Flag提交; 2.使用渗透机场景windows7访问服务器场景mingling.php,将页面中的Flag提交; 3.使用渗透机场景windows7访问服务器场景mingling.php,分析页面内容,查看系统配置信息,并将产品id的最后5位数作为Flag提…

NLP自然语言处理的发展:从初创到人工智能的里程碑

自然语言处理(Natural Language Processing,NLP)人工智能领域中备受关注的重要分支之一。它使得计算机能够理解、解释和使用人类语言。随着技术的不断发展,NLP经历了从初创时期到深度学习时代的巨大演变,推动了互联网产…

链表相加---链表OJ---两数之和

https://leetcode.cn/problems/add-two-numbers/?envType=study-plan-v2&envId=top-100-liked 对于本题,可以选择用数组实现,那样比较简单;我们这里就用纯链表实现。 纯链表实现有许多细节,比如链表长度不一样,进位,尾结点如果是0我们就要删除尾结点。 首先…

线程调度(Java Android)

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览2.1、线程的属性 三、…

继承基本介绍

Java提供了关键字extends,可以让一个类和另一个类建立父子关系。 public class a extends b{ //b为父类,,a为子类} 继承的特点:子类可以继承父类的非私有成员;子类的对象由子类、父类共同完成 使用继承可以减少重复…

【正点原子STM32】STM32基础知识(F1F4F7H7 STM32系统框架、寻址范围、存储器映射的存储器功能划分、寄存器映射)

一、STM32系统框架 1.1、Cortex M内核 & 芯片1.2、F1系统架构1.3、F4系统架构1.4、F7系统架构1.5、H7系统架构 二、STM32的寻址范围? 三、存储器映射 存储器功能划分(F1为例)STM32F1存储器映射图 四、寄存器映射 寄存器基础知识STM3…

第二百九十回

文章目录 1. 概念介绍2. 方法与细节2.1 实现方法2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何混合选择多个图片和视频文件"相关的内容,本章回中将介绍如何通过相机获取视频文件.闲话休提,让我们一起Talk Flutter吧。 1. …

python-自动化篇-办公-文件-加解密

解说 要使⽤Python进⾏⽂件的加密和解密,可以使⽤第三⽅加密库,如cryptography或pycryptodome。 ⼀个基本的⽰例,演⽰如何使⽤cryptography库对⽂件进⾏加密和解密: 安装cryptography库: pip install cryptography⽂…

php函数 二

一 字符串包含 1.1 str_starts_with(string $haystack, string $needle) php8版本中新函数。 检查字符串是否以指定子串开头,区分大小写。返回布尔值。 $haystack待判断的字符串,$needle需要查询的内容。 function test1() {$str "Qwe asd zx…

软考笔记--数据库访问接口

数据库访问接口是指应用程序与数据库之间的连接部分。数据库访问接口的发展,对于数据库技术的发展与应用起到了非常重要的作用,它使应用程序与数据库之间的连接变得简单,使应用系统从一种数据库变换成另一种数据库时的修改工作量大大降低。常…

【Vue3 + Vite】Vite搭建 项目解构 Vue快速学习 第一期

文章目录 Vue3介绍Vue3通过Vite实现工程化:一、Vite创建Vue3工程化项目1.1 ViteVue3项目的创建、启动、停止1.2 ViteVue3项目的目录结构 二、ViteVue3 项目组件(SFC入门)2.1 什么是VUE的组件 ?2.2 什么是.vue文件 ?2.3 工程化vue项目如何组织这些组件? 三、ViteV…

【NodeJS】004- NodeJS的模块化与包管理工具

模块化 1. 介绍 1.1.什么是模块化与模块 ? 将一个复杂的程序文件依据一定规则(规范)拆分成多个文件的过程称之为 模块化 其中拆分出的 每个文件就是一个模块 ,模块的内部数据是私有的,不过模块可以暴露内部数据以便其他模块使用 1.2 什么是模块化项目 ? 编码时是按照模…

23. 集合类

集合 1. 概述2. 分类2.1 单列集合(Collection)2.2 双列集合(Map) 单列集合 Collection、List、Set、ArrayList、LinkedList’、Vector、HashSet、TreeSet、LinkedHashSet双列集合 Map、HashTable、HashMap、TreeMap、Properties、…

docker 部署及命令

一、容器概述 1、为什么要用到容器? ①容器可以屏蔽底层操作系统的差异性,让业务应用不管在哪里都是使用容器的环境运行,从而保证开发测试环境与生产环境的一致性 ②容器部署起来非常便捷和迅速,缩短开发测试部署的周期时间 2…

Springboot最佳包结构

目录 概述 无默认package 入口类 包结构 概述 我们在构建Springboot项目的时候,我们可以很灵活的去管理我的们class,以及创建包结构,但是有一些原则我们要牢记在心。 无默认package Springboot中的一些注解例如ComponentScan&#xff…

《Python 简易速速上手小册》第10章:Python 项目实战(基于最新版 Python3.12 编写)

注意&#xff1a;本《Python 简易速速上手小册》 核心目的在于让零基础新手「快速构建 Python 知识体系」 文章目录 <mark >注意&#xff1a;本《Python 简易速速上手小册》<mark >核心目的在于让零基础新手「快速构建 Python 知识体系」 10.1 项目规划和结构10.1…

阅读go语言工具源码系列之gopacket(谷歌出品)----第二集 layers-巧妙的抽象与无聊的协议包

上一集中我们讲到了wpcap.dll的go封装方法&#xff0c;对于linux系统下libpcap的go封装采用的是常用的cgo方式&#xff0c;想了解的可以看看pcap文件夹中的pcap_unix.go。 我们得到了wpcap.dll的go调用&#xff0c;就可以利用它来进行列举所有网络设备&#xff0c;例如以下代码…

知识产权如何转为实缴资本,实操

网上已传疯了&#xff0c;相关部门要求企业注册资本认缴的必须在5年内完成实缴&#xff0c;这一下子引起企业老板们着急了。以前公司注册时&#xff0c;很多老板因为是认缴资本&#xff0c;完全凭脑袋一拍&#xff0c;写上注册资金5000万&#xff0c;有的甚至写上几个小目标。现…