今天上午说了 Java 中方法的使用,方法的定义等,晚上说下方法的调用。这里补充一个小知识点(仅针对于我哈)。之前一直以为方法的返回值类型必须要和参数类型一致,比如:
返回值类型可以和参数类型一致,也可以和参数类型不一致,比如:
返回值类型为double, 参数类型为int 对应代码为:
public static double min(double num1,int num2){
double result;
result = num1 + num2;
System.out.println(result);
return result;
} //代码可复制
还可以当方法返回值类型为String, 参数类型为int, 完全对不上的那种情况
对应代码为:
public static String strMethod(int num1,int num2){
String str = num1 + num2 + " 1";
System.out.println(str);
return str;
}//代码可以复制
接下来,说下方法的调用。Java支持两种调用方法的方式,根据方法是否返回值来选择。当程序调用一个方法时,程序的控制权交给了被调用的方法;当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。
当方法返回一个值的时候,方法调用通常被当作一个值 。例如:
String str = num1 + num2 + ” “;
int max = max(30,40);
如果方法返回值是 void , 方法调用一定是一条语句。
例如: System.out.println(“Hello,world!”);
具体看一个实例(有返回值且有参数):
运行结果如下:
对应的代码为:
package com.liepin.rim.org.day03;
public class newReturn {
public static void main(String[] args){
int i = 10;
int j = 21;
max(i,j);
}
//比较两个数的大小,取较大的值并显示出来
public static int max(int num1,int num2){
int max;
if (num1 > num2) {
max = num1;
System.out.println("最大值为: " + max);
} else {
max = num1;
System.out.println("最大值为: " + max);
}
return max;
}
}
这个类中包含main方法和max方法。main方法是被Java中的 JVM 调用的,除此之外,main方法和其他方法没有什么不同。main方法相当于一个类的入口。main方法的头部是不变的,String[] 表明参数是字符串数组。
最后说下 void关键字,我们来看一个实例:
对应的代码为:
package com.liepin.rim.org.day03;
import javax . annotation .processing.SupportedSourceVersion;
public class NoVoidReturn {
public static void noReturn(int score){
//使用if语句来判断分数区间,打印不同的内容
if (score > 90) {
System.out.println("优秀,有你,越来越强大~" + " " + score);
} else if (score > 70) {
System.out.println("良好,再接再厉,下次就是优秀了~" + " " + score);
} else if (score >= 60) {
System.out.println("及格,不要再玩游戏了,好好学习" + " " + score);
} else {
System.out.println("通知家长来吧,下次争取及格~" + " " + score);
}
//没有return语句
}
public static void main(String[] args){
noReturn(40);
noReturn(78);
noReturn(99);
}
}
这是一个查看分数在哪个区间的小需求,一个void的方法调用一定是一个语句,static方法可以直接在main方法中进行调用,如果是非static 方法,需要对类进行实例化,然后使用对象对方法进行调用。
好的,今天先到这里哈~