前言:
作者简介:爱吃大白菜1132
人生格言:纸上得来终觉浅,绝知此事要躬行
如果文章知识点有错误的地方不吝赐教,和大家一起学习,一起进步!
如果觉得博主文章还不错的话,希望三连支持!
目录
在编程中,某段功能的代码可能频繁使用到,如果在每个位置都重新实现一遍,会:
上面这些问题很容易解决,通过方法就可以搞定。
方法的概念:
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}
例如(判断是否为闰年):
- // 修饰符 返回值类型 方法名称 参数类型
- public static boolean isLeapyear(int y){
- if((y%400==0)||(y%4==0&&y%100!=0)){
- return true;
- }else {
- return false;
- }
- }
注:
调用方法--->传递参数--->找到方法地址--->执行被调方法的方法体--->被调方法结束返回--->回到主调方法继续往下执行
如图:
例子(判断闰年方法调用):
- public static boolean isLeapyear(int y){
- if((y%400==0)||(y%4==0&&y%100!=0)){
- return true;
- }else {
- return false;
- }
- }
- public static void main(String[] args) {
- Scanner scan=new Scanner(System.in);
- int year=scan.nextInt();
- boolean b=isLeapyear(year); //调用
- if(b==true){
- System.out.println(year+"是闰年");
- }else {
- System.out.println(year+"不是闰年");
- }
- }
概念:
在自然语言中,一个词语如果有多重含义,那么就说该词语被重载了,具体代表什么含义需要结合具体的场景。 在Java中方法也是可以重载的。
例如:
- public static int add(int x, int y) {
- return x + y;
- }
- public static double add(double x, double y) {
- return x + y;
- }
- public static double add(double x, double y, double z) {
- return x + y + z;
- }
-
- public static void main(String[] args) {
- int a=add(1, 2); // 调用add(int, int)
- System.out.println(a);
- double b=add(1.5, 2.5); // 调用add(double, double)
- System.out.println(b);
- double c=add(1.5,2.5, 3.5); // 调用add(double, double, double)
- System.out.println(c);
-
- }
当满足以下条件时才构成方法重载:
在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那为什么类中就 可以定义方法名相同的方法呢?
方法签名即:经过编译器编译修改过之后方法最终的名字。具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字。
方法签名中一些特殊符号说明:
特殊符号 | 数据类型 |
V | void |
Z | boolean |
B | byte |
C | char |
S | short |
I | int |
J | long |
F | float |
D | double |
[ | 数组(以[开头,配合其他的特殊字符,表述对应数据类型的数组,几个[表述几维数组) |
L | 引用类型,以L开头,以;结尾,中间是引用类型的全类名 |