一、方法的定义与调用
修饰符:现阶段的固定写法–>public static
返回值类型:方法最终产生的数据结果是什么类型
参数类型:进入方法的数据是什么类型
参数名:进入方法的数据对应的变量名(参数如果有多个,使用逗号就行分隔)
返回值:return后面的返回值的类型必须与前面的“返回值类型”对应
方法的三种调用格式:
- 单独调用:方法名称(参数); ----> 方法产生的结果没有使用,没有赋值,没有打印输出
- 打印调用:System.out.println(方法名称(参数)); ----> 直接打印输出,没有赋值
- 赋值调用:数据类型 变量名称 = 方法名称(参数); System.out.println(变量名称); ----> 先赋值再打印输出
注意:
- 方法必须定义在类中,方法的定义不能嵌套。
- 对于有返回值的方法,可以使用三种调用格式;
- 如果方法返回值类型是void(无返回值),只能就行单独调用,不能进行打印调用和赋值调用。
二、方法的重载(Overload)
- 方法重载(Overload):多个方法的名称一样,但是参数列表不一样。
- 好处:只需要记住唯一的一个方法名称,就可以实现类似的多个功能。
三、方法重载练习
/*
题目要求:
比较两个数据是否相等。
参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型,
并在main方法中进行测试。
*/
public class HelloJava {
public static void main(String[] args) {
byte a = 20;
byte b = 20;
System.out.println(isSame(a, b)); // 两个byte参数的方法执行!
System.out.println(isSame((short)20, (short)10)); // 两个short参数的方法执行!
System.out.println(isSame(20, 10)); // 两个int参数的方法执行!
System.out.println(isSame(20L, 10L)); // 两个long参数的方法执行!
}
public static boolean isSame(byte a, byte b) {
System.out.println("两个byte参数的方法执行!");
boolean same;
if (a == b) same = true;
else same = false;
return same;
}
public static boolean isSame(short a, short b) {
System.out.println("两个short参数的方法执行!");
boolean same = a == b ? true : false;
return same;
}
public static boolean isSame(int a, int b) {
System.out.println("两个int参数的方法执行!");
return a == b;
}
public static boolean isSame(long a, long b) {
System.out.println("两个long参数的方法执行!");
return a == b;
}
}
// 基本数据类型:byte short int long float double char boolean
// 引用数据类型:String
// 在调用输出语句的时候,println方法其实就是进行了多种数据类型的重载形式。
public class HelloJava {
public static void main(String[] args) {
myPrint(100); // int
myPrint("Hello"); // String
}
public static void myPrint(byte num) {
System.out.println(num);
}
public static void myPrint(short num) {
System.out.println(num);
}
public static void myPrint(int num) {
System.out.println(num);
}
public static void myPrint(long num) {
System.out.println(num);
}
public static void myPrint(float num) {
System.out.println(num);
}
public static void myPrint(double num) {
System.out.println(num);
}
public static void myPrint(char zifu) {
System.out.println(zifu);
}
public static void myPrint(boolean is) {
System.out.println(is);
}
public static void myPrint(String str) {
System.out.println(str);
}
}