java学习之路 之 基本语法-特殊的流程控制语句-练习题

class LoopTest7 {
	//break语句的使用1
	public static void main(String[] args) {
		for (int i = 0; i < 20; i++) {
			System.out.println(i);
			if (i == 4) {
				break; // 提前中断循环
			}
		}
	}
	
}

class Exer3 {
	//break语句的使用2
	public static void main(String[] args) {
		// 写一个循环打印0-100之间的值, 从命令行参数获取值n, 一个不小于20小于90的值, 使得循环实际执行n次
		int n = Integer.parseInt(args[0]);
		for (int i = 0; i < 100; i++) {
			if (i == n) {
				break;
				//System.out.println("after break"); 永远无法执行的语句
			}
			System.out.println(i);
		}
	}

}

class LoopTest8 {
	 // 判断一个数是否是质数 	方法2
	public static void main(String[] args) {
		int n = 6; 
		// 质数 : 只能被1和自身整数的数
		boolean flag = true; // 假定这个数是质数
		// 只需要在2~n-1中随便找到一个数,能被这个数整除
		for (int i = 2; i < n; i++) { // 2~8
			if (n % i == 0) {
				flag = false;
				break;
			}
		}
		if (flag) {
			System.out.println(n + "是质数");
		}
	}
}

class LoopTest9 {
	// 打印输出100以内的5个质数   方法2
	public static void main(String[] args) {
		
		int count = 0;
		for (int j = 2; j < 100; j++) {
			boolean flag = true; // 假定j是质数
			// 只需要在2~j-1中随便找到一个数,能被j整除
			for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于j
				if (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数
					flag = false; // 推翻之前的结论
					break; // break默认中断的是离它最近的循环
				}
			}
			if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例 
				System.out.println(j + "是质数");
				count++;
				if (count == 5) {
					break;
				}
			}
		}

	}
}	

class LoopTest10 {
	// 打印输出1000-2000以内的1个质数
	public static void main(String[] args) {
		
		for (int j = 1000; j < 2000; j++) {
			boolean flag = true; // 假定j是质数
			// 只需要在2~j-1中随便找到一个数,能被j整除
			for (int i = 2; i < j; i++) { // 循环遍历一些数, 遍历多少数取决于j
				if (j % i == 0) { // 找到一个反例,j能被某个数整除,所以j肯定不是质数
					flag = false; // 推翻之前的结论
					break; // break默认中断的是离它最近的循环
				}
			}
			if (flag) { // 最后布尔中保存的就是最后结果, 如果为真,表明没有找到反倒, 如果为假,表明找到反例 
				System.out.println(j + "是质数");
				break;
			}
		}

	}
}

class LoopTest11 {
	//break语句在多重循环中标签的使用
	public static void main(String[] args) {
		// 打印2*3的矩形
		// 标签名: 循环 (标签只能在循环上加) 
		l1:for (int i = 0; i < 10; i++) {
			l2:for (int j = 0; j < 3; j++) {
				if (i == 2) {
					break l1; // 中断l1指示的循环,就是外循环
				}
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

class LoopTest12 {
	//continue的使用
	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
			if (i % 2 == 0) {
				continue; // 中断当次循环体,直接进入下一次循环的开始(迭代语句)
			} 
			System.out.println(i);
		}
		
	}
}


class Exer4 {
	// 打印20以内能被3整除的数, 必须使用continue
	public static void main(String[] args) {
		
		for (int i = 0; i < 20; i++) {
			if (i % 3 != 0) {
				continue;
			}
			System.out.println(i);
		}
	}
}

class LoopTest13 {
	//打印100以内的质数	方法3
	public static void main(String[] args) {
		l1 : for (int j = 2; j < 100; j++) {
			l2 : for (int i = 2; i < j; i++) { 
				if (j % i == 0) { 
					continue l1; // 一旦找到反例, 认为j肯定不质数,没有必须继续本次循环, 直接判断下一个值
				}
			}
			System.out.println(j + "是质数");
		}
	}
}
			

你可能感兴趣的:(【JavaEE】)