第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)

news2025/2/25 3:17:34

第十四届蓝桥杯集训——JavaC组第十二篇——while循环(循环四要素)


前言

百度解析:以环形、回路或轨道运行;沿曲折的路线运行;特指运行一周而回到原处,再转。或说反复地连续做某事。

那么,在程序中依然是连续重复的按照一定的规则去执行某事。

程序计数器PC

PC(Program Counter,PC)用来存放当前欲执行指令的地址,它与主存的MAR之间有一条直接通路,且具有自加1的功能,即可形成下一条指令的地址。 

指令计数器是用于存放下一条指令所在单元的地址的地方。

循环寻址

循环寻址是DSP(数字信号处理器)三种数据寻址方式中的寄存器寻址的一种(另一种为线性寻址)。其一般使用通用寄存器A4~A7和B4~B7,在卷积、滤波运算中经常用到。

循环寻址在卷积、相关、FIR滤波算法中,要求在存储器中设置一个缓冲区作为滑动窗,保存最新一批数据。循环寻址过程中,不断有新的数据覆盖旧的数据,从而实现循环缓冲区寻址。

循环四要素

  1. 初始值:        int i=0
  2. 表达式:        i<10
  3. 循环体:        System.out.println(i)
  4. 迭代器:        i++

while循环

while:中文叫【当…时】,其实就是当条件满足时就执行代码,一旦不满足了就不执行了。

while循环语法:

while (条件)

{ 满足条件就执行 }

因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了。也就是说控制好【表达式】与【迭代器】即可。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		// 1. 初始值
		int i = 0;
		while (i < 10) {// 2. 表示
			// 3. 循环体
			System.out.println(i);
			// 4. 迭代器
			i++;
		}
	}
}

输出结果:

如果没有自身改变,那么就会一直循环不停了。

while死循环

死循环示例1:

这里去掉了循环四要素的第四个,迭代器,那么,由于程序循环过程中相当于没有控制元素,故而导致i的值是恒定的,所以会无限的循环执行下去。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		// 1. 初始值
		int i = 0;
		while (i < 10) {// 2. 表示
			// 3. 循环体
			System.out.println(i);
			// 无迭代器则会出现死循环,无限输出i的值
//			i++;
		}
	}
}

无限循环初始值的值:

死循环示例2:

整个表达式我替换成了true,那么就代表没有出现false的情况,在这种情况下程序就只能无限的执行下去。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		while(true) {
			System.out.println("死循环");
		}
	}
}

循环示例:

等差数列求和公式:S_{n}=(a_{1}+a_{n})n/2,可以翻译为:(首项+末项)×项数/2

数列求和对按照一定规律排列的数进行求和。求S_{n}实质上是求{a_{n}}的通项公式,应注意对其含义的理解。常见的方法有公式法、错位相减法、倒序相加法、分组法、裂项法、数学归纳法、通项化归、并项求和。数列是高中代数的重要内容,又是学习高等数学的基础。在高考和各种数学竞赛中都占有重要的地位。数列求和是数列的重要内容之一,除了等差数列和等比数列有求和公式外,大部分数列的求和都需要有一定的技巧。

我们使用基础循环思考方式:

这里计算我使用了【+=】的符号,【sum+=i】相当于【sum=sum+i】。这种符号的写法可以用在四则运算以及求余符号上。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int i = 1;// 1、初始值
		int sum=0;
		while(i<101) {//2、表达式
			sum+=i;//3、循环体
			i++;//4、迭代器
		}
		System.out.println(sum);
	}
}

结果输出: 

这种方法实际循环了执行了100次,这里咱们的时间复杂度【O(n)】。

等差数列求和公式计算:

由于没有循环,那么时间复杂度就是【O(1)】。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int n = 100;
		int sum=(n+1)*n/2;
		System.out.println(sum);
	}
}

时间复杂度与空间复杂度我们在讲完for循环之后进行讲解。 

do{}while()循环

与while循环的区别就是,无论表达式是否成立,都会进行一次判断。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int i = 0;// 1、初始值
		do {
			// 3、循环体
			System.out.println(i);
			i++;// 4、迭代器
		} while (i < 10);// 2、表达式
	}
}

do……while循环用的其实很少,我们了解其特性即可。

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

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

相关文章

如何把视频分屏?教你轻松学会视频分屏

分屏视频该怎么操作&#xff1f;不知道大家有没有看到过这样一个视频&#xff0c;就是一个视频里有两个或者有更多个画面&#xff0c;我们在观看的时候可以同时看好几个画面。其实这就是分屏视频&#xff0c;在一个页面中加入多个画面。这样的视频是不是既好玩又炫酷呢&#xf…

尚硅谷Promise笔记

文章目录一、Promise介绍与基本使用1-1.初体验之promise封装ajax请求1-2.Promise对象状态属性PromiseState的值有三个1-3.Promise对象状态属性PromiseResults二、Promise API2-1.Promise构造函数Promise(excutor){}2-2.Promise.prototype.then 方式&#xff1a;(onResolved,onR…

App 黑白化技术实践

前言 很高兴遇见你~ 最近打开各大 App 会发现它们都做了黑白化&#xff0c;如下支付宝的处理&#xff1a; 可以看到应用设置了全局灰色调&#xff0c;表达了一种对逝者的哀悼&#xff0c;非常的应景和人性化。作为程序猿&#xff0c;我们来探索一下它从技术角度是怎么实现的。…

