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中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
11 3
|
27天前
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
50 24
|
9天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
48 2
|
23天前
|
Java 编译器 数据库
Java 中的注解(Annotations):代码中的 “元数据” 魔法
Java注解是代码中的“元数据”标签,不直接参与业务逻辑,但在编译或运行时提供重要信息。本文介绍了注解的基础语法、内置注解的应用场景,以及如何自定义注解和结合AOP技术实现方法执行日志记录,展示了注解在提升代码质量、简化开发流程和增强程序功能方面的强大作用。
63 5
|
23天前
|
存储 算法 Java
Java 内存管理与优化:掌控堆与栈,雕琢高效代码
Java内存管理与优化是提升程序性能的关键。掌握堆与栈的运作机制,学习如何有效管理内存资源,雕琢出更加高效的代码,是每个Java开发者必备的技能。
48 5
|
24天前
|
监控 算法 Java
jvm-48-java 变更导致压测应用性能下降,如何分析定位原因?
【11月更文挑战第17天】当JVM相关变更导致压测应用性能下降时,可通过检查变更内容(如JVM参数、Java版本、代码变更)、收集性能监控数据(使用JVM监控工具、应用性能监控工具、系统资源监控)、分析垃圾回收情况(GC日志分析、内存泄漏检查)、分析线程和锁(线程状态分析、锁竞争分析)及分析代码执行路径(使用代码性能分析工具、代码审查)等步骤来定位和解决问题。
|
25天前
|
Java API 开发者
Java中的Lambda表达式:简洁代码的利器####
本文探讨了Java中Lambda表达式的概念、用途及其在简化代码和提高开发效率方面的显著作用。通过具体实例,展示了Lambda表达式如何在Java 8及更高版本中替代传统的匿名内部类,使代码更加简洁易读。文章还简要介绍了Lambda表达式的语法和常见用法,帮助开发者更好地理解和应用这一强大的工具。 ####
|
29天前
|
Java API Maven
商汤人像如何对接?Java代码如何写?
商汤人像如何对接?Java代码如何写?
36 5
|
22天前
|
安全 Java API
Java中的Lambda表达式:简化代码的现代魔法
在Java 8的发布中,Lambda表达式的引入无疑是一场编程范式的革命。它不仅让代码变得更加简洁,还使得函数式编程在Java中成为可能。本文将深入探讨Lambda表达式如何改变我们编写和维护Java代码的方式,以及它是如何提升我们编码效率的。
|
27天前
|
Java
Java将OffsetDateTime格式化为 yyyy-MM-dd HH:mm:ss 如何写代码?
Java将OffsetDateTime格式化为 yyyy-MM-dd HH:mm:ss 如何写代码?
31 0