Java练习——for循环语句案例(输出数据、求和、求偶数和、水仙花、统计)需求、分析、代码

简介: for循环语句案例(输出数据、求和、求偶数和、水仙花、统计)需求、分析、代码!

案例:输出数据

需求:

在控制台输出1 ~ 5和5 ~ 1的数据

分析:

(1)反复进行输出的动作,使用循环结构

(2)从1(5)开始到5(1)结束,设置初始化从1(5)开始

(3)从1(5)开始到5(1)结束,设置判断条件为没有到5(1)的时候继续执行,执行到超过5(小于1)程序结束

(4)从1(5)到5(1),每次增加(减少)1,设置条件控制每次+1(-1)

(5)将反复进行的事情写入循环结构内部,打印对应数据

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
//需求:输出数据1~5for(intj=1; j<=5; j++){
System.out.println(j);
  }
System.out.println("………………………………");
//需求:输出数据5~1for(inti=5; i>=1; i--){
System.out.println(i);
  }
    }
}


运行结果:

12345………………………………54321


案例:求和

需求:

求1 ~ 5之间的数据和,并把求和结果在控制台输出

分析:

(1)求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0

(2)从1开始到5结束的时候,使用循环结构完成

(3)将反复进行的事情写入循环结构内部,此处反复进行的事情是将数据i加到用于保存最终求和的变量sum中

(4)当循环执行完毕时,将最终数据打印出来

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
intsum=0;
for(intj=1; j<=5; j++){
sum+=j;
  }
System.out.println("1~5之间的数据和为:"+sum);
    }
}


运行结果:

1~5之间的数据和为:15


案例:求偶数和

需求:

求1~100之间的偶数和,并把结果在控制台输出。

分析:

(1)对1~100的数据求和与1 ~5的数据求和几乎完全全一样,仅仅是结束条件不同

(2)对1~100的偶数求和,需要对求和操作添加限制条件

(3)限制条件是偶数才参与运算,因此条件应该是判断是否是偶数

(4)当循环执行完毕,将最终数据打印出来

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
intsum=0;
for(intj=1; j<=100; j++){
if(j%2==0){
sum+=j;
    }
  }
System.out.println("1~100之间的偶数和为:"+sum);
    }
}


运行结果:

1~100之间的偶数和为:2550


案例:水仙花

需求:

在控制台输出所有的“水仙花数”

水仙花数:

①:水仙花数是一个三位数(111,222,370……)

②:水仙花数的个位、十位、百位的数字立方和等于原数

分析:

①水仙花数

(1)三位数的个位数:(371:1就是原始数字对10进行取余运算的结果。[371%10=1])

(2)三位数的百位数:(371:3就是原始数字除以100的结果。[371/100=3])

(3)三位数的十位数:(371:371通过除以10,可以将7移动到个位上,37通过对10进行取余运算可以得到7。[371/10=37,37%10=7])

【任意数字的指定位上的数值如何求:先使用整除操作将要求的数字移动到个位上,再使用取余操作取出最后一位上的值】

②案例

(1)输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束

(2)不是每个三位数都是水仙花数,因此需要判定,满足条件的数字才能进行输出

(3)判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等

(4)在计算之前获取三位数中每个位上的值

③ 总分析:

(1)先建立循环

(2)计算是否满足条件,满足条件输出

(3)取出三位数中的个位十位百位数字

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
for(intj=100; j<=1000; j++){
intge=j%10;
intshi=j/10%10;
intbai=j/10/10%10;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==j){
System.out.println(j);
    }
  }
    }
}


运行结果:

153370371407


案例:统计

需求:

统计“水仙花数”一共有多少个,并在输出台输出个数

分析:

(1)定义变量count,用于保存“水仙花数”的数量,初始值为0

(2)在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值,使count+1

(3)打印输出最终结果

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
intcount=0;
for(intj=100; j<=1000; j++){
intge=j%10;
intshi=j/10%10;
intbai=j/10/10%10;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==j){
count++;
    }
  }
System.out.println("水仙花共有"+count+"个");
    }
}


运行结果:

水仙花共有4个


相关文章
|
1月前
|
存储 Java
【编程基础知识】 分析学生成绩:用Java二维数组存储与输出
本文介绍如何使用Java二维数组存储和处理多个学生的各科成绩,包括成绩的输入、存储及格式化输出,适合初学者实践Java基础知识。
67 1
|
22天前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
108 63
|
14天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
47 3
|
16天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
34 2
|
17天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
12 2
|
22天前
|
安全 Java
Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧
【10月更文挑战第20天】Java多线程通信新解:本文通过生产者-消费者模型案例,深入解析wait()、notify()、notifyAll()方法的实用技巧,包括避免在循环外调用wait()、优先使用notifyAll()、确保线程安全及处理InterruptedException等,帮助读者更好地掌握这些方法的应用。
15 1
|
1月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
34 5
|
1月前
|
Java
让星星⭐月亮告诉你,Java synchronized(*.class) synchronized 方法 synchronized(this)分析
本文通过Java代码示例,介绍了`synchronized`关键字在类和实例方法上的使用。总结了三种情况:1) 类级别的锁,多个实例对象在同一时刻只能有一个获取锁;2) 实例方法级别的锁,多个实例对象可以同时执行;3) 同一实例对象的多个线程,同一时刻只能有一个线程执行同步方法。
18 1
|
1月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
41 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
21天前
|
存储 Java 编译器
[Java]基本数据类型与引用类型赋值的底层分析
本文详细分析了Java中不同类型引用的存储方式,包括int、Integer、int[]、Integer[]等,并探讨了byte与其他类型间的转换及String的相关特性。文章通过多个示例解释了引用和对象的存储位置,以及字符串常量池的使用。此外,还对比了String和StringBuilder的性能差异,帮助读者深入理解Java内存管理机制。
18 0