方法重载
-
重载实在一个类中,有相同函数的名称,但形参不同的函数
-
方法名称必须相同
-
参数列表必须不同(个数不同,或类型不同,参数列表顺序不同)
可变参数
-
在方法声明中,在指定参数类型后加一个省略号(...)
-
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在他的声明之前
public class Demo04 { public static void main(String[] args) { Demo04 demo04=new Demo04(); demo04.test(1,2,5,6,34); } public void test(int ...i){ System.out.println(i[0]); System.out.println(i[1]); System.out.println(i[2]); System.out.println(i[3]); System.out.println(i[4]); }
递归
public class Demo06 { public static void main(String[] args) { System.out.println(f(10)); } //1!=1 //2!=2*1 //3!= public static int f(int n){ if(n==1){ return 1; }else { return n*f(n-1); } } }
计算器 public class HomeWork01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入要操作的数字,结束时输入quit回车"); System.out.println("输入计算类型(+,-,*,/)"); System.out.println("每输完数字或者符号都要按回车键"); String str = ""; Double a = 0.0; Double b = 0.0; Double result = 0.0; while (scanner.hasNextDouble()){ a = scanner.nextDouble(); break; } while (scanner.hasNextLine()){ str = scanner.next(); switch (str){ case "+": b = scanner.nextDouble(); result = add(a,b); a = result; System.out.println(result); break; case "-": b = scanner.nextDouble(); result = reduce(a,b); a = result; System.out.println(result); break; case "*": b = scanner.nextDouble(); result = ride(a,b); a = result; System.out.println(result); break; case "/": b = scanner.nextDouble(); result = except(a,b); a = result; System.out.println(result); break; } if (str.equals("quit")){ System.out.println("退出计算机"); break; } } scanner.close(); } //加法 public static Double add(Double d1,Double d2){ return d1 + d2; } //减法 public static Double reduce(Double d1,Double d2){ return d1 - d2; } //乘法 public static Double ride(Double d1,Double d2){ return d1 * d2; } //除法 public static Double except(Double d1,Double d2){ return d1 / d2; } } 欢迎指正和评论