propenso a errores de Java

Paso de parámetros

Al pasar tipos de datos básicos:

public class ArgumentsDemo01 {
    
    
	public static void main(String[] args) {
    
    
		int a=5;
		int b=10;
		change(a, b);//调用方法时,传入的数值称为实际参数
		System.out.println("a=" + a);
		System.out.println("b=" + b);
	}

	public static void change(int a, int b){
    
    //方法中指定的多个参数称为形式参数
		a=200;
		b=500;
	}
}

Salida:
a = 5
b = 10

El espacio se borra después de que se ejecuta el cambio de método y no afecta a, b en el método principal

Al pasar tipos de datos de referencia:

public class ArgumentsDemo02 {
    
    
	public static void main(String[] args) {
    
    
		int[] arr = {
    
     1, 2, 3 };
		change(arr);// 调用方法时,传入的数值称为实际参数
		
		for (int i = 0; i < arr.length; i++) {
    
    
			System.out.println(arr[i]);
		}
	}

	public static void change(int[] arr) {
    
    // 方法中指定的多个参数称为形式参数
		for (int i = 0; i < arr.length; i++) {
    
    
			arr[i] *= 2;
		}
	}
}

Salida:
2
4
6

Razón: la dirección de memoria se pasa al pasar parámetros

Supongo que te gusta

Origin blog.csdn.net/xiaonuanhu/article/details/107716923
Recomendado
Clasificación