java中break continue return的区别
最近正好在看Java基础,遇到这个有点绕,就总结哈。第一次写,写得不好的欢迎来和我一起讨论。
break
作用:跳出当前(最近的循环)循环的作用
例子:
//单层循环
public class Test{
public static void main(String [] args){
//输出1-10;当输出5时退出循环
for(int i=1;i<=10;i++){
System.out.println(i+" ");
if(i==5){
break;
}
}
}
}
//输出结果为:1 2 3 4 5
//多层循环
public class Test{
public static void main(String [] args){
//输出1-10;当输出5时退出循环
for(int i=1;i<=10;i++){
System.out.print(i+" ");
while(i==5){
break;
}
}
}
}
//输出结果为:1 2 3 4 5 6 7 8 9 10
原因:break只跳出当前(while)循环,并不影响for循环。
continue
作用:跳出(结束)本次循环,继续进行下一次循环。
例子:
public class Test1{
public static void main(String [] args){
//输出1到20,能被5整除的数。
System.out.print("能被5整除的数有");
for(int i =1;i<=20;i++){
if(i%5!=0){
continue;
}
System.out.print("\t"+i+);
// \t转义字符。 表示空格的意思
}
}
输出结果为:能被5整除的数有 5 10 15 20
return
作用:
1.return 退出当前的方法,方法后面的语句都不在执行,返回到该调用的方法的语句处,继续执行。
//单层循环
public class Test{
public static void main(String [] args){
//输出1-10;当输出5时退出循环
for(int i=1;i<=10;i++){
System.out.println(i+" ");
if(i==5){
return;
}
}
System.out.println("!!!!666");
}
}
//输出结果为:1 2 3 4 5 !!!!666 不会继续输出。
2.java中对于一个函数,不论有没有返回值类型,都可以带有return 语句。
但是区别在于,return 语句是否可以返回一个值(这取决与该函数的返回值类型)。
2.1 如果函数有返回值类型(即返回值类型不为void ),则必须带有返回相应类型值的return 语句。
// 有返回值
public String getName()
{
return "小亮"; //返回String 类型的变量name的值
}
2.2 如果函数没有返回值(即返回值类型为void ),则函数中return 语句(如果存在return语句!)的后面不能加任何的变量。(该情况下的函数中也可以没有return 语句,但是如果有的话,return 只能作为返回操作系统的作用使用。)
// 无返回值 函数不带return 语句
public void putName()
{
System.out.println("小亮");
}
// 无返回值 函数带return 语句
public void hhh(int i) {
if (i > 0)
return; //return语句后不带返回值,作用是退出该程序的运行
else
System.out.println("i<=0");
}