Java循环语句

       循环语句则是根据条件要求程序反复执行某些语句,直到条件不满足为止。Java中的循环语句分为三种:for语句、while语句和do-while语句。

    1. for语句

      for语句一般适用于明确知道重复执行次数的循环情况,其语法格式如下:

for([初始化表达式];[条件表达式];[迭代表达式]){

        循环体

}

       其中,初始化表达式只在循环开始之前执行一次;初始化表达式、条件表达式和迭代表达式可以省略,但是分号不能省略,当三者都省略时将称为一个死循环;在初始化表达式和迭代表达式中可以使用逗号隔开多个语句。for语句首先执行初始化表达式,然后计算条件表达式的取值;如果条件表达式的值为true,则先执行循环体中的语句,然后接着执行迭代表达式,完成一次循环,进入下一次循环;如果条件表达式的值为false,则终止循环。for语句的程序控制结构如图1所示。

图1. for语句结构

【例1】编写一个程序,计算从1累加到n,n为一个大于1的整数。

代码如下:

public class ForDemo {
	public static int sum(int n) {
		int sum=0;
		//计算从1到n的和
		for(int i=1;i<=n;i++) {
			sum+=i;
		}
		return sum;
	}
	public static void main(String[] args) {
		System.out.println("从1到100到和为:"+sum(100));
		System.out.println("从1到500到和为:"+sum(500));
	}
}

     2. while语句

        while语句的语法格式如下:

while(条件表达式){

       循环体

}

       while语句首先计算条件表达式的取值,如果条件表达式的值为true,则执行循环体内的语句,在进入下一次循环;如果条件表达式的值为false,则终止循环。while语句的程序控制结构如图2所示。

图2. while语句结构

【例2】编写一个程序,利用辗转相除法求两个正整数a和b的最大公约数(a, b)。最大公约数是指多个整数共有约数中最大的一个。例如,12,16的公约数有1、2、4,其中最大的一个是4,因此,4是12与16的最大公约数,即(12,16)=4。

下面以a=12和b=16为例来说明利用辗转相除法算法求最大公约数的步骤:

① 12除以16的余数12,因为12不等于0,所以(12,16)=(16,12)

② 16除以12的余数为4,因为4不等于0,所以,(16,12)=(12,4)

③ 12除以4的余数为0,所以(12,4)=4

所以,(12,16)=4。

代码如下:

public class WhileDemo {
	//求a和b的最大公约数
	public static int mcd(int a,int b) {
		int m=a%b;
		while(m!=0) {
			a=b;
			b=m;
			m=a%b;
		}
		return b;
	}
	public static void main(String[] args) {
		System.out.println("12和16的最大公约数为:"+mcd(12,16));
		System.out.println("36和24的最大公约数为:"+mcd(36,24));
		System.out.println("36和13的最大公约数为:"+mcd(36,13));
		System.out.println("36和12的最大公约数为:"+mcd(36,12));
	}
}

     3. do-while语句

        while语句先判断再循环,而do-while语句则是先循环再判断,其语法格式如下:

do{

        循环体

}while(条件表达式);

       do-while语句首先执行一次循环体,然后再计算条件表达式的取值,如果条件表达式的值为true,则进入下一次循环;如果条件表达式的值为false,则终止循环。do-while循环语句的程序控制结构如图3所示。

图3. do-while语句结构

【例3】编写一个程序,确定满足1+1/2+1/3+...+1/n >10的最小整数n

代码如下:

public class doWhileDemo {
	public static void main(String[] args) {
		int n=0;
		double sum=0;
		do{
			n+=1;
			sum+=1.0/n;
		}while(sum<=10);
		System.out.println("最小整数n为:"+n);
	}
}

     4. 循环语句嵌套

       当循环语句的循环体中又出现循环语句时,称为循环嵌套或多重循环。例如,for循环嵌套、while循环嵌套,当然也可以使用混合嵌套。下面通过具体实例来说明循环语句嵌套的使用方法。

【例4】编写一个程序,输出九九乘法表。

public class NestedLoopDemo1 {
	public static void main(String[] args) {
		for(int i=1;i<=9;i++) {//外层循环
			for(int j=1;j<=9;j++) {//内层循环
				System.out.print(i+"*"+j+"="+i*j+"\t");
			}
			System.out.println();//换行
		}
	}
}

  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值