diff --git "a/45 \347\216\213\345\274\272/20221213 .md" "b/45 \347\216\213\345\274\272/20221213 .md" new file mode 100644 index 0000000000000000000000000000000000000000..ed8898e27c5f55babaf04c84424135b16219a651 --- /dev/null +++ "b/45 \347\216\213\345\274\272/20221213 .md" @@ -0,0 +1,32 @@ +```java +package 循环; + +public class H3 { + public static void main(String[] args) { +// 已知 购买100立方 总共付了445.4 +// 第二梯度 4.05元/立方 第三梯度 5.06元/立方 + for (int num=1;num<=100;num++){ + if (num*4.05+(100-num)*5.06==445.4){ + System.out.println("第一梯度有:"+num+"立方"+"\n"+"第二梯度有:"+(100-num)+"立方"); + } + } + } +} +``` + +乘法口诀 + +```java +package 循环; + +public class H5 { + public static void main(String[] args) { + for (int a=9;a>=1;a--){ + for (int aa=9;aa>=a;aa--){ + System.out.print(a+"*"+aa+"="+a*aa+"\t"); + } + System.out.println(""); + } + } +} +``` diff --git "a/45 \347\216\213\345\274\272/20221216\345\207\275\346\225\260.md" "b/45 \347\216\213\345\274\272/20221216\345\207\275\346\225\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..8c6f9df4078e339bfc22a6795a16565d93251018 --- /dev/null +++ "b/45 \347\216\213\345\274\272/20221216\345\207\275\346\225\260.md" @@ -0,0 +1,275 @@ +概述 +-- + +方法:是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 + +注意: + +方法必须先创建才可以使用,该过程成为方法定义 + +方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用 + +方法的分类 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +1.无返回值 无参数 + +2.有返回值 无参数 + +3.无返回值 有参数 + +4.有返回值 有参数 + +```java +package 方法; + +public class D3 { + public static void main(String[] args) { + // 方法的分类 , 有没有返回值,有没有参数 + // 1 无返回值,也没有参数 + say(); + // 2 有返回值,但没有参数 + int a = getOne();// 调用方法,这个方法有返回值,返回1 + System.out.println(a);// + // 3 无返回值,但有参数 + play("小强"); + play("光头强"); + // 4 有返回值,也有参数 + int sum = getSum(1,2); + System.out.println(sum);// + } + + // 1 无返回值,也没有参数 + public static void say(){ + System.out.println("今天老师去做核酸了!"); + } + + // 2 有返回值,但没有参数 int 表示返回的数据类型 + public static int getOne(){ + return 1; + } + // 3 无返回值,但有参数 void 表示无返回值 + public static void play(String name){ + System.out.println("今天"+name+"去公园玩了!"); + } + + // 4 有返回值,也有参数 + public static int getSum(int a,int b){ + return a+b;// 1 + 2 =3 + } +} +``` + + + +方法的定义和调用 +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +#### 无参数方法定义和调用 + +定义格式: + +```java +public static void 方法名(){ //方法体} +``` + +## 注意:调用方法前,一定要先定义这个方法,也就是说不能调用不存在的方法,会报错 + +#### 带参数方法定义和调用 + +```java +public static void 方法名 (参数1) { +方法体; +} +public static void 方法名 (参数1, 参数2, 参数3...) { +方法体; +} +``` + + + +调用格式: + +```java +方法名(参数); +方法名(参数1,参数2); +isEvenNumber(10); +getMax(10,20); +``` + + + +形参和实参 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +1. 形参:方法定义中的参数 + +等同于变量定义格式,例如:int number + +2. 实参:方法调用中的参数 + +等同于使用变量或常量,例如: 10 number + +带返回值方法的定义和调用 +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + +定义格式: + +```java +public static 数据类型 方法名 ( 参数 ) { +return 数据 ; +} + +public static boolean isEvenNumber( int number ) { +return true ; +} +public static int getMax( int a, int b ) { +return 100 ; +} +``` + + + +调用格式: + +```java +方法名 ( 参数 ) ; +数据类型 变量名 = 方法名 ( 参数 ) ; + +isEvenNumber ( 5 ) ; +boolean flag = isEvenNumber ( 5 ); +``` + +注意:方法定义时return后面的返回值与方法定义上的数据类型要匹配,否则程序会报错 + +方法的注意事项 +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +### 方法的通用格式: + +格式: + +```java +public static 返回值类型 方法名(参数) { +方法体; +return 数据 ; +} +``` + + + +解释: + +1. public static 修饰符,目前先记住这个格式 + +返回值类型 方法操作完毕之后返回的数据的数据类型 + +如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return + +方法名 调用方法时候使用的标识 + +参数 由数据类型和变量名组成,多个参数之间用逗号隔开 + +方法体 完成功能的代码块 + +return 如果方法操作完毕,有数据返回,用于把数据返回给调用者 + +2. 定义方法时,要做到两个明确 + +​ 明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果有,写对应的数据类型 + +​ 明确参数:主要是明确参数的类型和数量 + +3.调用方法时的注意: + +​ void类型的方法,直接调用即可 + +​ 非void类型的方法,推荐用变量接收调用 + +### 注意事项 + +方法不能嵌套定义 + +示例代码: + +```java +public class MethodDemo { +public static void main(String[] args) { +} +public static void methodOne() { +public static void methodTwo() { +// 这里会引发编译错误!!! +} +} +} +``` + + + +void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据 + +示例代码: + +```java +public class MethodDemo { +public static void main(String[] args) { +} +public static void methodTwo() { +//return 100; 编译错误,因为没有具体返回值类型 +return; +//System.out.println(100); return语句后面不能跟数据或代码 +} +} +``` + +作业 +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +3. 定义一函数,用于求2个数中的较大数,并将其返回,这2个数字在主函数中由用户输入 + + ```java + import java.util.Scanner; + + public class 找出两个数中最大的 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入第一个数:"); + int a = sc.nextInt(); + System.out.println("请输入第二个数:"); + int b = sc.nextInt(); + System.out.println(); + System.out.println( "最大数为:"+ max(a,b)); + } + public static int max(int a,int b){ + return a>b?a:b; + } + } + ``` + + + +4. 在主函数中从键盘接收X, Y , Z3个数,编写函数计算这3个数的立方和并返回计算结果:S=X3+Y3+Z3 +5. ```java + import java.util.Scanner; + + public class 找出两个数中最大的 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入第一个数"); + int x = sc.nextInt(); + System.out.println("请输入第二个数"); + int y = sc.nextInt(); + System.out.println("请输入第三个数"); + int z = sc.nextInt(); + System.out.println(h(x ,y ,z )+ "="+ shu(x)+"+"+shu(y)+"+"+shu(z)); + } + public static int shu( int a){ + return a*a*a; + } + public static int h(int a,int b,int c){ + return a*a*a+b*b*b+c*c*c; + } + } + ``` + +