[附源码]Python计算机毕业设计SSM基于java旅游信息分享网站(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

汇编语言第2章—寄存器

8086CPU有14个寄存器&#xff0c;分别是&#xff1a;AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。2.1 通用寄存器 8086CPU的所有寄存器都是16位的&#xff0c;可以存放两个字节。AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据&#xff0c;称为通用…

【Spring】AOP记录日志

我的aop记录日志&#xff0c;可以记录&#xff1a;【 操作类型、操作描述、参数、登录项目的用户ip】 当然记录什么靠你自己决定。 一.自定义一个注解 Target({ElementType.METHOD,ElementType.PARAMETER}) Retention(RetentionPolicy.RUNTIME) Documented public interface A…

两位前阿里 P10 的成长经历的启发

目录 汤峥嵘的成长经历 关键节点一&#xff1a;到美国留学 关键节点二&#xff1a;美国工作十年 关键节点三&#xff1a;八年阿里时光 关键节点四&#xff1a;加入途牛和 VIPABC 毕玄的成长经历 关键节点一&#xff1a;小公司里脱颖而出 关键节点二&#xff1a;加入淘宝…

FineReport数据分析教程- 图表刷新接口

1. 概述 1.1 预期效果 点击按钮可以刷新普通报表或决策报表中的图表&#xff0c;以普通报表为例&#xff0c;效果如下图所示&#xff1a; 1.2 实现思路 通过FR.Chart.WebUtils.getChart("chartID").dataRefresh()获取要刷新的图表对象&#xff0c;其中chartID为图表…

程序员如何写一份更好的简历

简历中的常见错误 1. 信息过多&#xff0c;缺乏重点 信息过多的常见表现是十几行的技能列表&#xff0c; 我举一个血淋淋的例子&#xff1a; 20 行的技能列表&#xff0c;这位求职者开始就把自己了解的所有工具都列出来&#xff0c;希望能够突显自己的经验和学习能力&#xf…

pytorch基础操作(五)多层感知机的实现

1、多层感知机 1、激活函数的引入 这个多层感知机有4个输⼊&#xff0c;3个输出&#xff0c;其隐藏层包含5个隐藏单元。输⼊层不涉及任何计算&#xff0c;因此使⽤此⽹络产⽣输出只需要实现隐藏层和输出层的计算。因此&#xff0c;这个多层感知机中的层数为2。注意&#xff0…

小米盒子为什么搜不到电视家?电视安装包解析错误解决方案

不少的朋友在小米电视盒子上安装了美家市场软件商店后&#xff0c;却发现在市场里面没法安装想要的电视盒子直播软件&#xff0c;这是怎么回事呢&#xff1f;其实大部分原因是电视盒子机制的问题限制了安装&#xff0c;导致部分品牌电视盒子装软件时会弹出“无法安装”的提示。…

Mysql双主整理

目录 1. Mysql binlog参数配置 2. Mysql binlog查看详细内容 3. Mysql双主搭建 4. Mysql双主解决数据回环 4.1 双主同步测试一 4.1.1 测试总结 4.2 双主同步测试二 4.2.1 测试总结 4.3 双主同步测试三 4.3.1 测试总结 1. Mysql binlog参数配置 log-binmysql-bin 打…

水果FLStudio21.0.0软件最新版有哪些新增功能变化?

FL Studio(水果软件)21 引入更快、更精确的音频编辑、改进的内容发现、对 DAW 情绪的控制以及更多鼓舞人心的创意工具。FL Studio是一款功能非常强大的音乐创作编辑软件它就是FL Studio(水果软件)。使用FL Studio中文版可以轻松帮我们制作自己的音乐唱片&#xff0c;拥有强大且…

【ROS】HelloWord简单实现

C实现 1. 创建工作空间并初始化 创建工作目录demo01_ws&#xff0c;并在该文件夹下创建src文件夹 mkdir -p demo01_ws/src进入到该目录下 cd demo01_ws/初始化 catkin_make这时在demo01_ws目录下除了src文件夹外&#xff0c;多处了两个文件夹。 ![在这里插入图片描述](htt…

数字化门店转型| 水疗会所管理系统| 小程序搭建

水疗会所与沐足采耳、洗浴按摩等都属于休息享受型服务&#xff0c;是不少中年人的选择&#xff0c;一天的压力可以得到缓解&#xff0c;同时客单价一般在几百元左右&#xff0c;在水疗会所里可以洗澡蒸桑拿、桌游、乒乓球等&#xff0c;同时随着近些年来生活压力逐渐加大&#…

【C语言学习】详解二级指针

在学习数据结构时&#xff0c;通常会遇到调用函数无法对主函数中的全局变量进行有效的更改操作&#xff0c;这时我们就需要指针&#xff0c;但二级指针对于初学者而言有着一定的学习难度&#xff0c;本文通过代码结合实验调试来详细说明二级指针。 如果一个指针指向另一个指针&…

[附源码]Node.js计算机毕业设计高校图书服务系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

Atcoder 前缀和优化DP Candies

Candies - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意&#xff1a; 思路&#xff1a; 考虑DP 状态设计&#xff1a; 首先&#xff0c;因为是线性DP&#xff0c;dp[i]是必不可少的 然后去考虑一下决策&#xff0c;看看是什么东西影响了决策 对于第 i 个位置&#xf…

stm32f767自举

仅作笔记 一&#xff0c;自举。 在M0&#xff0c;M3&#xff0c;M4内核中&#xff0c;是通过boot0和boot1两个引脚的电平组合来确定启动地址的&#xff0c;启动的介质可以是系统存储器&#xff0c;SRAM&#xff0c;主Flash等。 在M7内核中&#xff0c;是通过boot0的电平加 Fla…

Linux内核调试技术之动态调试

前言 使用printk的打印方式只能通过设置输出等级来进行控制&#xff0c;具备一定的局限性。在实际系统运行过程中&#xff0c;我们更希望能选择性地打开某些子系统或者模块的输出&#xff0c;为此内核提供了动态调试技术。内核中包括pr_debug、dev_dbg接口都使用了动态调试技术…