您的位置:首页 > 编程语言 > Java开发

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

2016-07-24 21:17 821 查看
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 + "是质数");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: