break 和 return 的区别:
break:结束循环或者跳出switch;
return:结束(退出)一个方法,并且可以带回一个返回值。
return在结束一个方法的时候也可以用来结束一个循环。
在下面这个查询案例中,
查询方法一:使用break结束了循环,但是并没有结束整个方法;
查询方法二:使用return在跳出循环的同时,结束了方法,并且带回了返回值。
import java.util.Scanner;
class Search{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(true){
// 提示并录入要查询的数据
System.out.print("请输入要查询的数据:");
int searchValue = sc.nextInt();
// 定义数组
int[] arr = {10,55,30,24,17};
// 调用查询方法
int index = getIndex(arr, searchValue);
int index1 = getIndex1(arr, searchValue);
System.out.println("---------------------------");
System.out.println("***使用break***");
if(index < 0){
System.out.println("查无此数!请重新输入!");
}else{
System.out.println(searchValue + "的索引是:" + index);
}
System.out.println("---------------------------");
System.out.println("***使用return***");
if(index1 < 0){
System.out.println("查无此数!请重新输入!");
}else{
System.out.println(searchValue + "的索引是:" + index);
}
System.out.println("---------------------------");
}
}
// 查询方法一
public static int getIndex(int[] arr, int value){
int index = -1;
for(int i = 0, len = arr.length; i < len; i++){
if(arr[i] == value){
index = i;
break; // 查到了,就不用再查了,跳出循环
}
}
return index; // 带回返回值
}
// 查询方法二
public static int getIndex1(int[] arr, int value){
for(int i = 0, len = arr.length; i < len; i++){
if(arr[i] == value){
return i; // return 查到了,跳出循环,结束方法,带回返回值
}
}
return -1; // 没有查到,带回返回值
}
}
如果你看到了这里,请小伙伴给个一键三连,你的肯定是对我最大的鼓励-