diff --git "a/22 \350\202\226\351\222\237\345\207\257\351\237\251/20221220 \346\226\271\346\263\225\345\206\205\345\256\271\347\232\204\350\241\245\345\205\205.md" "b/22 \350\202\226\351\222\237\345\207\257\351\237\251/20221220 \346\226\271\346\263\225\345\206\205\345\256\271\347\232\204\350\241\245\345\205\205.md" new file mode 100644 index 0000000000000000000000000000000000000000..006241201524b185fd904fcd527a91175c282d05 --- /dev/null +++ "b/22 \350\202\226\351\222\237\345\207\257\351\237\251/20221220 \346\226\271\346\263\225\345\206\205\345\256\271\347\232\204\350\241\245\345\205\205.md" @@ -0,0 +1,142 @@ +## 笔记 + +#### 方法重载 + +方法重载概念 + +方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载 + +1.多个方法在同一个类中 + +2.多个方法具有相同的方法名 + +3.多个方法的参数不相同,类型不同或者数量不同 + +###### 注意: + +重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式 + +#### 方法传递 + +- 基本数据类型的参数,形式参数的改变,不影响实际参数。(每个方法在栈内存中,都会有独立的栈空间,方法运行结束后就会弹栈消失) +- 引用数据类型的传参,传入的是地址值,内存中会造成两个引用指向同一个内存的效果,所以 + +即使方法弹栈,堆内存中的数据也已经是改变后的结果(对于引用类型的参数,形式参数的改变,影响实际参数的值) + +## 作业: + +1.编写函数,计算圆的面积和周长,在主函数中接受圆的半径,在自定义函数中计算并输出 + +~~~java +import java.util.Scanner; + +public class D4 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入圆的半径:"); + int bj = sc.nextInt(); + System.out.println("圆的周长是:"+zc(bj)); + System.out.println("圆的面积是:"+mj(bj)); + + } + public static double zc(int bj){ + return 2*3.14*bj; + } + public static double mj(int bj){ + return 3.14*bj*bj; + } +} +~~~ + +2.在主函数中产生20个0-10之间的随机数,将这20个随机数存入数组,并通过函数计算某个数在这些随机数中出现的次数(这“某个数”是在主函数中由用户输入的) + +~~~java +import java.util.Arrays; +import java.util.Random; +import java.util.Scanner; + +public class D5 { + public static void main(String[] args) { + int[] num = new int[20]; + for (int i=0; i<20; i++){ + Random sj=new Random(); + num[i]=sj.nextInt(10); + } + Scanner sc = new Scanner(System.in); + System.out.println("请输入某个数:"); + int x = sc.nextInt(); + sz(num,x); + } + public static void sz(int[]num,int x){ + int count=0; + for (int i=0; i