Java 迭代循环

While、do-while和for都是用来控制循环,有时将它们划分为迭代语句。语句会重复执行,直到起控制作用的布尔表达式得到结果时为止。

1、While循环语句格式如下:

while(布尔表达式){
	//循环内容
}

在循环刚开始时,会计算一次布尔表达式的值;而在语句的下一次迭代开始前会再计算一次。

下面一个例子可产生随机数,直到符合特定条件为止:

public class WhileDemo {
	private static boolean condition(){
		boolean rs = Math.random() < 0.7;
		System.out.print(rs + ",");
		return rs;
	}
	public static void main(String[] args) {
		while(condition()){
			System.out.println("---");
		}
		System.out.println("******");
	}
}

输出结果:

condition()方法用到了Math里的静态方法random(),该方法的作用是产生0和1之间(包括0,不包括1)的一个double值。rs的值是通过比较操作符“<”而得到它,这个操作符将产生boolean类型的结果。在打印boolean类型的值时,将自动地得到适合的字符串:true或false。该例子中的while的条件表达式表示的意思是:只要condition()方法返回true,就重复执行。

2、do-while语句格式如下:

do{
	//代码语句
}while(布尔表达式)

while和do-while唯一的区别就是do-while中的语句至少会执行一次,即便表达式一次就被计算为fals。而在while循环中,如果条件第一次就为false,那么其中的循环的语句根本就不会执行,例子:

int i = 1;
int sum = 0;
do {
	sum += i;
	i++;
} while (i < 11);
System.out.println("do..while_1加到10的和为  " + sum);

输出结果:

3、for循环,在第一次循环之前要进行初始化,随后,进行条件测试,在每一次迭代结束时,进行条件的更新,格式如下:

for(初始化; 布尔表达式; 更新) {     
	//代码语句 
}

初始化表达式,布尔表达式,或者更新运算,都可以为空。每次循环语句迭代前会测试布尔表达式。若获得的结果是false,就会执行for语句后面的代码行。每次循环结束,都是执行一次更新。

例子1:

int sum = 0;
for (int i = 1; i < 11; i++) {
	sum += i;
}
System.out.println("1加到10的和为" + sum);

输出结果:

例子2:

for (char i = 0; i < 110; i++) {
	if (Character.isLowerCase(i)) {
		System.out.println("值:" + (int)i + "," + i);
	}
}

输出结果:

注意:例子2中变量i是在for循环的控制表达式中被定义char的,i的作用域就是for控制的表达式的范围内

例子3,for循环创建九九乘法表:

for (int i = 1; i < 10; i++) {
	for (int j = 1; j <= i; j++) {
		System.out.print(j + "x" + i + "=" + j*i + "\t");
	}
	System.out.println();
}

输出结果:

该例子调用了两层for循环,第一层循环i变量用于控制行数,第二层循环j变量用于控制每行中参与计算的最大数值,与行数相等,然后再设置输出格式,控制排版对齐。

4、foreach语法

Java5 引入了一种主要用于数组的增强型for循环。但需要注意一点:Java增强型for循 环只能取值,不能赋值,格式如下:

for(声明语句 : 表达式) { 
		//代码句子 
}

例子:

int[] i = {1,2,3};
for (int j : i) {
	System.out.print(j + ",");
}
System.out.println();
String[] str = {"A","B","C"};
for (String string : str) {
	System.out.print(string + ",");
}

输出结果:

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值