diff --git "a/14 \345\256\213\345\256\217\346\211\254/20221213\345\205\263\344\272\216java\347\232\204\345\260\217\347\273\223\347\232\204\344\275\234\344\270\232.md" "b/14 \345\256\213\345\256\217\346\211\254/20221213\345\205\263\344\272\216java\347\232\204\345\260\217\347\273\223\347\232\204\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..487758618e8f3a89685475a038fa66ef9a939738 --- /dev/null +++ "b/14 \345\256\213\345\256\217\346\211\254/20221213\345\205\263\344\272\216java\347\232\204\345\260\217\347\273\223\347\232\204\344\275\234\344\270\232.md" @@ -0,0 +1,49 @@ +## 知识点补充 + +- \t :制表符, + + ```java + //例: + System.out.println("这是宋宏扬的\t知识点补充"); + //输出效果: + 这是宋宏扬的 知识点补充 + ``` + +- \n:换行 + + ```java + //例: + System.out.println("这是宋宏扬的\n知识点补充"); + //输出效果: + 这是宋宏扬的 + 知识点补充 + ``` + +## 作业 + +```java +//需求:九九乘法表倒序输出 +public class 九九乘法表倒序输出 { + public static void main(String[] args) { + for (int i=1; i<=9;i++){ + for (int j=9;j>=1 && j>=i ;j--){ + System.out.print(j+"*"+i+"="+j*i+"\t"); + + } + System.out.println(); + } + } +} + +//丘丘家的燃气费(一档0-240:3.375元/方;二档241-360:4.05元/方;三档361-∞:5.06元/方) +public class 丘丘家的燃气费 { + public static void main(String[] args) { + for (int i = 1; i <= 100; i++) { + if (i * 4.05 + (100 - i) * 5.06 == 445.4){ + System.out.println("第二档:" + i + "立方;第三档是:" + (100 - i) + "立方"); + } + } + } +} +``` + diff --git "a/14 \345\256\213\345\256\217\346\211\254/20221215\345\205\263\344\272\216\346\226\271\346\263\225\347\232\204\347\254\224\350\256\260\344\270\216\344\275\234\344\270\232.md" "b/14 \345\256\213\345\256\217\346\211\254/20221215\345\205\263\344\272\216\346\226\271\346\263\225\347\232\204\347\254\224\350\256\260\344\270\216\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..bf37f5f6eddca170260ec126b883179fd6df1965 --- /dev/null +++ "b/14 \345\256\213\345\256\217\346\211\254/20221215\345\205\263\344\272\216\346\226\271\346\263\225\347\232\204\347\254\224\350\256\260\344\270\216\344\275\234\344\270\232.md" @@ -0,0 +1,284 @@ +## 方法 + +### 1.方法的概念 + +- 方法(method):是将具有独立功能的代码组成一个整体,使其具有特殊功能得到代码集 +- 注意: + - 方法必须先创建才可以使用,该过程称为方法定义 + - 方法创建后不可以直接运行,需要手动使用后才执行,该过程称为方法调用 + +### 2.方法的定义与调用 + +#### 1.无参数方法的定义和调用 + +- 定义与调用的格式 + + ```java + //定义格式 + public static void 方法名 ( ) { + //方法体; + } + + //定义范例 + public static void s1 ( ) { + //方法体; + } + ``` + + ```java + //调用格式 + 方法名(); + + //调用范例 + s1(); + ``` + +- 注意 + + 方法必须先定义再调用,否则程序将报错 + +#### 2.带参数方法的定义和调用 + +- 定义与调用的格式 + + ```java + //参数:由数据类型和变量名组成(数据类型 变量名) 参数范例:int a + //定义格式 + public static void 方法名 (参数1) { + //方法体; + } + + public static void 方法名 (参数1,参数2,参数3,...) { + //方法体; + } + + //范例 + public static void s1 (int number) { + //方法体; + } + + public static void s1 (int num1,int num2,int num3) { + //方法体; + } + ``` + + ```java + //调用格式 + 方法名 (参数); + + 方法名(参数1,参数2); + + //范例 + s1(10); + + s1(10,20,30); + ``` + +- 注意 + + 1. 方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序都将报错 + 2. 方法定义时,多个参数之间使用 " , " 隔开 + 3. 方法调用时,参数的数量与类型必须与方法定义中的设置相匹配,否则程序报错 + +#### 3.练习-判断奇偶数 + +```java +public class 判断奇偶数 { + public static void main(String[] args) { + number(10); + } + public static void number(int num){ + if(num % 2 == 0){ + System.out.println("偶数"); + }else{ + System.out.println("奇数"); + } + } +} +``` + +#### 4.带返回值方法的定义和调用 + +- 定义与调用的格式 + + ```java + //格式 + public static 数据类型 方法名 (参数) { + reture 数据; + } + + //范例 + public static boolean number(int num) { + return true; + } + public static int max(int a,int b){ + return 100; + } + + ``` + + ```java + //调用格式 + 方法名 (参数); + 数据类型 变量名 = 方法名 (参数); + + //范例 + number(5); + booleam flag = number (5); + ``` + +- 注: + 1. 方法定义时return后面的值要与方法定义上的数据类型相匹配,否则程序报错 + 2. 方法返回值通常用于变量接收,否则该返回值将无意义 + +#### 5.带返回值方法的练习 + +```java +//需求:设计一个方法可以获取两个数的较大值,数据来自于参数 +public class S4 { + public static void main(String[] args) { + System.out.println(getMax(10,20)); + } + public static int getMax(int a, int b){ + if (a > b){ + return a; + }else{ + return b; + } + } +} +``` + +### 3.形参和实参 + +1. 形参:方法定义中的参数,等同于变量定义格式,例:int number +2. 实参:方法调用中的参数,等同于使用变量或常量,例: 10 number + +### 4.带参数方法的练习 + +- 需求:设计一个方法(print)用于打印n到m之间所有的奇数 + +- 代码: + + ```java + public class S1 { + public static void main(String[] args) { + print(10,20); + } + public static void print(int n,int m){ + System.out.print(n + "到" + m + "之间的奇数有:"); + for (int i = n;i <= m;i++){ + if (i %2 != 0){ + System.out.print(i + " "); + } + } + } + } + ``` + +### 5.方法的通用格式 + +- 格式: + + ```java + public static 返回值类型 方法名(参数) { + 方法体; + return 数据 ; + } + ``` + +- 解释: + - public static:修饰符,目前先记住这个格式 + - 返回值类型:方法操作完毕之后返回的数据的数据类型 如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return + - 方法名 调用方法时候使用的标识 参数 由数据类型和变量名组成,多个参数之间用逗号隔开 方法体 完成功能的代码块 + - return:如果方法操作完毕,有数据返回,用于把数据返回给调用者 +- 定义方法时,要做到两个明确 : + - 明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果 有,写对应的数据类型 + - 明确参数:主要是明确参数的类型和数量 +- 调用方法时的注意: + - void类型的方法,直接调用即可 + - 非void类型的方法,推荐用变量接收调用 + +### 6.方法的注意事项 + +- 方法不能嵌套定义 + + ```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语句后面不能跟数据或代码 + } + } + + ``` + +### 7.总结 + +- 方法有四种状态 无返回值,无参数 ; 有返回值,无参数, 无返回,有参数 ,有返回,也有参数 +- 调用方法前.一定要先定义这个方法.也就是说不能调用不存在的方法,否则报错 +- 有参数的方法,调用的时候使用的参数.称实参[具体有值],而定义方法时用的参数.称为形参,数据类型 参数名称(不具体的一个变量) +- 有返回值的方法,返回的的类型由return决定,而且调用方法时,用一个变量接收,这个变量的类型.也要和调用的方法返回的类型一致 + +### 8.作业 + +```java +//1.需求:定义一函数,用于求2个数中的较大数,并将其返回,这2个数字在主函数中由用户输入 +import java.util.Scanner; +public class S2 { + public static void main(String[] args) { + System.out.println("请输入第一个整数:"); + Scanner num1 = new Scanner(System.in); + int a = num1.nextInt(); + System.out.println("请输入第二个整数:"); + Scanner num2 = new Scanner(System.in); + int b = num2.nextInt(); + System.out.println(getMax(a,b)); + } + public static int getMax(int a,int b){ + int max = a > b ? a : b; + System.out.print("最大数为:"); + return max; + } +} + +//2.需求:在主函数中从键盘接收X, Y , Z3个数,编写函数计算这3个数的立方和并返回计算结果:S=X3+Y3+Z3 +import java.util.Scanner; +public class S3 { + public static void main(String[] args) { + Scanner num1 = new Scanner(System.in); + System.out.println("请输入x的值:"); + int x = num1.nextInt(); + Scanner num2 = new Scanner(System.in); + System.out.println("请输入y的值:"); + int y = num2.nextInt(); + Scanner num3 = new Scanner(System.in); + System.out.println("请输入z的值:"); + int z = num3.nextInt(); + S(x,y,z); + } + public static void S(int x,int y,int z){ + System.out.println("这3个数的立方和S为:" + (x*x*x + y*y*y +z*z*z)); + } +} +``` +