菜牙先生

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

while循环和for循环都成为预测试循环,因为继续条件实在循环体执行之前检测的,

do-while循环称为后测试循环,因为循环条件是在循环体执行之后检测的

因为以前做一些课程设计的时候已经大量的用到这些了,于是不再做太多叙述

建议使用自己觉得最自然,最舒服的一种

只做几个简单的练习

 1 import java.util.Scanner;
2 public class GreatestCommonDivisor {
3 public static void main(String[] args) {
4 // TODO Auto-generated method stub
5 Scanner input=new Scanner(System.in);
6
7 System.out.print("请输入第一个正整数\n");
8 int n1=input.nextInt();
9
10 System.out.print("请输入第二个正整数\n");
11 int n2=input.nextInt();
12
13 int gcd=1;
14 int k=2;
15 while(k<=n1 &&k<=n2){
16 if(n1%k==0&&n2%k==0)
17 gcd=k;
18 k++;
19 }
20 System.out.println(n1+"和"+n2+"的最大公约数为"+gcd);
21 }
22 }


另外循环中常用break和continue语句

区别在于,break语句是跳出循环,

而continue则只是结束本次迭代,转向循环体的末尾,是否结束要看循环条件

再做一个练习,是打印素数的

PrimeNumber
 1 public class PrimeNumber {
2
3 public static void main(String[] args) {
4 // TODO Auto-generated method stub
5 final int NUMBER_OF_PRIMES=50;
6 final int NUMBER_OF_PRIMES_PER_LINE=10;
7 int count=0;
8 int number=2;
9
10 System.out.println("前五十个素数为: ");
11
12 while(count < NUMBER_OF_PRIMES){
13 boolean isPrime=true;
14
15 for(int divisor=2;divisor<=number/2;divisor++)
16 {
17 if(number%divisor==0){
18 isPrime=false;
19 break;
20 }
21 }
22 if(isPrime){
23 count++;
24 if(count%NUMBER_OF_PRIMES_PER_LINE==0){
25 System.out.println(number);
26 }
27 else
28 System.out.print(number+" ");
29 }
30 number++;
31 }
32 }
33 }



posted on 2012-02-02 22:46  菜牙先生  阅读(197)  评论(0编辑  收藏  举报