【Java基础】java学习之旅05-循环结构

聚类模型-层次聚类 聚类模型 1、层次聚类 2、原型聚类-K-means 3、模型聚类-GMM 4、EM算法-LDA主题模型 5、密度聚类-DBSCAN 6、图聚类-谱聚类 一、层次聚类 一、聚类理论 ​ 一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成ccc类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,... 阅读详情
while循环
  • 特征:先判断后执行。至少执行0次,最多无限次。
  • 最佳实践:循环次数未知的情况下使用。

例:

	public static void main(String[] args) {
		
		int i = 1;
		
		while (i <= 100) {
			System.out.println("第"+ i++ +"遍,好好学习,天天向上!");
		}
		
	}
do…while…循环
  • 特征:先执行后判断。最少执行一次,最多无限次。
  • 最佳实践:循环次数不确定的情况使用。

例:

	public static void main(String[] args) {
		
		int i = 1;
		
		do {
			System.out.println("第"+ i++ +"遍,好好学习,天天向上!");
		} while (i <= 100);
		
	}
for循环
  • 特征:最少执行0次,最多无限次。
  • 最佳实践:已知循环次数的情况可以使用。
public static void main(String[] args) {
		
		//四部分:(1.声明变量并初始化赋值; 2.判断条件; 3.步进语句 ) {4.循环体}
		//执行流程:1 -> 2 -> 4 -> 3 -> 2 -> 4 -> 3...
//		for (int i = 1; i <= 100; i += 2) {
//			System.out.println("第"+ i +"遍,好好学习,天天向上!");
//		}
		
		//三部分是否可以缺少
//		int i = 1;
//		for (; i <= 100; i += 2) {
//			System.out.println("第"+ i +"遍,好好学习,天天向上!");
//		}
		
//		int i = 1;
//		for (; i <= 100;) {
//			System.out.println("第"+ i +"遍,好好学习,天天向上!");
//			i += 2;
//		}
		
		int i = 1;
		for (;;) {
			if (i <= 100) {
				System.out.println("第"+ i +"遍,好好学习,天天向上!");
				i += 2;
			} else {
				break;// 跳出本层循环
			}
		}
		System.out.println("循环结束");
		
		
	}
break和continue关键词
  • break:跳出本层循环
  • continue:跳过本次循环

例:

	public static void main(String[] args) {
		
		for (int i = 0; i < 10; i++) {
			if (i == 5) {
				break;
			}
			System.out.println(i);
		}
		
	}
	public static void main(String[] args) {
		
		flag1:
		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 6; j++) {
				if (j == 3) {
					break flag1;//跳出flag1所指定的那层循环
				}
				System.out.println("hello");
			}
		}
		
	}

介绍几个简单的循环习题

  1. 输入一个整数,打印加法表
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		
		System.out.println("请输入一个整数:");
		int num = input.nextInt();
		input.close();
		
		for (int i = 0; i <= num; i++) {
			System.out.println(i + "+" + (num - i) + "=" + num);
		}
		
	}
  1. 水仙花数:自幂的三位数
	public static void main(String[] args) {
		
		for (int i = 100; i < 1000; i++) {
			int gewei = i % 10;
			int shiwei = i / 10 % 10;
			int baiwei = i / 100;
			
			if (Math.pow(gewei, 3) + Math.pow(shiwei, 3) + Math.pow(baiwei, 3) == i) {
				System.out.println(i);
			}
		}
		
	}
  1. 闰年
	public static void main(String[] args) {
		
		for (int i = 1980; i <= 2020; i++) {
			if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
				System.out.println(i);
			}
		}
		
	}
  1. 掷色子游戏
