diff --git "a/10 \346\270\251\350\264\265\351\233\257/20221211 \346\225\260\347\273\2042.md" "b/10 \346\270\251\350\264\265\351\233\257/20221211 \346\225\260\347\273\2042.md" new file mode 100644 index 0000000000000000000000000000000000000000..657b8cc07602ccab75f5a7b89fcc6c70e8ec8287 --- /dev/null +++ "b/10 \346\270\251\350\264\265\351\233\257/20221211 \346\225\260\347\273\2042.md" @@ -0,0 +1,177 @@ +## 复习 + +public class Demo1Array { + +/* + +数组静态初始化 : 初始化时指定每个数组元素的初始值,由系统决定数组长度 + +完整格式: + +数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3...}; + +简化格式: + +数据类型[] 数组名 = {数据1,数据2,数据3...}; + +*/ + +public static void main(String[] args) { + +// 数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3...}; + +int[] arr = new int[]{11,22,33}; + +System.out.println(arr[0]); + +System.out.println(arr[1]); + +System.out.println(arr[2]); + +// 数据类型[] 数组名 = {数据1,数据2,数据3...}; + +int[] arr2 = {44,55,66}; + +System.out.println(arr2); + +System.out.println(arr2[0]); + +System.out.println(arr2[1]); + +System.out.println(arr2[2]); + +} + +} + +} + +## 数组基本查找【应用】 + +需求: + +已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引,并在 + +控 + +制台输出找到的索引值。 + +思路: + +1.定义一个数组,用静态初始化完成数组元素的初始化 + +2.键盘录入要查找的数据,用一个变量接收 + +3.定义一个索引变量,初始值为-1 + +4.遍历数组,获取到数组中的每一个元素 + +5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给 + +索引变量,并结束循环 + +6.输出索引变量 + +```java +public static void main(String[] args) { +// 1.定义一个数组,用静态初始化完成数组元素的初始化 +int[] arr = {19, 28, 37, 46, 50}; +// 2.键盘录入要查找的数据,用一个变量接收 +Scanner sc = new Scanner(System.in); +System.out.println("请输入您要查找的元素:"); +int num = sc.nextInt(); +// 3.定义一个索引变量,初始值为-1 +// 假设要查找的数据, 在数组中就是不存在的 +int index = -1; +// 4.遍历数组,获取到数组中的每一个元素 +for (int i = 0; i < arr.length; i++) { +// 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值 +对应的索引赋值给索引变量,并结束循环 +if(num == arr[i]){ +// 如果值相同,就把该值对应的索引赋值给索引变量,并结束循环 +index = i; +break; +} +} +// 6.输出索引变量 +System.out.println(index); +} +} +``` + +## 作业 + +评委打分【应用】 + +需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 + +选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部 + +分)。 + +思路: + +1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6 + +2.键盘录入评委分数 + +3.由于是6个评委打分,所以,接收评委分数的操作,用循环 + +4.求出数组最大值 + +5.求出数组最小值 + +6.求出数组总和 + +7.按照计算规则进行计算得到平均分 + +8.输出平均分 + +```java +public static void main(String[] args) { +// 1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6 +int[] arr = new int[6]; +// 2.键盘录入评委分数 +Scanner sc = new Scanner(System.in); +// 3.由于是6个评委打分,所以,接收评委分数的操作,用循环 +for (int i = 0; i < arr.length; i++) { +System.out.println("请输入第" + (i+1) + "个评委的打分:"); +int score = sc.nextInt(); +if(score >= 0 && score <= 100){ +// 合法的分值 +arr[i] = score; +}else{ +// 非法的分值 +System.out.println("您的打分输入有误, 请检查是否是0-100之间 +的"); +i--; +} +} +// 4.求出数组最大值 +int max = arr[0]; +for (int i = 1; i < arr.length; i++) { +if(max < arr[i]){ +max = arr[i]; +} +} +// 5.求出数组最小值 +int min = arr[0]; +for (int i = 1; i < arr.length; i++) { +if(min > arr[i]){ +min = arr[i]; +} +} +// 6.求出数组总和 +int sum = 0; +for (int i = 0; i < arr.length; i++) { +sum += arr[i]; +} +// 7.按照计算规则进行计算得到平均分 +int avg = (sum - max - min ) / 4; +// 8.输出平均分 +System.out.println(avg); +} +} +``` + + diff --git "a/10 \346\270\251\350\264\265\351\233\257/20221214 \350\264\255\346\260\224.md" "b/10 \346\270\251\350\264\265\351\233\257/20221214 \350\264\255\346\260\224.md" new file mode 100644 index 0000000000000000000000000000000000000000..351182fd63835c9d9f132a3f5a596da48ac675f3 --- /dev/null +++ "b/10 \346\270\251\350\264\265\351\233\257/20221214 \350\264\255\346\260\224.md" @@ -0,0 +1,59 @@ +### 复习 + +##### 基本数据类型 + +```java + +整数(byte,short,int(默认),long) +浮点数(float(单精度),double(双精度) ) +字符(char) +``` + +#### 非数值型 + +```java +布尔(boolean): +true(真) +false (假) +``` + +#### 引用数据类型 + +```java +类 (class) +接(interface) +数组([])引用数据类型 +``` + +### 作业 + +#### 倒序乘法表 + +```java +public class D1 { + public static void main(String[] args) { + for(int i=9;i>=1;i--){ + for(int j=i;j>=1;j--){ + System.out.print(j + "x" + i + "=" + i*j + "\t"); + } + System.out.println(); + } +} +} +``` + +#### 购气 + +```java +public class D3 { + public static void main(String[] args) { + for (int x=1;x<=100;x++){ + if (x*4.05 + (100-x)*5.06 == 455.4){ + System.out.println("第二档燃气购买了"+x+"方,第三档燃气购买了"+(100-x)+"方"); + } + } + } +} +``` + + diff --git "a/10 \346\270\251\350\264\265\351\233\257/20221216 \346\226\271\346\263\225\345\217\202\346\225\260.md" "b/10 \346\270\251\350\264\265\351\233\257/20221216 \346\226\271\346\263\225\345\217\202\346\225\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..31b0a7eeb4ba4c51e2ef456095da209402f5a8b3 --- /dev/null +++ "b/10 \346\270\251\350\264\265\351\233\257/20221216 \346\226\271\346\263\225\345\217\202\346\225\260.md" @@ -0,0 +1,178 @@ +# 作业: + +# 方法的概念 + +方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 + +注意: + +方法必须先创建才可以使用,该过程成为方法定义 + +方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用 + +## 无参数方法定义和调用 + +定义格式: + +```java +public static void 方法名 ( ) { +// 方法体; + +} +范例: +public static void method ( ) { +// 方法体; +} +``` + +调用格式: + +```java +方法名(); +``` + +范例: + +```java +method(); +``` + +方法必须先定义,后调用,否则程序将报错 + +## 方法的调用过程 + +总结:每个方法在被调用执行的时候,都会进入栈内存,并且拥有自己独立的内存空间,方法内部 + +代码调用完毕之后,会从栈内存中弹栈消失代码调用完毕之后,会从栈内存中弹栈消失。 + +## 方法练习-奇偶数判断 + +```java +public class Demo1Method { +/* +带参数方法的定义格式: +public static void 方法名 ( 参数 ) { … … } +public static void 方法名 ( 数据类型 变量名 ) { … … } +带参数方法的调用格式: +方法名 ( 参数 ) ; +方法名 ( 变量名/常量值 ) ; +tips: 参数可以是一个, 也可以是多个. +需求: 判断一个数是奇数还是偶数 +*/ +public static void main(String[] args) { +isEvenNumber(10); +} +public static void isEvenNumber(int num){ +if(num % 2 == 0){ +System.out.println("偶数"); +}else{ +System.out.println("奇数"); +} +} +} +``` + +## 方法的通用格式 + +```java +public static 返回值类型 方法名(参数) { +方法体; +return 数据 ; +} +``` + +解释: + +public static 修饰符,目前先记住这个格式 + +返回值类型 方法操作完毕之后返回的数据的数据类型 + +如果方法操作完毕,没有数据返回,这里写void,而且方法体中一般不写return + +方法名 调用方法时候使用的标识 + +参数 由数据类型和变量名组成,多个参数之间用逗号隔开 + +方法体 完成功能的代码块 + +return 如果方法操作完毕,有数据返回,用于把数据返回给调用者 + +定义方法时,要做到两个明确 + +明确返回值类型:主要是明确方法操作完毕之后是否有数据返回,如果没有,写void;如果 + +有,写对应的数据类型 + +明确参数:主要是明确参数的类型和数量 + +调用方法时的注意: + +void类型的方法,直接调用即可 + +非void类型的方法,推荐用变量接收调用 + +## 带返回值方法的练习-求两个数的最大值(应用) + +需求:设计一个方法可以获取两个数的较大值,数据来自于参数 + +思路: + +1. 定义一个方法,声明两个形参接收计算的数值,求出结果并返回 + +2. 使用 if 语句 得出 a 和 b 之间的最大值,根据情况return具体结果 + +3. 在main()方法中调用定义好的方法并使用 【 + +变量保存 】 + +```java +/* +需求:设计一个方法可以获取两个数的较大值,数据来自于参数 +1. 定义一个方法,声明两个形参接收计算的数值,求出结果并返回 +2. 使用 if 语句 得出 a 和 b 之间的最大值,根据情况return具体结果 +3. 在main()方法中调用定义好的方法并使用 【 变量保存 】 +*/ +public static void main(String[] args) { +// 3. 在main()方法中调用定义好的方法并使用 【 变量保存 】 +System.out.println(getMax(10,20)); // 输出调用 +int result = getMax(10,20); +System.out.println(result); +for(int i = 1; i <= result; i++){ +System.out.println("HelloWorld"); +} +} +// 方法可以获取两个数的较大值 +public static int getMax(int a, int b){ +if(a > b){ +return a; +}else{ +return b; +} +} +} +1 +``` + +# 作业: + +```java +import java.util.Scanner; + + public class D3 { + public static void main(String[] args) { + //4,在主函数中从键盘接收X,Y,Z3个数,编写函数计算这3个数的立方和并返回计算结果:S=X3+Y3+Z3 + Scanner sc = new Scanner(System.in); + System.out.println("请输入三个数"); + double x = sc.nextDouble(); + double Y = sc.nextDouble(); + double z = sc.nextDouble(); + double s = x*x*x+z*z*z+Y*Y*Y; + System.out.println("他们的立方和为:"+s); + + } + } +``` + +```java + +```