Java学习-005-初学常用的几个经典循环控制源代码

最近一段时间公司 App 改版,一直处在需求评审、代码评审、测试计划、测试用例、用例评审、用例执行、缺陷管理、测试总结的循环中,因而博客也好久没有更新了。虽然工作确实忙了点,但是也是自己懒惰了,从今天开始陆续整理之前学习 Java 时写的 Java 程序,并记录在博客中,供自己查阅,也希望能给初学 Java 的亲们一份参考,希望能对初学 Java 编程的亲们有所帮助。若有不足之处,敬请大神指正,不胜感激!

此文主要讲述在初学 Java 时,常用的几个经典的循环控制程序的源码整理。源代码测试通过日期为:2015-1-30 23:49:15,请知悉。

以下为初学 Java 常用的几个经典循环控制源代码,敬请参阅!

  1 /**
  2  * Aaron.ffp Inc.
  3  * Copyright (c) 2004-2015 All Rights Reserved.
  4  */
  5 package main.java.aaron.java.demo;
  6
  7 /**
  8  * Java学习-经典程序示例
  9  * @author Aaron.ffp
 10  * @version V1.0.0: autoUISelenium main.java.aaron.java.demo ClassicPrograms.java, 2015-1-30 23:21:08 Exp $
 11  */
 12 public class ClassicPrograms {
 13
 14     /**
 15      * 主方法入口
 16      * @author Aaron.ffp
 17      * @version V1.0.0: autoUISelenium main.java.aaron.java.demo ClassicPrograms.java main, 2015-1-30 23:21:08 Exp $
 18      *
 19      * @param args
 20      */
 21     public static void main(String[] args) {
 22         int lay=6;
 23
 24         /* 打印正金字塔-实心、空心 */
 25         printPositivePyramid(lay);
 26
 27         /* 打印倒金字塔-实心、空心 */
 28         printInvertedPyramid(lay);
 29
 30         /* 打印菱形 */
 31         printDiamond(lay);
 32
 33         /* 打印九九乘法表 */
 34         print99MultiplicationTable();
 35     }
 36
 37     /**
 38      * 经典循环控制-打印 99 乘法表
 39      *
 40      * @author Aaron.ffp
 41      * @version V1.0.0: autoUISelenium main.java.aaron.java.demo ClassicPrograms.java print99MultiplicationTable, 2015-1-30 23:48:56 Exp $
 42      *
 43      */
 44     public static void print99MultiplicationTable(){
 45         int multiplier   = 9; // 乘数表最大数
 46
 47         System.out.println("\n 输出 99 乘法表:");
 48
 49         for (int i = 1; i <= multiplier; i++) { // 乘数控制
 50             /* 被乘数不大于乘数 */
 51             for (int j = 1; j <= i; j++) {      // 被乘数控制
 52                 System.out.print(i + " x " + j + " = " + (i * j) + "\t");
 53             }
 54
 55             System.out.println();
 56         }
 57     }
 58
 59     /**
 60      * 经典循环控制-打印正金字塔:实心、镂空
 61      *
 62      * @author Aaron.ffp
 63      * @version V1.0.0: autoUISelenium main.java.aaron.java.demo ClassicPrograms.java printPositivePyramid, 2015-1-30 23:49:04 Exp $
 64      *
 65      * @param lay : 金字塔层数
 66      */
 67     public static void printPositivePyramid(int lay){
 68         /* 打印正金字塔 */
 69         System.out.println("\n" + " 打印正金字塔");
 70
 71         for(int i=1;i<=lay;i++){
 72             /* 空格规律:1->3  2->2 3->1 4->0, 提示:将金字塔以中线分开看左边的空格规律, 每层的空格个数为 lay-1 */
 73             for(int k=0;k<=lay-i;k++){
 74                 System.out.print(" ");
 75             }
 76
 77             /* 星号规律:1->1 2->3 3->5 4->7, 提示:每层型号的个数为 2*lay-1 */
 78             for(int j=1;j<= 2*i-1;j++){
 79                 System.out.print("*");
 80             }
 81
 82             System.out.println();
 83         }
 84
 85         /* 打印镂空金字塔 */
 86         System.out.println("\n" + " 打印镂空金字塔:");
 87
 88         for(int i=1;i<=lay;i++){
 89             /* 空格规律:1->3  2->2 3->1 4->0 */
 90             for(int k=0;k<=lay-i;k++){
 91                 System.out.print(" ");
 92             }
 93
 94             /* 星号规律:1->1 2->3 3->5 4->7 */
 95             for(int j=1;j<=(i-1)*2+1;j++){
 96                 /* 判断是否顶层或底层, 若是则打印型号, 否则打印空格 */
 97                 if(i==1||i==lay){
 98                     System.out.print("*");
 99                 } else {
100                     if(j==1 || j==(i-1)*2+1){
101                         System.out.print("*");
102                     } else {
103                         System.out.print(" ");
104                     }
105                 }
106             }
107
108             System.out.println();
109         }
110     }
111
112     /**
113      * 经典循环控制-打印倒金字塔:实心、镂空
114      *
115      * @author Aaron.ffp
116      * @version V1.0.0: autoUISelenium main.java.aaron.java.demo ClassicPrograms.java printInvertedPyramid, 2015-1-30 23:49:10 Exp $
117      *
118      * @param lay
119      */
120     public static void printInvertedPyramid(int lay){
121         /* 打印倒金字塔 */
122         System.out.println("\n" + " 打印倒金字塔:");
123
124         for(int i=1; i<=lay; i++){
125             /* 空格规律:1->0  2->1 3->2 4->3 */
126             for(int k=1; k<=i; k++){
127                 System.out.print(" ");
128             }
129
130             /* 星号规律:1->7 2->5 3->3 4->1 */
131             for(int j=1; j<=(2*lay-1)-2*(i-1); j++){ // 总列数-2*空格数
132                 System.out.print("*");
133             }
134
135             System.out.println();
136         }
137
138         /* 打印镂空倒金字塔 */
139         System.out.println("\n" + " 打印镂空倒金字塔:");
140
141         for(int i=1;i<=lay;i++){
142             /* 空格规律:1->0  2->1 3->2 4->3 */
143             for(int k=1;k<=i;k++){
144                 System.out.print(" ");
145             }
146
147             /* 星号规律:1->7 2->5 3->3 4->1 */
148             for(int j=1;j<=(2*lay-1)-2*(i-1);j++){
149                 if(i==1||i==lay){
150                     System.out.print("*");
151                 }
152                 else{
153                     if(j==1 || j==(2*lay-1)-2*(i-1)){
154                         System.out.print("*");
155                     }else{
156                         System.out.print(" ");
157                     }
158                 }
159             }
160
161             System.out.println();
162         }
163     }
164
165     /**
166      * 经典循环控制-打印菱形:实心、镂空
167      *
168      * @author Aaron.ffp
169      * @version V1.0.0: autoUISelenium main.java.aaron.java.demo ClassicPrograms.java printDiamond, 2015-1-30 23:49:15 Exp $
170      *
171      * @param lay
172      */
173     public static void printDiamond(int lay){
174         /* 打印实心菱形 */
175         System.out.println("\n" + " 打印实心菱形:");
176
177         for(int i=0;i<2*lay-1;i++){
178             /* 空格规律:1->3  2->2 3->1 4->0 */
179             for(int k=0;k<Math.abs(i-(2*lay-1)/2);k++){
180                 System.out.print(" ");
181             }
182
183             /* 星号规律:1->1 2->3 3->5 4->7 */
184             for(int j=1;j<=2*lay-1-Math.abs(i-(2*lay-1)/2)*2;j++){
185                 System.out.print("*");
186             }
187
188             System.out.println();
189         }
190
191         /* 打印镂空菱形 */
192         System.out.println("\n" + " 打印镂空菱形:");
193
194         for(int i=0;i<2*lay-1;i++){
195             /* 空格规律:1->3  2->2 3->1 4->0 */
196             for(int k=0;k<Math.abs(i-(2*lay-1)/2);k++){
197                 System.out.print(" ");
198             }
199
200             /* 星号规律:1->1 2->3 3->5 4->7 */
201             for(int j=1;j<=2*lay-1-Math.abs(i-(2*lay-1)/2)*2;j++){
202                 if(i==0 || i==2*lay-2){
203                     System.out.print("*");
204                 } else {
205                     if(j==1 || j==2*lay-1-Math.abs(i-(2*lay-1)/2)*2){
206                         System.out.print("*");
207                     }else{
208                         System.out.print(" ");
209                     }
210                 }
211             }
212
213             System.out.println();
214         }
215     }
216 }

Java 初学重用的几个经典循环控制源代码

至此, Java学习-005-初学常用的几个经典循环控制源代码 顺利完结,希望此文能够给初学 Java 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

时间: 2024-12-15 01:44:26

Java学习-005-初学常用的几个经典循环控制源代码的相关文章

Java学习中,常用的命令管理(Java 学习中的小记录)

Java学习中,常用的命令管理      作者:王可利(Star·星星) 一.Window中常见的dos命令 在哪里操作dos命令: Win7 ---> 开始  ---->所有程序--->附件---->命令提示符 Win7-->  开始  --->运行  ---->输入cmd 1.1 盘符的切换: 盘符眀+冒号  格式: 盘符: 例子: 想从C盘到D盘 C:/User/xxxx  D: 1.2 文件夹的操作 dir :显示当前文件夹中的所有文件和文件夹. cd 路

Java学习-007-Log4J 日志记录配置文件详解及实例源代码

此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-1-30 13:54:02,请知悉. 所需的 jar 包下载链接为:http://yunpan.cn/cKE56sxqtQCfP  访问密码 63d8 有关 Log4J 日志文件中日志级别及文件配置的详细情况,在 Log4J 的配置文件(xml.properties)中有详细的介绍,敬请参阅!

Java学习-009-文件名称及路径获取实例及源代码