public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		
		int gold = 1000;
		
		while (gold > 0 && gold < 3000) {
			
			System.out.println("请选择:1-大  2-小");
			int choose = input.nextInt();
			if (choose != 1 && choose != 2) {
				System.out.println("输入错误,重新开始!");
				continue;
			}
			System.out.println("请选择下注金额:");
			int wager = input.nextInt();
			if (wager > gold) {
				System.out.println("输入错误,重新开始!");
				continue;
			}
			
			//[0,1) -*6-> [0,6) -+1-> [1,7) -(int)-> [1,6]
			int one = (int)(Math.random() * 6 + 1);
			int two = (int)(Math.random() * 6 + 1);
			int three = (int)(Math.random() * 6 + 1);
			int sum = one + two + three;
			int trueChoose = sum >= 10 ? 1 : 2;
			
			System.out.println("本轮点数是:" + one + "," + two + "," + three);
			System.out.println("点数之和是:" + sum + "," + (sum >= 10 ? "大" : "小"));
			
			if (trueChoose == choose) {
				System.out.println("猜对了");
				gold += wager;
			} else {
				System.out.println("猜错了");
				gold -= wager;
			}
			
			System.out.println("当前金币:" + gold);
		}
		
		if (gold == 0) {
			System.out.println("倾家荡产!");
		} else {
			System.out.println("一代赌神!");
		}
		
		input.close();
		
	}
  1. 武器强化小游戏
public static void main(String[] args) {

		Scanner input = new Scanner(System.in);

		System.out.println("请输入武器名称:");
		String name = input.next();
		int level = 1;
		
		int count = 0;

		flag1:
		while (true) {
			double rate = 1.0 / level;
			System.out.println("当前成功概率:" + (int) (rate * 10000) / 100.0 + "%");
			//System.out.println("请选择:1.开始强化  0.结束游戏");
			//int choose = input.nextInt();
			int choose = 1;
					
			switch (choose) {
			case 1:
				double randomNum = Math.random();

				if (randomNum <= rate) {
					System.out.println(name + "强化成功!当前等级:" + (++level));
				} else {
					System.out.println(name + "强化失败!当前等级:" + (--level));
				}
				
				count++;
				if (level == 10) {
					System.out.println("强化次数:" + count);
					break flag1;
				}

				break;
			case 0:
				System.out.println("游戏结束!");
				break flag1;
			default:
				System.out.println("输入错误!");
				continue;
			}
		}
		
		input.close();

	}

总结:

java的循环结构,用于执行需要循环的业务。

DenseNet训练实践 在Cifar10上训练DenseNet,复现DenseNet论文的结果是后面两篇分析工作的基础,因此本系列的第一篇,将首先讨论深度学习的训练过程中的几个方面: 1. 数据集 1.1 Cifar10数据集 Cifar10数据集有6万张32X32的图片,是一个小型的数据集,但数据的复杂度足够,下图来自DenseNet论文,可以看出,不用数据增强的话,ResNet的正确率也很难超过90%,因而足以用来验... 阅读详情

相关推荐

RM机器人麦轮底盘实战:从零搭建到PID调参全记录(附避坑指南)

本文详细记录了RM机器人麦轮底盘从零搭建到PID调参的全过程,涵盖硬件组装、开发环境搭建、底盘解算和PID调参等关键步骤,并附有实用的避坑指南。特别针对麦轮控制、底盘解算和电机调试等核心问题提供了专业解决方案,帮助开发者快速提升机器人性能。

bush的博客 370

Java基础题(21~30)

