【JavaSE】-4-单层循环结构

news2025/4/20 11:54:19

回顾

运算符:

算术 ++ --、逻辑 && & || |、比较 ==、三元 、赋值 =

int i = 1;
i++;
j = i++; //j=2 i=3
syso(--j+"-----"+i++)  //1  3 

选择结构

if(){

}
if(){

}else{

}
if(){

}else if(){

}else if(){

}else{

}
//支持byte、short、int 
//支持char
//支持枚举
//从jdk8开始 支持String字符串类型
switch(表达式){
	
}

循环结构

循环目的:实现某一块代码多次重复执行。

for循环

for(表达式一;表达式二;表达式三){
	//循环体
}

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

示例:

/*
		 * 需求:在控制台打印出所有的水仙花数。
		 * 水仙花数: 是一个三位数,
		 * 水仙花数的个位、十位、百位数字的立方之和等于原数。
		 */
		for(int i=100;i<1000;i++) {
			int g = i%10; 
			int b = i/100;//121
			int s = i/10%10;
			if(g*g*g + b*b*b + s*s*s == i) {
				System.out.print(i+"  ");
			}		
		}
/*
		 * 1. 需求:数7游戏。从1到100(不含100), 
		 * 如果数是7的倍数或者包含7输出“过”,否则输出数字本身。
		 */
		for(int i=1;i<100;i++) { //65
			//7的倍数 i%7==0
			//包含7  个位i%10==7    十位i/10==7
			if(i%7==0 || i%10==7 || i/10==7) {
				System.out.print("过 ");
			}else {
				System.out.print(i+" ");
			}
		}

for循环变形及死循环

for(表达式1;表达式2;表达式3){
	循环体
}

代码:

	public static void main(String[] args) {
		for( ; ; ) {
			System.out.println("hello world");
		}
		System.out.println("end");//这行代码永远执行不到
	}

上面的示例,没有任何语句控制循环的结束。所以会无限打印hello world,导致循环后面的代码永远执行不到。

注意:如果程序中出现死循环,Eclipse会报错,不允许你执行。

代码:

	public static void main(String[] args) {
		for(int i = 0 ; i != 10 ; i += 3 ) {
			System.out.println("hello world");
		}
		System.out.println("end");//这行代码永远执行不到
	}

上面的示例,虽然表达式完整,但是 i != 10会永远为真,因此也是一个死循环。导致for循环后面的代码无法执行

代码:

//		int i ;
//		for(i=1;;) {
//			
//		}
		
//		int i = 1;
//		for(;;) {
//			System.out.println(i);
//		}
		
//		for(int i = 1;i < 10;i--) {
//			System.out.println(i);
//		}

	int i = 1;
	for(;i < 10;) {  //不会发生死循环
		System.out.println(i++);
	}

while循环

do…while循环

Random随机数

random.nextInt(3); // 得到的是一个 [0,3)的数值

随机数的规律:要想产生一个[min, max]之间的随机数。

int num = random.nextInt(max - min + 1) + min;

随机数的规律:要想产生一个[min, max) 之间的随机数。

int num = random.nextInt(max - min) + min;

随机数范围

[0,10]
[0,10)
[10,15]
(10,15]
Random r = new Random();
		//生成boolean类型随机数
		boolean flag = r.nextBoolean();
		//生成int范围的随机数
		int num1 = r.nextInt();
		//生成double类型的随机数
		double d1 = r.nextDouble();
		
		//指定范围 0<=num<3
		int num2 = r.nextInt(3);//[0,3)
		//生成一个随机数  0<=num<=3
		int num3 = r.nextInt(4);
		
		
		//生成一个随机数  5<=num<10  //5  [0-5)
		//r.nextInt(10-5)+5  r.nextInt(max-min)+min
		int num5 = r.nextInt(5)+5;
		//生成一个[15-20)之间的随机数
//		for(int i=0;i<10;i++) {
//			int num6 = r.nextInt(20-15)+15;
//			System.out.println(num6);
//		}
		//生成一个[15-20]之间的随机数 r.nextInt(max-min+1)+min
		for(int i=0;i<10;i++) {
			System.out.print(r.nextInt(20-15+1)+15+"  ");
		}

