本文主要是介绍break、continue、return,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
break
程序示例:
// 产生一个位于 [1, 100] 范围内的随机数,统计产生 100 所需要的次数
public static void main(String[] args) {// System.out.println(Math.random()); // [0,1)// System.out.println(Math.random() * 100); // [0,100)// System.out.println((int) (Math.random() * 100)); // [0,99]// System.out.println((int) (Math.random() * 100) + 1); // [1,100]int count = 0;while (true) {int a = (int) (Math.random() * 100) + 1;System.out.println(a);++count;if (a == 100)break;}System.out.println(count);
}
对于位于循环内部的 break,默认情况下都是结束当前最近位置的循环,但是可以用标签修改这一默认设置,明确指定想要结束的循环。如果外部循环结束了,那么内部循环当然也就结束了。
程序示例:
public static void main(String[] args) {abc1:for (int i = 1; i <= 10; i++) {abc2:for (int j = 0; j <= 10; j++) {if (j == 2)break abc1; //结束外层 forSystem.out.println(j);}}
}
执行结果:
0
1
程序示例:
public static void main(String[] args) {int n = 0;int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;if (sum >= 20) {n = i;break;}}System.out.println("sum = " + sum);System.out.println("n = " + n); // 如果在定义 n 时不赋值初始值,则此处会报错:可能尚未初始化变量 n
}
执行结果:
sum = 21
n = 6
程序示例:
import java.util.Scanner;public class test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String name;String ps;for (int chance = 3; chance > 0; chance--) {System.out.println("输入姓名:");name = sc.next();System.out.println("输入密码:");ps = sc.next();if ("小李".equals(name) && "899".equals(ps)) {System.out.println("登录成功");break;}System.out.println("输入错误,还有 " + (chance - 1) + " 次机会.");}}
}
程序示例:
// 求平方根
// 需求:键盘录入一个大于等于 2 的整数 ×,计算并返回 x 的平方根。
// 结果只保留整数部分,小数部分将被舍去。import java.util.Scanner;public class test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入一个整数:");int number = sc.nextInt();for (int i = 1; i <= number; i++) {if (i * i == number) {System.out.println(i + "是" + number + "的平方根");break;} else if (i * i > number) {System.out.println((i - 1) + "是" + number + "的平方根的整数部分");break;}}}
}
程序示例:
// 需求:键盘录入一个正整数 x,判断该整数是否为一个质数。import java.util.Scanner;public class test {public static void main(String[] args) {System.out.print("请输入一个正整数:");Scanner sc = new Scanner(System.in);int number = sc.nextInt();boolean flag = true;for (int i = 2; i * i <= number; i++) {if (number % i == 0) {flag = false;break;}}if (flag) {System.out.println(number + "是质数。");} else System.out.println(number + "不是质数。");}
}
程序示例:
// 需求:程序自动生成一个 [1, 100] 之间的随机数字,使用程序实现猜出这个数字是多少?import java.util.Scanner;public class test {public static void main(String[] args) {int random_number = (int) (Math.random() * 100 + 1);System.out.print("请猜这个数是多少:");Scanner sc = new Scanner(System.in);int number = sc.nextInt();while (number != random_number) {if (number < random_number) {System.out.print("猜小了,再来:");number = sc.nextInt();} else {System.out.print("猜大了,再来:");number = sc.nextInt();}}System.out.println("猜对了");}
}
执行结果:
请猜这个数是多少:50
猜小了,再来:75
猜小了,再来:85
猜小了,再来:90
猜小了,再来:95
猜小了,再来:97
猜大了,再来:96
猜对了
另一种写法:
// 需求:程序自动生成一个 [1, 100] 之间的随机数字,使用程序实现猜出这个数字是多少?import java.util.Random;
import java.util.Scanner;import java.util.Random;
import java.util.Scanner;public class test {public static void main(String[] args) {// 利用 Random 类获取随机数Random r = new Random();// 左闭右开区间int random_number = r.nextInt(100) + 1;// 生成任意范围内的值的方法:// 1. 左右区间都减去左区间// 2. 右区间加 1// 3. 这个右区间的值,就是 nextInt() 里面要输进去的值// 4. 将 nextInt() 外面加原来的左区间// 比如,要生成 [7, 15]// 先减去左区间,得到 [0, 8]// 右区间加 1,得到 [0, 9]// 最终的写法为 r.nextInt(9) + 7Scanner sc = new Scanner(System.in);while (true) {System.out.print("猜这个数字是多少:");int guessNum = sc.nextInt();if (guessNum > random_number)System.out.println("猜大了,再来。");else if (guessNum < random_number)System.out.println("猜小了,再来。");else {System.out.println("猜中了");break;}}}
}
对于 for 循环,break 结束后,直接执行 for 循环后面的语句,不会执行 for 循环头中的表达式 3。对于 while 循环,break 结束后,执行 while 循环后面的语句。
continue
程序示例:
public class Continue {public static void main(String[] args) {abc1:for (int i = 0; i < 2; i++) {abc2:for (int j = 0; j < 5; j++) {if (j == 2)// continue; //等价于continue abc2;continue abc1; // 结束外层 for 循环System.out.println(j);}}}
}
执行结果:
0
1
0
1
对于 for 循环,continue 结束后,执行 for 循环头中的表达式 3,再执行判断条件,判断是否继续循环。对于 while 循环,continue 结束后,执行 while 循环头的判断表达式。
return
return 多使用在方法中,表示跳出所在的方法。
如果 return 写在 main 中,表示退出程序。
程序示例:
public class Return {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {if (i == 3) {System.out.println(i);return;}System.out.println("ok" + i);}System.out.println("hello");}
}
执行结果:
ok0
ok1
ok2
3
这篇关于break、continue、return的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!