此文源码主要为应用 Java 获取文件名称及文件目录的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-3 00:02:27,请知悉. Java获取文件名称的源代码如下: 1 /** 2 * @function 获取文件名 3 * 4 * @author Aaron.ffp 5 * @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java getfname, 201

【原】Java学习笔记031 - 常用类

1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 /* 6 * 类 Math:包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 7 * 8 * Math类的常用字段: 9 * static double E :比任何其他值都更接近 e(即自然对数的底数)的 double 值. 10 * static double PI :比任何其他

Java学习笔记-5.常用数据结构

一.数组 1.Java是将数组作为对象来实现的,而非连续的存储空间 2.在Java中,数组时一个类,提供了一些方法和属性,如数组长度array.length 3.Java中数组名可视为对象引用,在初始化时,不能直接定义长度 例:int a[3];    //错误的声明方法 4.数组中的元素也可以是复合数据类型的,这时数组元素实际上是对象引用 例: Complex[] arr = new Complex[3]; int i; for(i = 0; i < arr.length; i++) { ar

java学习之三种常用设计模式

一.适配器设计模式 简单来说,就是通过一个间接类来选择性的来覆写一个接口 interface Window{ public void open() ; // 打开窗口 public void close() ; // 关闭窗口 public void icon() ; // 最小化 public void unicon() ; // 最大化 } abstract class WindowAdapter implements Window{ public void open(){} public

java学习之第五章编程题示例(初学篇)

1 /* 2 Animal.java 3 */ 4 package animal; 5 6 public abstract class Animal { 7 public abstract void cry(); 8 public abstract String getanimalName(); 9 } 1 //Dog.java 2 package animal; 3 4 public class Dog extends Animal 5 { 6 7 String aa="旺旺"; 8

JAVA学习第三十六课(常用对象API)- 集合框架(四)— Set集合:HashSet集合演示

随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里很多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发常用 HashSet集合 .TreeSet集合 Set集合的元素是不重复且无序 一.HashSet集合 API文档解释:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持.它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null 元素. 此类为基本操作提供了稳定性能,注意,此实现不是同步的. 由上可

java学习中,接口的使用(重要,常用知识点)(java 学习中的小记录)

java学习中,接口的使用(重要,常用知识点)(java 学习中的小记录)作者:王可利(Star·星星) 接口(功能:用来添加拓展功能的) 例子:铅笔.带橡皮檫的铅笔. 两个功能:     1.写字......> 铅笔     2.擦字......> 橡皮擦 想法:定义一个铅笔类,定义一个橡皮擦类,定义一个带橡皮擦的铅笔类继承 铅笔类和橡皮擦类 但是java是单继承的.于是就有了解决的方法:接口(可以添加拓展功能) 如:一个铅笔类,给它添加一个接口给它一个拓展类(橡皮擦类) 接口的定义模式 用