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