Demo04.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.loveCoding.j20250607_method;
  2. /**
  3. * @author WanJl
  4. * @version 1.0
  5. * @title T5
  6. * @description 5.编写一个遍历数组的方法。思考是否要有参数,参数类型是什么,是否要有返回值,如果有返回值类型是什么。
  7. * @create 2025/6/7
  8. */
  9. public class Demo04 {
  10. //5.编写一个遍历数组的方法。思考是否要有参数,参数类型是什么,是否要有返回值,如果有返回值类型是什么。
  11. public static void method(int a){
  12. a=a+100;
  13. }
  14. public static void method2(int[] arr){
  15. //arr=new int[]{15,3};
  16. arr[0]=15;
  17. arr[1]=666;
  18. arr[2]=7777;
  19. }
  20. public static void foreachArray(int[] arr){
  21. for (int i = 0; i < arr.length; i++) {
  22. System.out.print(arr[i]+"\t");
  23. }
  24. }
  25. public static void main(String[] args) {
  26. /*
  27. 调用方法前定义的基本数据类型变量,调用方法时传入方法。无论做任何操作,都不影响外部定义的变量。
  28. 因为i调用方法时传递是【基本数据类型】的副本,不影响原始值。这种传递参数的方式叫“值传递”
  29. */
  30. int a=1;
  31. System.out.println(a);
  32. method(a);
  33. System.out.println(a);
  34. //引用数据类型传递作为参数的时候,也是【值传递】
  35. //也是将实参的副本传递进方法。但是引用数据类型的值是堆内存的地址。
  36. //所以复制的副本,其实也是一个地址。两个地址访问的其实是同一个堆内存的位置。
  37. //所以,一个进行了修改,另一个也会受到影响。
  38. int[] arr={1,3,4,5,7,8,9,6,21};
  39. foreachArray(arr); //1,3,4,5,7,8,9,6,21
  40. method2(arr);
  41. System.out.println();
  42. foreachArray(arr);//15,3,4,5,7,8,9,6,21
  43. }
  44. }