示例:

//产生5个[10, 80]之间的随机数,输出产生的数,并求出最大的随机数。
//记录最大值出现的下标(第一次循环 ,下标为0,第二次为1....) 
Random r = new Random();
//最大值出现的索引下标
int maxIndex = 0;
int max = 0;
int min = 80;
int sum = 0;
for(int i=0;i<5;i++) {
    int num = r.nextInt(71)+10;
    System.out.print(num+" ");
    maxIndex = (num>max) ? i : maxIndex;
    max = num>max ? num : max;
    min = num<min ? num : min;
    sum += num;
}
System.out.println("最大值是:"+max +" 最小值是:"+min +" 总和:"+sum);
System.out.println("最大值的索引下标是:"+maxIndex);

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

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

相关文章

回归算法优化过程推导

假设存在一个数据集&#xff0c;包含工资、年龄及贷款额度三个维度的数据。我们需要根据这个数据集进行建模&#xff0c;从而在给定工资和年龄的情况下&#xff0c;实现对贷款额度的预测。其中&#xff0c;工资和年龄是模型构建时的两个特征&#xff0c;额度是模型输出的目标值…

Axios使用方式

ajax是JQUERY封装的XMLHttprequest用来发送http请求 Axios简单点说它就是一个js库,支持ajax请求,发送axios请求功能更加丰富,丰富在哪不知道 1.npm使用方式 vue项目中 npm install axios 2.cdn方式 <script src"https://unpkg.com/axios/dist/axios.min.js">…

【蓝桥杯省赛真题45】Scratch九宫格游戏 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解

目录 scratch九宫格游戏 一、题目要求 编程实现 二、案例分析 1、角色分析

Nginx高级

Nginx高级 第一部分&#xff1a;扩容 通过扩容提升整体吞吐量 1.单机垂直扩容&#xff1a;硬件资源增加 云服务资源增加 整机&#xff1a;IBM、浪潮、DELL、HP等 CPU/主板&#xff1a;更新到主流 网卡&#xff1a;10G/40G网卡 磁盘&#xff1a;SAS(SCSI) HDD&#xff08;机械…

Redis—跳跃表

跳跃表简介 跳跃表&#xff08;skiplist&#xff09;是一种随机化的数据结构&#xff0c;由 William Pugh 在论文《Skip lists: a probabilistic alternative to balanced trees》中提出&#xff0c;是一种可以与平衡树媲美的层次化链表结构——查找、删除、添加等操作都可以在…

Day38力扣打卡

打卡记录 网格中的最小路径代价&#xff08;动态规划&#xff09; 链接 class Solution:def minPathCost(self, grid: List[List[int]], moveCost: List[List[int]]) -> int:m, n len(grid), len(grid[0])f [[0x3f3f3f3f3f] * n for _ in range(m)]f[0] grid[0]for i i…

探秘开发app与小程序:一场技术与创新的博弈

app与小程序&#xff1a;一场技术与创新的博弈随着科技的飞速发展&#xff0c;移动应用程序已经成为我们日常生活中不可或缺的一部分。在这个充满竞争的时代&#xff0c;企业纷纷投身于开发各类移动应用&#xff0c;以期在市场中占据一席之地。然而&#xff0c;面对多样化的应用…

YOLOv5结合华为诺亚VanillaNet Block模块

🗝️YOLOv5实战宝典--星级指南:从入门到精通,您不可错过的技巧   -- 聚焦于YOLO的 最新版本, 对颈部网络改进、添加局部注意力、增加检测头部,实测涨点 💡 深入浅出YOLOv5:我的专业笔记与技术总结   -- YOLOv5轻松上手, 适用技术小白,文章代码齐全,仅需 …

VMware 系列:ESXI6.7升级7.0

ESXI6.7升级7.0 一、下载补丁二、上传文件三 启用Shell四、登录Shell后台五、删除不兼容驱动六、正常升级最近,将一台使用ESXI6.7的虚拟机升级到了7.0版本,下面记录一下自己的升级过程。 升级条件 首先确保硬件是否能升级到7.0版本,物理网卡驱动为e1000e不能升级,如果是ig…

