生命和物体的对白
青春的土壤中,只有记忆是潮湿的;我们不是植物,不能在这块土地上生生不息。当我们回眸青春,总有一种说不出的痛。很多人问我,青春的诀别,是否意味着年迈的将近?其实,青春,她一直都在继续……

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 }

结果如下:
*****
*****
*****
*****
*****
    *****
   *****
  *****
 *****
*****

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

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

 

 

 

 

 

 

 

 

 

posted on 2013-06-13 15:45  墙角的花儿  阅读(19278)  评论(0编辑  收藏  举报