第八天的学习
-
方法的重载:方法名相同 参数的类型、顺序、数量不同。
-
可变参数:可传递多个同类型的参数给同一个方法。
一个方法中只能定义一个可变参数,它必须是方法中的最后一个参数。任何普通参数需要在可变参数之前声明。
public class Demo05 { public static void main(String[] args) { Demo05 demo05 = new Demo05(); demo05.test(10,20,30,40,50,60,70); } public void test(int ... i){ System.out.println(i[0]); System.out.println(i[2]); System.out.println(i[3]); System.out.println(i[4]); System.out.println(i[5]); System.out.println(i[6]); } }
-
递归: 递归是一种算法思想 即为调用自身方法进行运算来解决问题
递归结构包含两个部分 方法头:什么时候不调用自身方法 方法体:什么时候调用自身方法。
递归需要占用很多内存 如果进行大量运算时可能造成占用内存过多导致卡死 在大量运算时不要使用递归。
public class Demo03 { public static void main(String[] args) { System.out.println(diGui(5)); } public static int diGui(int x){ if(x==1){ return 1; }else { return x*diGui(x-1); } } }
-
作业: 写一个计算器要求实现加减乘除功能,并能循环接受新的数据,通过用户交互实现。
import java.util.Scanner; public class Demo04 { public static void main(String[] args) { int x =1; //用于控制计算器的运行。 while (x==1){ System.out.println("是否进行运算"); Scanner scanner3 = new Scanner(System.in); int d = scanner3.nextInt();//用于判断计算器是否继续运行。 if (d==0){ x=0; }else { System.out.println("请输入进行的运算 加减乘除"); Scanner scanner = new Scanner(System.in); String a = scanner.next(); System.out.println("请输入第一个数"); Scanner scanner1 = new Scanner(System.in); double b = scanner1.nextDouble(); System.out.println("请输入第二个数"); Scanner scanner2 = new Scanner(System.in); double c = scanner2.nextDouble(); x=1; switch (a){ case "+": System.out.println(add(b,c));break; case "-": System.out.println(lose(b,c));break; case "*": System.out.println(multiplication(b,c));break; case "/": System.out.println(division(b,c));break; } } } } public static double add(double a,double b){ return a+b; } public static double lose(double a,double b){ return a-b; } public static double multiplication(double a,double b){ return a*b; } public static double division(double a,double b){ return a/b; } }