【程序21】 题目:求1+2!+3!+...+20!的和 package student; public class Test21 { public static void main(String[] args) { long sum = 0; long fac = 1; for (int i = 1; i <= 20; i++) { fac = fac * i; sum += f...

mtm001的专栏 419

大彩串口屏+LUA避坑指南:从Flash读写到控件状态配置的5个常见问题

本文针对大彩串口屏的LUA脚本开发,深度剖析了Flash数据存储与控件状态配置中的5个常见陷阱。重点讲解了如何通过标志位安全初始化Flash、正确处理多字节数据转换,以及如何精准配置按钮与文本控件的状态与事件响应,帮助开发者提升开发效率与代码可靠性。

weixin_27945229的博客 241

【贪玩巴斯】2021,JAVA每日一题,每日一练——第一集(10题)

1. 循环练习for语句 // 2020年1月24日 题目: 从1循环到150 并在每一行后面打印一个值,另外在每个3的倍数行上打印出“foo",在每个5的倍数行上打印"biz",在每个7的倍数行上打印输出"baz" 代码如下: public class Diyiti20200124 { /** MADE IN 贪玩巴斯 20200124 23:49 */ public static void main(String[] args) { // TO...

D16100的博客 1115

通达信【雷霆尊者排序】实战指南:高胜率竞价指标解析与优化策略

本文详细解析了通达信【雷霆尊者排序】指标在集合竞价阶段的应用,提供从基础设置到实战解码的完整指南。文章重点剖析了‘雷霆’、‘使者’、‘精选’等核心信号的逻辑与共振策略,并分享了如何结合K线、市场情绪进行综合研判与风险控制,旨在帮助短线交易者提升早盘选股效率与胜率。

pear55的博客 948

如何实现SOLIDWORKS阵列的“智能变更”?

有时,我们在设计一个零件时,零件上有一排阵列孔,同时零件有不同的长度,我们又希望可以做到零件长度改变时,这排孔可以按长度等距增减孔阵列的个数;或是零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那具体要怎么做呢?接下来,我们一起来看看怎么用SOLIDWORKS中简单的操作来实现这两种智能的变更: 零件长度加长或缩短时,这排孔要按长度等距增减孔阵列的个数。 零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那接下来,我们一起来看看怎么用简单的操作来实现这两种智能的

SOLIDWORKS艾金米 2076

java编程100题

Java程序设计总复习题 编写一个Java程序,用if-else语句判断某年份是否为闰年。(分支) // Programme Name LeapYear.java public class LeapYear{ public static void main(String args[]){ int year=2010; if(args.length!=0) year=Integer.parseInt(args[0]); if((year%4...

wangprince2017 5642

多模态目标检测综述介绍及框架提供

多模态目标检测是计算机视觉领域的前沿方向,旨在通过融合不同传感器或数据源的信息(如可见光、红外、深度等),提升复杂场景下目标检测的准确性和鲁棒性。

Limiiiing的博客 4585

public static void main(String[] args){}函数诠释

主函数的一般写法如下:  public static void main(String[] args){…}  下面分别解释这些关键字的作用:  (1)public关键字,这个好理解,声明主函数为public就是告诉其他的类可以访问这个函数。  (2)static关键字,告知编译

Chen 1万+

2025年GESP3月认证C++五级真题解析

小 A 有 2n 件物品,小 B 和小 C 想从小 A 手上买走这些物品。对于第 i 件物品,小 B 会以 bi 的价格购买,而小 C 会以 ci 的价格购买。对于所有测试点,保证 1 <= T <= 100, 2 <= g < p <= 10^9, g, p 为整数, p 为质数。对于所有测试点,保证 1 <= n <= 10^5, 0 <= bi, ci <= 10^9, bi, ci 为整数。对于另外 50 % 的测试点,保证 n <= 100000, 0 <= bi, ci <= 10^9。

lan_in的博客 1035

java零基础从入门到精通(全)

目录前言1. 入门知识1.1 java体系1.2 JDK/JRE/JVM区别1.3 编译与运行理解1.4 类体函数细节2. 标识符 前言 java优势 健壮性(JVM(C++语言写的一个虚拟的计算机)、GC(垃圾回收机制)) 多线程并发 可移植性/跨平台 1. 入门知识 1.1 java体系 JavaSE:标准版 JavaEE:企业版 JavaME:微型版 1.2 JDK/JRE/JVM区别 JVM是不能独立安装的。 JRE和JDK都是可以独立安装的 层层嵌套,jvm包括jdk,jdk包括jre

码农研究僧的博客 6万+

预习:JAVA面向对象 流程控制---选择结构与循环结构

一 选择机构 1. if控制语句 if控制语句共有三种不同的形式,分别是单支结构,双分支结构和多分支结构 if语句由条件表达式和紧随其后的语句组成。如果if条件表达式后面有多个语句,需要在多个语句的前后添加一对花括号,即: if(表达式){ 语句1 语句2 } if-els语句的语法格式 if(表达式){ ...

zhuyao12345的博客 325

TIBCO Jaspersoft Studio报表开发 使用教程-进阶版

本文学习内容容器定制二级目录三级目录 容器定制 二级目录 三级目录

吉哲的博客 7520

Java基础05 循环结构

引领完成Docker的安装、部署、管理和扩展,让其经历从测试到生产的整个开发生命周期,深入了解Docker适用于什么场景。并且这本Docker的学习权威指南介绍了其组件的基础知识,然后用Docker构建容器和服务来完成各种任务:利用Docker为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker的API,如何扩展Docker。

2401_83329718的博客 879

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java基础05 循环结构(1)

变量的初始化;do{循环执行的语句;变量的更新;}while(循环条件);do-while和for、while的区别:for、while是先进行条件判断,再执行循环语句,如果条件不成立,一次都不执行。do-while是先执行循环语句,再进行条件判断,如果条件不成立,至少会执行一次。执行流程:练习:一个人跑步,跑完1圈后,询问他是否继续跑,当回答“y”时,继续跑下一圈,否则结束跑步。1、使用do-while完成2、循环变量使用String类型3、循环代码,先输出跑完一圈,再给循环变量输入字符串4、循环的条件是

2401_83816970的博客 960

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring AI + GPT-5.5 + Ollama 配置教程:Base URL、超时与流式调用

由于不同 Spring AI、Spring Boot 小版本之间仍可能存在差异,创建项目时应检查 Spring Initializr、Spring AI BOM 和官方兼容矩阵,不要直接复制旧教程中的 Starter 名称和版本号。多人项目最好隔离不同客户端,并在脱敏前提下记录最终 URL、状态码、请求耗时、请求 ID 和模型 ID。Spring AI 接入模型 API,至少要同时确认 Starter、Base URL、请求路径、API Key、模型 ID、连接超时、读取超时和流式客户端这 8 项。

2601_95893075的博客 219

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 328

【JVM】对象内存布局

HotSpot JVM 中,Java 对象内存布局由对象头(12字节,含Mark Word与压缩Klass Pointer)、实例数据及对齐填充构成,总大小为8字节倍数。对象头支持锁状态动态复用,指针压缩使引用仅4字节,但堆超32GB时失效。实例字段按类型优先级重排序以减少间隙,最小对象大小为16字节。通过JOL工具可精准验证布局,理解锁机制、GC、伪共享等底层行为。

2301_79732484的博客 148

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 114

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 192

LeetCode Hot 100 二叉树专题(二)3 题(Java)

本篇文章共 3 题:543. 二叉树的直径、102. 二叉树的层序遍历、108. 将有序数组转换为二叉搜索树。 每道题都统一按「① 题目分析 & 解题思路 → ② 常见解法(附代码)及讲解 → ③ 知识点总结」的顺序组织;代码使用 Java 编写,节点定义沿用 LeetCode 默认的 TreeNode。

2401_88612756的博客 360

Decorator

TaskDecorator 是异步场景下"跨线程传递上下文"的标准方案,主要用于传递 MDC、用户信息、数据源路由等上下文数据,核心价值是让异步任务的日志链路不中断、业务上下文不丢失。TaskDecorator 是 Spring 提供的一个钩子接口,用于在异步任务执行前对 Runnable 进行包装,常用于跨线程传递上下文。如果你在项目中遇到具体的异步上下文传递问题,可以把代码贴出来,我帮你给出最合适的 Decorator 方案 👍。✅ 核心能力:在线程切换时,把"父线程的上下文"搬到"子线程"

wlwork66的博客 102

数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南

Oracle 提供了ORA_ROWSCN伪列(System Change Number),记录最后修改行的 SCN,类似 PostgreSQL 的xmin。实践中通常仍使用 version 字段方案,逻辑与 MySQL 完全相同。-- Oracle:通过 ORA_ROWSCN 实现乐观锁-- 更新时比对 SCN// 自定义注解// AOP 切面@Aspect@Component@Slf4jtry {

yjc_1111的专栏 394

JDK 下载安装:装完 Java 提示「不是内部或外部命令」?环境变量没配

JDK 是写 Java 程序必须装的东西。它包含运行 Java 的虚拟机(JRE)和编译 Java 的编译器(javac)——装了它,能跑、.java文件能编译成可执行程序。免费,学习和小规模生产都不花钱。

科小怪的博客 623

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 376

java框架大全

java框架大全

qq_39326137的博客 183
上一篇: 【Java基础】java学习之旅04-数据类型转换及运算
下一篇: 【Java基础】java学习之旅06-数组的相关知识
JeffHan^_^
博客等级 码龄7年 1万+粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值