方法
-
方法是功能块,一个方法只完成一个功能,便于我们后期拓展
-
在方法前加 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; } }
-