标签:
我们举一个例子,编写一个小代码,来实现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 }
结果如下:
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*
***
*****
*******
*********
----------------
标签:
原文地址:http://www.cnblogs.com/dmblogaa/p/5954617.html