Java入門_java中的循環_for循環簡單示例


Java基礎入門——循環中的for循環簡單示例

首先來看看 for 的語法結構:

for(表達式1;表達式2;表達式3){
    循環語句
}

或者更直觀的表示為這樣:

for(變量初始化;循環條件;迭代語句){
    循環語句
}

for循環的執行流程是:

      首先執行表達式1,一般是進行變量初始化操作,然后執行表達式2,即對循環條件進行判斷,如果結果為真,則執行循環體;循環體執行完畢后,執行表達式3,改變循環變量的值,再次執行表達式2;結果為真,繼續循環;如果結果為假,則終止循環,執行后面的語句。

      無論執行多少次,表達式1僅執行一次。

      我們舉一個例子,編寫一個小代碼,來實現java代碼1到100的求和?

  1+2+3+……+100=?

package com.student.exam;

/**
*計算1到100的和
*/
public class Summation { public static void main(String[] args) { int sum = 0; //聲明變量sum存放計算的和,賦初值為0
for(int i=1;i<=100;i++) sum +=i;//等價於語句sum=sum+score System.out.println("sum="+sum); } }

 運行結果:sum=5050

 for循環適合循環次數固定的情況。對於循環次數不固定的,比如數組的循環和集合的遍歷,可以用foreach循環。foreach循環不需要知道循環的次數,這個以后講解。

 換一種加法用java實現1到100的和

(1+100)+(2+99)+……(50+51)=?

 1 package com.student.exam;
 2 /**
 3  * 使用for循環實現1到100的和
 4  * 兩頭相加進行計算
 5  * (1+100)+(2+99)+(3+98)+... ...+ (50+51)
 6  */
 7 public class  Summation2{
 8 
 9     public static void main(String[] args) {
10         int sum = 0;
11         for(int i=1,j=100;i<j;i++,j--){
12             sum+=i+j;
13         }
14         System.out.println("sum= "+sum);
15     }
16 
17 }

下面我們來實現計算學生成績的for循環代碼:
假定給出一個學生的5門功課的成績,要求輸出平均值

 1 package com.student.exam;
 2 /**
 3  * 使用for 循環
 4  * 輸入學生的5們功課,查詢該學生的總成績和平均分數
 5  */
 6 import java.util.Scanner;
 7 
 8 public class AverageScores {
 9     public static void main(String[] args) {
10         int score;    //聲明一個變量,取名為score,用來接收學生的成績值
11         int sum= 0;    //聲明一個變量,取名sum,用來存儲學生的成績和                
12         double avg =0.0;    //聲明一個double類型的變量,用來接收計算出來的學生的平均分
13         Scanner sc = new Scanner(System.in);    //獲取鍵盤輸入
14         System.out.println("請輸入學生的姓名:");
15         String name = sc.next();    //將獲取的輸入賦值給一個String類型的name變量
16         int i= 0;        //聲明一個int類型的變量,賦初始值為0
17         for(;i<5;i++){    //循環5次錄入成績
18             System.out.println("請輸入5門功課的第"+(i+1)+"門的成績:");
19             score = sc.nextInt();    //錄入成績
20             sum += score;      //等價於語句 sum=sum+score; 
21             System.out.println(name+"的前"+(i+1)+"門功課的成績和是:"+sum);
22         }    
23         System.out.println(name+"的總成績是:"+sum);
24         avg = sum/5;    //計算平均成績
25         System.out.println(name+"的平均分是:"+avg);
26 
27     }
28 
29 }

因為這是Java的基礎部分,屬於初始java,所以每行代碼都給出了注釋,為了初學者更能直觀的感受,我把其中的英文標識符換做漢字代替。

注意:使用中文盡管在Eclipse中能夠正常運行,但在實際開發中,還是推薦使用全英文的命名方式。

 1 package com.student.exam;
 2     /**
 3      * 使用for 循環
 4      * 輸入學生的5們功課,查詢該學生的總成績和平均分數
 5      */
 6 import java.util.Scanner;
 7 
 8 public class 求學生的平均成績 {
 9     public static void main(String[] args) {
10         int 單科成績;
11         int 總成績= 0;
12         double 平均分 =0;
13         Scanner 鍵盤輸入 = new Scanner(System.in);
14         System.out.println("請輸入學生的姓名:");
15         String 學生姓名 = 鍵盤輸入.next();
16         int i= 0;
17         for(;i<5;i++){
18             System.out.println("請輸入5門功課的第"+(i+1)+"門的成績:");
19             單科成績 = 鍵盤輸入.nextInt();
20             總成績 += 單科成績;
21             System.out.println(學生姓名+"的前"+(i+1)+"門功課的成績和是:"+總成績);
22         }    
23         System.out.println(學生姓名+"的總成績是:"+總成績);
24         平均分 = 總成績/5;
25         System.out.println(學生姓名+"的平均分是:"+平均分);
26 
27     }
28 
29 }

最后,我們來使用java中的for循環輸出點陣的圖形

 1 package com.student.exam;
 2 
 3 public class PrintTX {
 4     public static void main(String[] args) {
 5         printJX();
 6         printPXSBX();
 7         printSJX();
 8         
 9     }
10     //打印矩形
11     private static void printJX(){
12         for(int i=1;i<=5;i++){
13             for(int j=1;j<=5;j++){
14                 System.out.print("*");
15             }
16             System.out.println();
17         }
18     }
19     //打印平行四邊形
20     private static void printPXSBX(){
21         for(int i=1;i<=5;i++){
22             for(int k=1;k<=5-i;k++){
23                 System.out.print(" ");
24             }
25             for(int j=1;j<=5;j++){
26                 System.out.print("*");
27             }
28             System.out.println();
29         }
30     }
31     //打印三角形
32     private static void printSJX() {
33         for(int i=1;i<=5;i++){
34             for(int k=1;k<=5-i;k++){
35                 System.out.print(" ");
36             }
37             for(int j=1;j<=2*i-1;j++){
38                 System.out.print("*");
39             }
40             System.out.println();
41         }
42         
43     }
44 
45 }

結果如下:
*****
*****
*****
*****
*****
    *****
   *****
  *****
 *****
*****

        *
      ***
    *****
  *******
*********

----------------

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM