方法

方法

  • 方法是功能块,一个方法只完成一个功能,便于我们后期拓展

  • 在方法前加 static 变成类变量,这样才能在main方法中调用它

  • 方法构成要素修饰符(public,static等,修饰符不分先后) 返回值类型 方法名(驼峰命名)参数

  • 当通过scanner输入值,赋值给变量,然后再将变量的值传给方法的时候,变量不能在if中定义,作用域太小,无法在if外边使用

  • 方法的重载

    • 名称必须相同

    • 参数列表必须不同(个数,类型,参数排列顺序)

    • 方法的返回值类型可以相同,也可以不同

    • 返回类型不同不能作为方法重载的标志

    • 示例代码

      package com.li.method;
      
      import java.util.Scanner;
      
      public class method {
         public static void main(String[] args) {
            int a = 0;
            int b = 0;
            Scanner scanner = new Scanner(System.in);
            if(scanner.hasNextInt()) {
               a = scanner.nextInt();
               b = scanner.nextInt();
            }
            int max = max(a,b);
            System.out.println(max);
         }
         public static int max(int a,int b){
            int result;
            if(a==b)
               System.out.println("num1==num2");
            if(a<b)
               result = b;
            else {
               result = a;
            }
            return result;
         }
      //方法的重载
         public static double max(double a,double b){
            double result;
            if(a==b)
               System.out.println("num1==num2");
            if(a<b)
               result = b;
            else {
               result = a;
            }
            return result;
         }
      }
      
  • 可变参数

    • 可以穿不同个数的参数给方法,但这些参数具有相同的地位,并且一个方法中只能定义一个可变参数,它必须是方法的最后一个参数

    • 在使用的时候,方法中的可变参数书写格式为,参数类型加…加一个空格,加这些参数共同的名字(类似数组名)

    • 代码样例

      package com.li.method;
      
      public class variableElement {
         public static void main(String[] args) {
            printMax(new double[]{1,2,3,4,5,6});
            printMax(1,2,3,4,5,22,4,9);
         }
         public static void printMax(double... numbers){
            if(numbers.length == 0) {
               System.out.println("No element passed!");
               return;
            }
            double result = numbers[0];
            for (int i = 1; i < numbers.length; i++) {
               if (numbers[i] > result){
                  result = numbers[i];
               }
            }
            System.out.println("The max value is "+result);
            return;
         }
      }
      
上一篇:Leetcode双指针系列


下一篇:数组中两数之和