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个


相关文章
|
2天前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
15 5
Java反射机制:解锁代码的无限可能
|
3天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
27 10
|
22小时前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
16 2
|
5天前
|
SQL Java 关系型数据库
java连接mysql查询数据(基础版,无框架)
【10月更文挑战第12天】该示例展示了如何使用Java通过JDBC连接MySQL数据库并查询数据。首先在项目中引入`mysql-connector-java`依赖,然后通过`JdbcUtil`类中的`main`方法实现数据库连接、执行SQL查询及结果处理,最后关闭相关资源。
|
5天前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
16 6
|
6天前
|
Java
通过Java代码解释成员变量(实例变量)和局部变量的区别
本文通过一个Java示例,详细解释了成员变量(实例变量)和局部变量的区别。成员变量属于类的一部分,每个对象有独立的副本;局部变量则在方法或代码块内部声明,作用范围仅限于此。示例代码展示了如何在类中声明和使用这两种变量。
|
2天前
|
SQL Java OLAP
java实现“数据平滑升级”
java实现“数据平滑升级”
5 0
|
Java 索引 关系型数据库
【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题
foreach语句使用总结增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部变量,这个局部变量的类型与part2中的对象元素的类型是一致的. part3当然还是循环体.   foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
1421 0
|
4天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
71 38
|
1天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?