上节课总结
上节课的链接
上节课最后的答案是:D
方法
方法重载 Method Reload
我们先来看看下列的代码
public class Test{
public static void whoIsBig(int numberA,int numberB){
if (numberA < numberB){
System.out.println(numberA + "<" + numberB);
}
else if(numberA > numberB)
{
System.out.println(numberA + ">" + numberB);
}
else
{
System.out.println(numberA + "=" + numberB);
}
}
public static void main(String[] args){
whoIsBig(1,4);
}
}
我们定义了一个whoIsBig方法,他可以判断传入的两个参数谁大谁小,但是这两个参数必须是int类型的,这也许是不大好的,因为有些时候我想对比double与double的大小,这个时候,我们可以使用方法的重载机制对传入的参数类型不同进行代码的重载
public class game{
public static void whoIsBig(int numberA,int numberB){
System.out.print("整型:");
if (numberA < numberB){
System.out.println(numberA + "<" + numberB);
}
else if(numberA > numberB)
{
System.out.println(numberA + ">" + numberB);
}
else
{
System.out.println(numberA + "=" + numberB);
}
}
public static void whoIsBig(double numberA,double numberB){
System.out.print("双浮点:");
if (numberA < numberB){
System.out.println(numberA + "<" + numberB);
}
else if(numberA > numberB)
{
System.out.println(numberA + ">" + numberB);
}
else
{
System.out.println(numberA + "=" + numberB);
}
}
public static void main(String[] args){
whoIsBig(1.45,1.4);
whoIsBig(2,5);
}
}
看代码我们定义了两个whoIsBig, 粗看感觉都是一样的,细看,参数的数据类型不同,当向方法传入double类型的就执行参数要求传递double的 参数是int 就执行参数要求传递int的方法。
记着,方法重载一般只能用于功能一致的只是参数类型不相同的方法,如果两个方法的功能不一致,你还是重新给方法取个名字罢。
方法的返回值
那个在定义方法经常出现的关键字 void 究竟是什么玩意?
其实这是一种返回值,它代表着这个方法没有返回值。
我们用过一个方法:Scanner的nextLine();他会接受用户输入的值,然后返回出来。
public class Test{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
String name = s.nextLine(); // 我们要接收返回值了
}
}
所以,方法不仅可以帮我们完成特定的动作,还可以实现返回数据的功能。
如何返回?如果你想返回最大的数字的话,你可以将void替换成 int 或者 long, 原来定义方法用到的 void 其实是返回值类型的说明,如果没有返回值那么返回值类型就是喜闻乐见的 void
在方法内部中,使用***return***返回变量,返回之后,方法强制结束,即使return后面有再多的代码都不会被执行
比如说我现在要返回变量Value_Equi,那么就使用以下的代码
return Value_Equi
现在让我们写一个方法,他要求传入两个int 的 参数,比较这两个参数谁大谁小,返回最大的 int,如果一样大,返回 0
public class game {
static int returnBig(int numberA,int numberB){
if (numberA > numberB){
return numberA;
}
if (numberA < numberB){
return numberB;
}
return 0;
}
public static void main(String[] args) {
System.out.print(returnBig(1,5));
}
}