Java笔记02-自定义方法

Java笔记02-自定义方法

1.方法的概念

  • 方法指的是一段可以反复调用的代码块。

  • 有些独特的功能需要我们自己定义,我们把这些功能写到一个代码块中,变成一个方法,以便于之后使用方法名直接调用,不用再重写此功能的所有代码。

    • 语法结构:

      修饰符 方法返回值类型 方法名(参数类型 参数名,....){
               
          执行的代码块;
      }
      

      例如:

      public static void main(String[] args){
               
          // 需要执行的代码块
      }
      
    • 使用举例

      	public static void main(String[] args) {
               
      		// 调用方法
      //		maxnum(1, 2, 3);
          	maxnum(56, 3, 3);
      	}
      
      //	自定义方法求三个整数中的最大值
      	public static void maxnum(int x, int y, int z) {
               
      		// 先比较其中的两个值
      		if (x > y) {
               
      			// 若x>y,则比较x与z,其中较大的为三数最大值
      			if (x > z) {
               
      				System.out.println("最大值为:" + x);
      			} else {
               
      				System.out.println("最大值为:" + z);
      			}
      		} else {
               
      			// 若x
      			if (y > z) {
               
      				System.out.println("最大值为:" + y);
      			} else {
               
      				System.out.println("最大值为:" + z);
      			}
      		}
      	}
      

2.方法的参数

  • 方法的参数可以有无限个,需要根据情况来定。

  • 注意点:

    • 同一个类中方法名不允许一样,如果想要一样就需要符合方法重载的规则。
    • 在调用方法传值时,参数的类型和位置要和方法中定义的参数类型和位置一样。
  • 方法的参数分为形参和实参。

    • 形参:形式参数,指的就是方法中定义的参数,没有实际意义,作用就是告诉使用者想要使用该功能需要给定参数的类型及数量。

    • 实参:实际参数,指的就是调用方法时,使用者传递给方法的实际的数据值,实参必须符合形参定义的类型、位置及数量。

    • 参数类型可以转换,小类型转大类型可以,但是大类型转小类型就需要强制类型转换,否则编译失败。

3.方法的返回值

  • 返回值关键词:return(返回) void(无返回值类型)

  • 需要返回值的原因:当需要对方法中的结果进行二次处理的时候就需要返回值。

  • return作用:1、返回结果。2、结束方法(函数)。

    • 当只写return,不写返回结果时,作用就是结束当前方法,之后的代码不再运行,且方法定义的返回值类型应该写void。
  • 返回值类型应在定义方法时定义好,若定义有返回值类型,则必须有符合定义类型的返回值,否则编译会报错。

    public static void main(String[] args) {
           
        //调用方法并输出
        //输出时可定义一个变量接收返回值
        String result= grade(1);
        System.out.println(result); 
        //也可直接写到输出函数中       
        System.out.println(grade(1)); 
    }
    
    /**
    	 * 需求:输入数字,得出受教育程度  学历  
    	 * @param x
    	 * 类型:int
    	 * @return
    	 * 类型:String
    	 */
    public static String grade(int x) {
           
        switch(x) {
           
            case 1:
                return "小学";
            case 2:
                return "初中";
            case 3:
                return "高中";
            case 4:
                return "高中";
            case 5:
                return "大学";
            case 6:
                return "硕士";
            case 7:
                return "博士";
            case 8:
                return "教授";
            default:
                return "无";
        }
    }
    

4.方法的重载

  • 定义:同一个类中,方法名相同,参数列表不同(参数数量不同,参数位置不同,参数类型不同),且与返回值类型无关。

  • 重载的方法可能有相同的功能特性,但是实现方法可能不同。

    public static void main(String[] args) {
           
    //   方法的重载
    //		同一个类中,方法名相同,参数列表不同(参数数量不同,参数位置不同,参数类型不同),且与返回值类型无关。
        intro();
        intro("bob",23);
        intro(23,"bob");
        intro("bob",23,180);
        intro("bob",23,180L);
    }
    
    /**
     * 测试方法重载
     */
    public static void intro() {
           
        System.out.println("请输入信息。");
    }
    public static void intro(String name,int age) {
           
        System.out.println("姓名:"+name+" 年龄:"+age);			
    }
    public static void intro(int age,String name) {
           
        System.out.println("姓名:"+name+" 年龄:"+age);
    }
    public static void intro(String name,int age,int height) {
           
        System.out.println("姓名:"+name+" 年龄:"+age+" 身高:"+height);
    }
    public static void intro(String name,int age,long height) {
           
        System.out.println("姓名:"+name+" 年龄:"+age+" 身高:"+height);
    }
    

    输出:

    请输入信息。
    姓名:bob 年龄:23
    姓名:bob 年龄:23
    姓名:bob 年龄:23 身高:180
    姓名:bob 年龄:23 身高:180
    

你可能感兴趣的:(java学习笔记,java)