方法的基本格式
无参数
1 2 3 4 5 6 7 8 9 10 11
| public class DemonWithParamter{ public static void main(String[] args){ } public static void method01(){ System.out.println("这是无参数输入的方法") } }
|
有参数
1 2 3 4 5 6 7 8 9 10 11 12
| public class DemonWithoutParamter{ public static void main(String[] args){ } public static int method02(int a, int b){ System.out.println("这是有参数输入的方法") return a + b; } }
|
有无return
对于void, return可写可不写,但是在void条件下,return后不可以跟任何输出值;
定义了输出类型的方法,需要进行return输出
注意事项
- 方法应该定义在类当中,但是不可以在方法中再定义方法。不能嵌套
- 方法定义的前后顺序无所谓
- 方法定义之后,如果希望执行,一定要调用:单独调用,打印调用,赋值调用
- 如果方法有返回值,那么必须写 “return 返回值”,不能没有
- return后面的返回值类型,必须和方法的返回值类型,对应起来
- 对于void没有返回值的方法,不能写return后面的返回值,只能写return。
- 对于void方法的最后一行return也可以不写
- 一个方法当中有多个return语句,但是必须保证只有一个被执行到
三种调用格式
- 单独调用
- 打印调用,System.out.println(方法名称(参数))
- 赋值调用:数据类型 变量名称 = 方法名称(参数)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| public class Demon02MethodDefine { public static void main(String[] args){ sum(5,6); System.out.println("======================");
System.out.println(sum(10,20));
int input = sum(5,6);
System.out.println("======================");
method();
}
public static int sum(int a, int b){ int result = a + b; return result; }
public static void method(){ for (int i = 0; i < 10; i++) { System.out.println("Hello World"+i); } } }
|
方法重载
方法重载与下列因素有关
- 参数个数不同
- 参数类型不同
- 参数的多类型顺序不同
方法重载与下列因素无关
- 与参数的名称无关
- 与返回值的类型无关
其实常用的println()
就是一个典型的方法重载,在IDEA中可以按住ctrl
点击该命令,可以看到该命令的定义格式。
打字练习中…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| public class Demon07MethodOverload { public static void main(String[] args){ System.out.println(sum(10, 20)); System.out.println(sum(10, 20, 30)); System.out.println(sum(10, 20, 30, 40));
}
public static int sum(int a, int b){ System.out.println("有两个参数即可"); return a + b; }
public static int sum(int a, int b, int c){ System.out.println("有三个参数即可"); return a + b + c; }
public static int sum(int a, int b, int c, int d){ System.out.println("有三个参数即可"); return a + b + c + d; }
public static int sum(int a, double b){ return (int) (a + b); }
public static int sum(double a, int b){ return (int) (a + b); }
public static int sum(double a, double b){ return (int) (a + b); }
}
|
一些练习
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public class Demon04Sum { public static void main(String[] args){ System.out.println(sum(1,100));
}
public static int sum(int a, int b){ int count = 0; for (int i = a; i < b+1; i++) { count +=i; } return count; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public class Demon05MethodPrint { public static void main(String[] args){ print(2); }
public static void print(int num){ for (int i = 0; i < num; i++) { System.out.println("HelloWorld"+(i+1)); }
} }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
public class Demon08MethodOverloadSame { public static void main(String[] args){ byte a = 10; byte b = 20; System.out.println(isSame(a , b));
System.out.println(isSame((short) a, (short) b));
System.out.println(isSame(15,20));
System.out.println(isSame(20L,20L));
}
public static boolean isSame(byte a, byte b){ System.out.println("两个byte参数的方法执行!"); return a == b; }
public static boolean isSame(short a, short b){ System.out.println("两个short参数的方法执行!"); return a == b; }
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; }
}
|