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("
 输出 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) + "	");
 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("
" + " 打印正金字塔");
 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("
" + " 打印镂空金字塔:");
 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("
" + " 打印倒金字塔:");
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("
" + " 打印镂空倒金字塔:");
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("
" + " 打印实心菱形:");
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("
" + " 打印镂空菱形:");
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 的您一份参考。

 

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

 

 

原文地址:https://www.cnblogs.com/fengpingfan/p/4273629.html