方法:
注意事项:
1:方法的返回值类型不是void的时候,必须写return返回值;
2:同时,方法的返回值可以有多个,但是只能有一个执行到,记住,必须执行和只能执行一个;
举个例子,接下来是if-else语句,二者选其一,正确写法:
public class Test01 {
public static void main(String[] args) {
method(1, 2);
}
public static boolean method(int a, int b) {
if (a == b) { //if-else语句,二者选其一
return true;
} else { //一定能执行到其中的某一个
return false;
}
}
}
接下来是if-else if语句,以else if结尾,错误写法:
public class Test01 {
public static void main(String[] args) {
method(1, 2);
}
public static boolean method(int a, int b) {
if (a == b) {
return true;
} else if (a != b) {
return false;
}
//报错,"Missing return statemen"缺少返回语句
}
}
解析:
虽然代码当中把可能性都涵盖了,但是程序判断并不一定执行到某一可能;
同时,有返回值的必须返回一个该类型的值,所以程序会提示缺少返回语句。
报错信息:"Missing return statemen"
解决方案一:补上假如执行不到的备选可能
public static boolean method(int a, int b) {
if (a == b) {
return true;
} else if (a != b) {
return false;
}
//报错,"Missing return statemen"缺少返回语句
//方案一
return a == b;
}
解决方案二:以else结尾,多者选其一
public static boolean method(int a, int b) {
if (a == b) {
return true;
} else if (a != b) {
return false;
} else { //方案二
return false;
}
}
========================================================================================================================================================
习题 :
第一题:结果是?
public class Demo07BreakContinue {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
if (i == 3) {
return; //return用于终止方法
// System.out.println("aa"); //return下面不能写代码了
}
System.out.println("hello" + i);
}
testReturn();
}
public static void testReturn() {
for (int i = 1; i <= 20; i++) {
if (i == 3) {
return;
}
System.out.println("world" + i);
}
System.out.println("testReturn 执行完了");
}
}
结果:
hello1
hello2
解析:
return用于终止方法,在main方法中执行了return,结束了整个main方法,下面的就不执行了。
============================================================================
第二题:
public class Demo07BreakContinue {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
if (i == 3) {
break; //区别,break用于终止循环
//System.out.println("aa"); //break下面不能写代码了
}
System.out.println("hello" + i);
}
testReturn();
}
public static void testReturn() {
for (int i = 1; i <= 20; i++) {
if (i == 3) {
return;
}
System.out.println("world" + i);
}
System.out.println("testReturn 执行完了");
}
}
结果:
hello1
hello2
world1
world2
解析:
break用于终止循环,循环中执行了return,循环终止;但是main方法没有终止继续执行。
============================================================================
方法重载
第三题:
与方法public static int sum(int a,int b){}形成重载的有?
A、public static void sum (int a){}
B、public static int sum(double a,int b){}
C、public static void open(int i,int j){}
D、public static void sum(){}
A,参数列表不同,正确
B,参数列表不同,正确
C,方法名称不同,不是重载,错误
D,参数列表不同,正确
选ABD
============================================================================
第四题
下列关于方法定义说法错误的( )
A、定义在类中方法外面
B、返回值类型,必须要和return 语句返回的类型相同,否则编译失败 。
C、必须是public类型的
D、不能在return 后面写代码, return 意味着方法结束,所有后面的代码永远不会执行,属于无效代码。
A正确,定义在类中方法外面
B正确,方法的返回值类型必须和return语句返回的类型相同,否则报错。
C错误,方法权限修饰符可以是public/protected/(default)/private。
D正确,return代码方法结束,往return后面写代码编译根本不通过。
本文详细讲解了Java方法中return的使用规范,强调了必须为非void方法提供返回值,以及return语句的执行唯一性。同时,通过习题解析展示了return如何终止方法执行。此外,探讨了方法重载的概念,提供了多个选择题来帮助理解哪些方法构成重载。
3704

被折叠的 条评论
为什么被折叠?



