Java基础编程之 循环

本文详细介绍了Java编程中的for、while、do-while、break、continue、if...else和switch等循环和控制结构,以及它们在不同情况下的应用和用法。
摘要由CSDN通过智能技术生成

for循环

for 循环在第一次反复之前要进行初始化。随后,它会进行条件测试,而且在每一次反复的时候,进行某种形式的“步进”( Stepping)。 for 循环的形式如下:

for(初始表达式;布尔表达式;步进){
			循环体
}
注:当执行语句只有一句时,可以省略“{ }”

无论初始表达式,布尔表达式,还是步进,都可以置空。每次反复前,都要测试一下布尔表达式。若获得的结果是 true,就会继续执行循环体语句;判断结果为false,则跳出for循环,执行循环后面的那行代码。

例如:
public static void main(String[] args){
	for(int i = 1;i < 10;i++){
		System.out.print(i); //循环体
	}
}
System.out,println(" 我爱学习")
//  输出结果为:123456789 我爱学习

注:for 循环存在一个死循环,其表达形式为:

for(;;){
	执行语句;
}

while循环

while循环在每一次执行的时候,都会进行判断,然后再执行语句。while循环表达形式如下:

while(布尔表达式){
		循环体;
		步长;
}

在循环刚开始时,会计算一次“布尔表达式”的值。而对于后来每一次额外的循环,都会在开始前重新计算一次。
下面这个简单的例子可产生随机数,直到符合特定的条件为止:

public static void main(String[] args){
	double i = 0.0;
	while(i < 0.99d){
		i = Math.random;
		System.out.println(i);
		i += 0.1;
	}
}
// 输出结果是小于0.99的小数

注:在while 循环中有一个特殊的循环——死循环,也就是说布尔表达式返回值永远都是 true。其表达形式如下:

while(true){
	循环体
}

do…while循环

while 和 do-while 唯一的区别就是 do-while 肯定会至少执行一次;也就说,至少会将其中的语句“过一遍” —— 即便表达式第一次便计算为 false。而在 while 循环结构中,若条件第一次就为 false,那么其中的语句根本不会执行。在实际应用中, while 比 do-while 更常用一些。其表达形式如下:

do
	循环体;
while(布尔表达式)

break和continue

在任何循环语句的主体部分,亦可用 break 和 continue 控制循环的流程。其中, break 用于强行退出循环,不执行循环中剩余的语句。而 continue 则停止执行当前的反复,然后退回循环起始和,开始新的反复。

下面这个程序向大家展示了 break 和 continue 在 for 和 while 循环中的例子:

public static void main(String[] args){
	// for循环
	for(int i = 0; i < 100; i++) {
		if(i == 74) break; // 跳出整个循环
		if(i % 9 != 0) continue; // 继续进行下一次的循环
	System.out.println(i);
	}
	//while循环
	int i = 0;
	while(true) {
		i++;
		int j = i * 27;
		if(j == 1269) break; // 跳出整个循环
		if(i % 10 != 0) continue; // 继续进行下一次循环
		System.out.println(i);
	}
}

if…else…

if-else 语句或许是控制程序流程最基本的形式。其中的 else 是可选的,所以可按下述三种形式来使用 if:

if(布尔表达式){
	执行语句;
}
	
	或
if(布尔表达式){
	执行语句;
}else{
	执行语句
}
	亦或
if(布尔表达式){
	执行语句;
}else if{
	执行语句;
}else{
	执行语句;
}

作为 if-else 的一个例子,下面这个代码可告诉我们猜测的一个数字位于目标数字之上、之下还是相等:

public static void main(String[] args){
	Scanner sc = new Scanner(System.in);  // 构造一个新对象,用于键盘输入
	System.out.print("请输入一个整数");//提示人们输入
	int i = sc.nextInt();//接收键盘输入的数字
	if(i > 90){
		System.out.println("非常棒");
	}else if(i > 60 && i <= 90){
		System.out.println("还需要继续努力");
	}else{
		System.out.println("滚去学习");
	}
}

switch

switch( 开关)有时也被划分为一种“选择语句”。根据一个整数表达式的值, switch 语句可从一系列代码选出一段执行。它的格式如下:

switch(整数选择因子) {
case 整数值 1 : 
	执行语句; 
	break;
case 整数值 2 : 
	执行语句; 
	break;
case 整数值 3 : 
	执行语句;
	 break;
case 整数值 4 : 
	执行语句;
 	break;
case 整数值 5 : 
	执行语句; 
	break;
}

通过下面这个例子可以判断我们输入的数字,然后返回对应的含义。我们假设1:周一;2:周二;3:周三;4:周四:5:周五;6:周六;7:周日

public static void main(String[] args){
	Scanner sc = new Sanner(System.in);
	int i = sc.nextInt();
	switch(i)
	case 1:
		System.out.println("周一");
		breakcase 2:
		System.out.println("周二");
		breakcase 3:
		System.out.println("周三");
		breakcase 4:
		System.out.println("周四");
		breakcase 5:
		System.out.println("周五");
		breakcase 6:
		System.out.println("周六");
		breakcase 7:
		System.out.println("周日");
		break}

小结

  1. for 和 while 的使用建议:一般当确定循环次数时,我们使用 for 循环;反之,当不确定循环次数时,使用 while 循环
  2. if…else 和 switch 的使用建议:要进行判断,使用 if…else ;当需要返回一个所对应的值,使用 switch

练习题

  1. 判断一个数是否为素数
  2. 打印2 - 100之间的所有素数
  3. 打印99乘法表
  4. 猜拳游戏
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值