diff --git "a/14 \346\235\216\344\277\212\345\205\264/20221219 \346\226\271\346\263\225\345\244\215\344\271\240.md" "b/14 \346\235\216\344\277\212\345\205\264/20221219 \346\226\271\346\263\225\345\244\215\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..a8816ec9b403b19e77e134fccac3b042892f70dc --- /dev/null +++ "b/14 \346\235\216\344\277\212\345\205\264/20221219 \346\226\271\346\263\225\345\244\215\344\271\240.md" @@ -0,0 +1,192 @@ +## 笔记 + +### 方法重载 + +方法重载概念 + +方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载 + +1.多个方法在同一个类中 + +2.多个方法具有相同的方法名 + +3.多个方法的参数不相同,类型不同或者数量不同 + +###### 注意: + +重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式 + +#### 方法传递 + +- 基本数据类型的参数,形式参数的改变,不影响实际参数。(每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失) + +- 引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以 + +即使方法弹栈,堆内存中的数据也已经是改变后的结果(对于引用类型的参数,形式参数的改变,影响实际参数的值) + +## 作业 + +编写函数,计算圆的面积和周长,在主函数中接受圆的半径,在自定义函数中计算并输出 + +```java +import java.util.Scanner; + +public class D4 { + public static void main(String[] args) { + // 编写函数,计算圆的面积和周长,在主函数中接受圆的半径,在自定义函数中计算并输出 + Scanner sc = new Scanner(System.in); + System.out.println("请输入半径值"); + double f = sc.nextDouble(); + sdd(f); + } + public static void sdd(double r){ + double l=2*3.14*r; + double s=3.14*r*r; + System.out.println("该半径为"+r+"的圆的周长为"+l+"面积为"+s); + return; + } +} + +``` + + 在主函数中产生20个0-10之间的随机数,将这20个随机数存入数组,并通过函数计算某个数在这些随机数中出现的次数(这“某个数”是在主函数中由用户输入的) + +```java +import java.util.Random; +import java.util.Scanner; + +public class D5 { + public static void main(String[] args) { + //在主函数中产生20个0-10之间的随机数,将这20个随机数存入数组,并通过函数计算某个数在这些随机数中出现的次数(这“某个数”是在主函数中由用户输入的) + System.out.println("请输入一个0-10的整数"); + Scanner sc =new Scanner(System.in); + int n = sc.nextInt(); + if(n>10|n<0) { + System.out.println("无效数字"); + } + else { + fdd(n); + } + + } + public static void fdd(int n){ + int d=0; + Random ran =new Random(); + int[] num = new int[20]; + for (int i=0;i< num.length;i++){ + num[i] = ran.nextInt(11); + if (n==num[i]){ + d++; + } + } + System.out.println("您输入的数字"+n+"在这次随机在 0-10 抽取20个数中一共重复"+d+"次");} +} +``` + + 在主函数中接收10个数存入数组,在自定义函数中,将该数组中的最大值与第一个元素交换,最小值与最后一个元素交换,然后在主函数中输出交换后的数组 + +```java + +import java.util.Arrays; +import java.util.Scanner; + +public class D6{ + // 在主函数中接收10个数存入数组,在自定义函数中,将该数组中的最大值与第一个元素交换,最小值与最后一个元素交换,然后在主函数中输出交换后的数组 + public static void main(String[] args) { + Jh(); + } + public static void Jh() { + System.out.println("请输入十个整数"); + Scanner sc = new Scanner(System.in); + int[] Main = new int[10]; + //用户输入数组循环 + for (int i = 0; i < Main.length; i++) { + int a = sc.nextInt(); + Main[i] = a; + } + int max = Main[0]; + int min = Main[0]; + int remax =Main[0];//记入开头便于交换 + int remin =Main[9];//记入结尾便于交换 + for (int am = 0; am < Main.length; am++) { + if (max < Main[am]) { + max = Main[am]; + } + } + for (int in = 0; in < Main.length; in++) { + if (min > Main[in]) { + min = Main[in]; + } + } + int cmax=0; + //获取最大值的所在位置 + max:for (int i=0;i< Main.length;i++) { + if (max == Main[i]) { + cmax += i; + break max; + } + } + int cmin=0; + //获取最小值的所在位置 + min:for (int j=0;j< Main.length;j++) { + if (min == Main[j]) { + cmin += j; + break min; + } + } + Main[0]=max;Main[cmax]=remax;//最大值交换 + Main[9]=min;Main[cmin]=remin; + System.out.println(Arrays.toString(Main)); + } +} +``` + + 用自定义函数是实现求某数组元素的和(大小不固定) + +```java + import java.util.Scanner; + public class D7 { + //用自定义函数是实现求某数组元素的和(大小不固定) + public static void main(String[] args) { + sum(); + } + public static void sum(){ + Scanner sc = new Scanner(System.in); + int[] a=new int[5]; + int sum=0; + for (int i = 0; i< a.length;i++){ + a[i]= sc.nextInt(); + sum+=a[i]; + } + System.out.println("该数组数据和为"+sum); + } + } +``` + +用户输入整数n,计算1!+(1!+2!)+(1!+2!+3!)+…..+(1!+2!+…n!) + +```java +import java.util.Scanner; + +public class D8 { + //用户输入整数n,计算1!+(1!+2!)+(1!+2!+3!)+…..+(1!+2!+…n!) + public static void main(String[] args) { + Jc(); + } + public static void Jc(){ + Scanner sc=new Scanner(System.in); + int n= sc.nextInt(); + long sum=0;long num; + for (int i=1;i<=n;i++){ + num=1; + for (int j=1;j<=i;j++){ + num=num*j; + sum+=num; + } + } + System.out.println(sum); + } +} + +``` +