diff --git "a/16 \346\236\227\346\210\220\351\270\277/20221216 \345\217\202\346\225\260.md" "b/16 \346\236\227\346\210\220\351\270\277/20221216 \345\217\202\346\225\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..b01a703a206ee1078b226b46399fa690517362cc --- /dev/null +++ "b/16 \346\236\227\346\210\220\351\270\277/20221216 \345\217\202\346\225\260.md" @@ -0,0 +1,226 @@ +# 参数 + +#### 2022.12.16 + +### 方法重载 + +指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载 + +1.多个方法在同一个类中 + +2.多个方法具有相同的方法名 + +3.多个方法的参数不同,类型不同或数量不同 + +``` +public class MethodDemo { + public static void fn(int a) { + //方法体 + } + public static int fn(double a) { + //方法体 + } +} +public class MethodDemo { + public static float fn(int a) { + //方法体 + } + public static int fn(int a , int b) { + //方法体 + } +} +``` + +### 基本数据类型和引用类型 + +基本:指基础常量,cpu直接使用。例如:1+1=2 传递的是值本身。 + +``` +a=5; +int c=a; //c=5 (传递值本身) +``` + +基本数据类型的参数,**形式参数的改变,不影响实际参数** + +引用:存放数据地址。 + +``` +int [] a={1,2,3}; //001 +int [] b=a; //b=a=001 +//这时b和a都指向001,b是a的别称。 +``` + +对于引用类型的参数,形式参数的改变,影响实际参数的值 + +## 作业 + +编写函数,计算圆的面积和周长,在主函数中接收圆的半径,在自定义函数中计算并输出 + +```java +package 作业; + +import java.util.Scanner; + +public class A8 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入圆的半径是多少"); + double r = sc.nextDouble(); + System.out.println("圆的周长是"+zc(r)+" "+"圆的面积是"+mj(r)); + } + public static double zc (double a ){ + return (2*3.14*a); + } + public static double mj (double a ){ + return (3.14*(a*a)); + } + + } + + +``` + +在主函数中产生20个0-10之间的随机数,将这20个随机数存入数组,并通过函数计算某个数在这些随机数中出现的次数(这“某个数”是在主函数中由用户输入的) + +```java +package 作业; + +import java.util.Arrays; +import java.util.Random; +import java.util.Scanner; + +public class A9 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个0~10之间的数"); + int myg = sc.nextInt(); + int[] sz = new int[20]; + int jsq = 0; + for (int i =0; i<20;i++){ + Random ran = new Random(); + int sjs = ran.nextInt(11); + sz[i] =sjs; + } + System.out.println(Arrays.toString(sz)); + System.out.println(cs(sz,myg)); + } + public static int cs(int[] a,int b){ + int c =0; + for (int i=0;ia[i]){ + mad = a[i]; + } + + } + int[] maxmad= {max,mad}; + return maxmad; + } +} + +``` + +用自定义函数是实现求某数组元素的和(大小不固定) + +```java +package 作业; + +import java.util.Arrays; +import java.util.Random; + +public class A11 { + public static void main(String[] args) { + int[] sz = new int[4]; + for (int i =0;i<4;i++){ + Random ran = new Random(); + sz[i] = ran.nextInt(90)+10; + } + System.out.println(Arrays.toString(sz)); + System.out.println(qh(sz)); + } + public static int qh(int[] a){ + int ls = 0; + for (int i =0;i