1.break
在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,
不执行循环中剩余的语句。(break语句还可用于多支语句switch中)
语法:
while(表达式){
语句块;
if(表达式){
break;
}
}
---------------------------------
do{
语句块;
if(表达式){
break;
}
}while(表达式)
----------------------------------
for(表达式1;表达式2;表达式3){
if(表达式){
break;
}
}
----------------------------------
switch(表达式){
case 式子1:
break;
case 式子2:
break;
......
case 式子n:
break;
default:
break;
}
示例:生成 0-100 随机数,直到生成 88 为止,停止循环!
int total = 0;
System.out.println(“Begin”);
while(true) {
total++;
int i = (int)Math.round(100 * Math.random());
if(i == 88) break;
}
System.out.println("Game over, used " + total + " times.");
2. continue
continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,
接着进行下一次是否执行循环的判定。
语法:
while(表达式){
语句块;
if(表达式){
continue;
}
}
---------------------------------
do{
语句块;
if(表达式){
continue;
}
}while(表达式)
----------------------------------
for(表达式1;表达式2;表达式3){
if(表达式){
continue;
}
}
示例: 把 100~150 之间不能被3 3 整除的数输出:
for (int i = 100; i < 150; i++) {
if (i % 3 == 0)
continue;
System.out.println(i);
}
3.return
return语句从当前方法退出,返回到调用该方法的语句处,并从该语句的下条语句处继续执行程序。
• 返回语句的两种格式(具体到方法时详细讲解)
• 1、return expression
• 返回一个值给调用该方法的语句。
• 返回值的数据类型必须和方法声明中的返回值类型一致或是精度低于声明的数据类型。
• 2、return
• 当方法声明中用void声明返回类型为空时,应使用这种返回类型,它不返回任何值。
语法:
public 数据类型 方法名(参数1,参数2...参数n){
if(表达式){
return 跟上面数据类型一样的值或地址;
}
return 跟上面数据类型一样的值或地址;
}
示例:判断2个int类型的数的最大值
public int Max(int x,int y){
if(x>y){
return x;
}
return y;
}
4. 多重循环中使用break
• 示例
• 有5家衣服专卖店,每家最多购买3件。用户可以选择离开,可以买衣服。最后打印总共买
了几件衣服
• 思路
• 外层循环控制去每个专卖店
• 内层循环控制买衣服过程
• 使用break退出内层循环
• 可以使用break直接退出外层循环
• 使用goto
• 使用符号量
5. 带标签的break和continue
goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得
到正式使用;Java没有goto。然而,在break和continue这两个关键字的身上,我们仍然能看出一
些goto的影子—带标签的break和continue。
示例://打印101-150之间所有的质数
public class PrimeNumber {
public static void main(String args []) {
int count = 0;
outer: for ( int i = 101; i < 150; i ++) {
for ( int j = 2; j < i / 2; j++) {
if (i % j == 0)
continue outer;
}
System.out.print( (i + " ");
}
}
}