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天前
|
监控 算法 Java
|
1天前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
9天前
|
监控 算法 Java
|
7天前
|
JSON Java BI
一次Java性能调优实践【代码+JVM 性能提升70%】
这是我第一次对系统进行调优,涉及代码和JVM层面的调优。如果你能看到最后的话,或许会对你日常的开发有帮助,可以避免像我一样,犯一些低级别的错误。本次调优的代码是埋点系统中的报表分析功能,小公司,开发结束后,没有Code Review环节,所以下面某些问题,也许在Code Review环节就可以避免。
62 0
一次Java性能调优实践【代码+JVM 性能提升70%】
|
10天前
|
存储 缓存 JavaScript
|
10天前
|
Java 关系型数据库 数据库
实时计算 Flink版操作报错合集之拉取全量数据时,如何解决Checkpoint失败并且报错为 "java.lang.OutOfMemoryError: Java heap space"
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
9天前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
10天前
|
SQL Java 数据处理
实时计算 Flink版产品使用问题之使用MavenShadePlugin进行relocation并遇到只包含了Java代码而未包含Scala代码,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
16天前
|
Java 编译器 API
Java中的Lambda表达式:简化代码,提升性能
在Java 8中,Lambda表达式的引入为开发者提供了一种更加简洁、灵活的编程方式。本文将深入探讨Lambda表达式的概念、语法、使用场景及其在Java中的应用示例,帮助读者更好地理解和掌握这一强大工具,从而优化代码结构,提高开发效率。
|
2天前
|
Java 程序员 调度
Java中的多线程编程:概念、实现及性能优化
【5月更文挑战第85天】本文主要探讨了Java中的多线程编程,包括其基本概念、实现方式以及如何进行性能优化。首先,我们将介绍多线程的基本概念,然后详细讨论如何在Java中实现多线程,包括继承Thread类和实现Runnable接口两种方式。最后,我们将探讨一些提高多线程程序性能的策略,如使用线程池和减少同步开销等。