一、知识点(必做):

MethodDemo1.java(重点)

需求:定义求两个整数之和的方法

步骤:

(1)定义方法

  1. 确定方法名,修饰符(暂时使用public static
  2. 确定是否需要形式参数
  3. 确定是否需要返回

(2)调用方法

  1. 确定调用语法(暂时类名调用方法)
  2. 确定需要传入什么实际参数
  3. 确定是否需要定义变量接收返回值
  1. package _text_day06;
  2. /**
  3. * 需求:定义求两个整数之和的方法
  4. * 步骤:
  5. * (1)定义方法
  6. * 确定方法名,修饰符(暂时使用public static)
  7. * 确定是否需要形式参数
  8. * 确定是否需要返回
  9. *
  10. * (2)调用方法
  11. * 确定调用语法(暂时类名调用方法)
  12. * 确定需要传入什么实际参数
  13. * 确定是否需要定义变量接收返回值
  14. */
  15. public class MethodDemo1 {
  16. // 确定方法名,修饰符(暂时使用public static),形式参数
  17. public static int getInt(int num1, int num2){
  18. int result =num1+num2;
  19. // 确定返回值
  20. return result;
  21. }
  22. public static void main(String[] args) {
  23. // 定义实参
  24. int num1=20;int num2=10;
  25. // 定义变量接收返回值
  26. int result;
  27. result=getInt(num1,num2);
  28. // 输出结果
  29. System.out.println("两个整数之和 "+result);
  30. }
  31. }
  32. 总结:在main方法外定义一个方法,给定形参,根据题意列出关系式,确定是否需要返回值
  33. main方法内定义实参(给形参赋值),定义变量接受返回值,返回值即输出结果

MethodDemo2.java(重点)

需求2:定义一个方法,传入一个int数组,按照格式打印int类型数组

步骤:

(1)定义方法

(2)实现方法体

(3)调用方法

需求3:定义一个方法,传入一个int数组,返回指定元素在数组中第一次出现的索引

步骤:

(1)定义方法

(2)实现方法体

遍历数组

如果当前元素和指定元素相同,返回当前元素所在的索引

遍历所有元素后,发现找不到则返回-1,表示找不到索引

(3)调用方法

  1. public class MethodDemo2 {
  2. // 定义方法
  3. // 实现方法体
  4. public static void printArr(int[] arr) {
  5. String str = "[";
  6. for (int i = 0; i < arr.length; i++) {
  7. str = str + arr[i];
  8. if (i == arr.length - 1) {
  9. str = str + "]";
  10. } else {
  11. str = str + ",";
  12. }
  13. }
  14. System.out.println(str);
  15. }
  16. public static void main(String[] args) {
  17. int[] arr = new int[]{1, 2, 4, 6, 7};
  18. // 调用方法
  19. MethodDemo2.printArr(arr);
  20. }
  21. }
  22. package _text_day06;
  23. /**
  24. * 需求2:定义一个方法,传入一个int数组,按照格式打印int类型数组
  25. * 步骤:
  26. * (1)定义方法
  27. * (2)实现方法体
  28. * (3)调用方法
  29. * 需求3:定义一个方法,传入一个int数组,返回指定元素在数组中第一次出现的索引
  30. * 步骤:
  31. * (1)定义方法
  32. * (2)实现方法体
  33. * 遍历数组
  34. * 如果当前元素和指定元素相同,返回当前元素所在的索引*
  35. * 遍历所有元素后,发现找不到则返回-1,表示找不到索引
  36. * (3)调用方法
  37. */
  38. public class MethodDemo2 {
  39. // 定义方法
  40. // 实现方法体
  41. public static int indexOf(int[] arr, int key) {
  42. for (int i = 0; i < arr.length; i++) {
  43. if (arr[i] == key) {
  44. return i;
  45. }
  46. }
  47. return -1;
  48. }
  49. public static void main(String[] args) {
  50. int[] arr = new int[]{1, 2, 4, 6, 7};
  51. // 调用方法
  52. int index = indexOf(arr, 3);
  53. System.out.println(index);
  54. }
  55. }

二、 综合练习(必做):

MethodDemo3.java

需求1:定义一个方法getSum,计算两个整数数组元素的之和,并把求和结果返回。

需求2:定义一个方法printArray,按照格式打印数组中非0的元素,例如{1,0,2,3,0,4,5}打印出来应该为[1,2,3,4,5]

  1. // 思路提示:
  2. // step 1: 声明一个数组int[] arr = {1,0,2,3,0,4,5}
  3. // step 2: 将arr中非0元素保存一个新数组newArr中
  4. // step 3: 把新数组newArr中的元素按照指定格式( [x,x,x] )打印数组元素

需求3:定义一个方法getFactorial,求出n!的结果.阶乘公式为n! = 1*2*...*n.

  1. //定义一个方法getSum,计算两个整数数组元素的之和,并把求和结果返回。
  2. public class MethodDemo3{
  3. public static void main(String[] args){
  4. int sum = getSum(2,4);
  5. System.out.println("和为:" + sum);
  6. } //求和方法
  7. public static int getSum(int a, int b){
  8. return a + b;
  9. }
  10. }
  11. //定义一个方法printArray,按照格式打印数组中非0的元素,例如{1,0,2,3,0,4,5}打印出来应该为`[1,2,3,4,5]
  12. //定义一个方法getFactorial,求出n!的结果.阶乘公式为`n! = 1*2*...*n`.
  13. public class MethodDemo3{
  14. public static int getFactorial(int n) {
  15. int sum = 1;
  16. int sumn = 0;
  17. for (int i = 1; i <= n; i++) {
  18. sum *= i;
  19. System.out.println(sum);
  20. sumn += sum;
  21. }
  22. System.out.println(“从1到” + n + “的阶乘和为:” + sumn);
  23. return sum;
  24. }
  25. public static void main(String[] args){
  26. getFactorial(10);
  27. }
  28. }

AvgDemo.java

需求:定义一个方法接收一个 int 类型的二维数组,返回所有元素平均值(int 类型)。

  1. 提示:
  2. int[] arr = {
  3. {0,1,2},
  4. {3,4}
  5. }
  6. 所有元素之和的平均值:( 0 + 1 + 2 + 3 + 4) / 5.0 = 2.0
  1. package _text_day06;
  2. /**
  3. * 需求:定义一个方法接收一个 int 类型的二维数组,返回所有元素平均值(int 类型)。
  4. */
  5. public class AvgDemo {
  6. public static int getAvg(int aa[][] ){
  7. int sum=0;
  8. for (int i=0;i<aa.length;i++){
  9. for (int j=0;j<aa.length;j++){
  10. sum+=aa[i][j];
  11. }
  12. } return sum/aa.length-2;
  13. }
  14. public static void main(String[] args) {
  15. int[][] aa = {{0,1,2},{3,4}};
  16. int avg= getAvg(aa);
  17. System.out.println(avg);
  18. }
  19. }

三、拓展练习(选做)

CombineDemo.java

需求:定义一个名为combineArrays的方法,以两个int类型的数组arr1和arr2作为参数,实现将arr1和arr2两个数组合并为一个新的一维数组,并返回合并后的新数组。

例如:arr1={1,2},arr2={3,4},则该方法应该返回{1,2,3,4}。

思路:

(1)先求出符合要求的元素个数

(2)创建一个新的数组存放符合要求的元素

(3)将符合要求的元素存放到新的数组中