基于单片机直流电机调速(proteus仿真+源程序)

一、系统方案 1、本设计采用这51单片机作为主控器。 2、转速值送到液晶1602显示。 3、按键设加减速&#xff0c;开始暂停、正反转。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 en0; rw0; write_com(0x01); //lcd初始化 write_com(0x38)…

基于Haclon的Blob分析

任务要求&#xff1a; 请用BLOB分析的方法计算图中所有灰度值在120和255之间的像素构成的8连通区域的面积与中心点坐标。 Blob基础&#xff1a; 分析过程&#xff1a;首先获取图像&#xff0c;然后根据特征对原始图像进行阈值分割&#xff08;区分背景像素和前景像素&#xf…

python爬虫HMAC加密案例:某企业信息查询网站

声明&#xff1a; 该文章为学习使用&#xff0c;严禁用于商业用途和非法用途&#xff0c;违者后果自负&#xff0c;由此产生的一切后果均与作者无关 一、找出需要加密的参数 js运行 atob(‘aHR0cHM6Ly93d3cucWNjLmNvbS93ZWIvc2VhcmNoP2tleT0lRTQlQjglODclRTglQkUlQkUlRTklOUI…

Django 集成 Celery 实现高效的异步任务处理

概要 在复杂的 Web 应用中&#xff0c;处理长时间运行的任务或定期任务是一项挑战。Django 作为一个强大的 Python Web 框架&#xff0c;可以通过集成 Celery 这一异步任务队列来优化这些任务的处理。Celery 不仅能提高应用性能&#xff0c;还能改善用户体验。本文将深入探讨如…

专业pdf编辑工具PDF Expert mac中文版特点介绍

PDF Expert mac是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 PDF Expert mac软件特点 PDF编辑&#xff1a;PDF Expert提供了丰富的PDF编辑功能&#xff0c;包括添加、删除、移动、旋转、缩放、裁剪等操作…

CSM32RV003:国产高精度16位ADC低功耗RISC-V内核MCU

目录 高精度ADC工业应用工业数据采集应用CSM32RV003简介主要特性 高精度ADC工业应用 高精度ADC即高精度模数转换器&#xff0c;是一种能够将输入模拟信号转换为数字信号的芯片&#xff0c;在多种消费电子、工业、医疗和科研领域都有广泛应用。高精度ADC的主要特点是能够提供高…

《QT从基础到进阶·三十八》QWidget实现炫酷log日志打印界面

QWidget实现了log日志的打印功能&#xff0c;不仅可以在界面显示&#xff0c;还可以生成打印日志。先来看下效果&#xff0c;源码放在文章末尾&#xff1a; LogPlugin插件类管理log所有功能&#xff0c;它可以获取Log界面并能打印正常信息&#xff0c;警告信息和错误信息&…

贪心算法及相关例题

目录 什么是贪心算法&#xff1f; leetcode455题.分发饼干 leetcode376题.摆动序列 leetcode55题.跳跃游戏I leetcode45题.跳跃游戏II leetcode621题.任务调度器 leetcode435题.无重叠空间 leetcode135题.分发糖果 什么是贪心算法&#xff1f; 贪心算法更多的是一种思…

济南数字孪生赋能工业制造,加速推进制造业数字化转型

济南数字孪生赋能工业制造&#xff0c;加速推进制造业数字化转型。数字孪生是指通过数字模型对现实世界进行模拟和描述&#xff0c;从而实现数字化转型的技术。数字孪生技术通过利用先进传感与测量技术、实时数据融合及分析技术、虚拟现实技术和仿真技术&#xff0c;在数字空间…

HQL刷题 50道

HQL刷题 50道 尚硅谷HQL刷题网站 答案 1.查询累积销量排名第二的商品 select sku_id from (select sku_id, dense_rank() over (order by total desc) rnfrom (select sku_id, sum(sku_num) totalfrom order_detailgroup by sku_id) t1) t2 where rn 2;2.查询至少连续三天下…

分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测

分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测 目录 分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.利用DBN进行特征提取&#xff0c;将提取后的特征放入SVM进行分类…