Iniciar sesión

Paso de argumentos en Java

Cómo Java pasa valores a los métodos

Unidad: Métodos Lección 3 de 3 Gratis
📦
Paso de argumentos por valor
Java siempre pasa los argumentos por valor: el método recibe una copia. Si el parámetro es un tipo primitivo (int, double...), modificarlo adentro del método no afecta a la variable original.
public static void incrementar(int n) { n = n + 1; // solo cambia la copia local } int x = 5; incrementar(x); System.out.println(x); // sigue siendo 5
Con objetos (como arrays), la copia es de la referencia: ambas variables apuntan al mismo objeto, así que modificar sus atributos adentro del método sí se nota afuera — pero reasignar la variable del parámetro a otro objeto, no.

Pon a prueba lo que aprendiste

Concepto

¿Cómo pasa Java los argumentos a un método?

  1. ADepende de si usas static
  2. BSiempre por referencia
  3. CSiempre por valor (una copia)
  4. DPor valor los objetos, por referencia los primitivos
Ver respuesta
C) Siempre por valor (una copia) Java siempre pasa por valor; con objetos, ese 'valor' es la referencia (dirección) al objeto.
Trazar código

¿Qué imprime este código?

public static void cambiar(int n) { n = 100; } int x = 5; cambiar(x); System.out.println(x);
  1. A100
  2. B0
  3. C5
  4. DError de compilación
Ver respuesta
C) 5 El método recibió una copia de x; modificar esa copia no afecta a x.
Objetos

Si un método recibe un array y le cambia un elemento (array[0] = 99), ¿se nota afuera del método?

  1. ASolo si el método devuelve el array
  2. BSí, porque ambas variables apuntan al mismo array en memoria
  3. CSolo si el array es static
  4. DNo, porque los arrays también se copian por valor completo
Ver respuesta
B) Sí, porque ambas variables apuntan al mismo array en memoria La referencia se copia, pero apunta al mismo array; modificar sus elementos sí se ve afuera.

🎯 Practica esta lección completa

Ejercicios de completar código, ordenar bloques y respuesta libre. Ganas XP y mantienes tu racha.

Practicar gratis, sin registrarte Entras como invitado directo a esta lección. Sin tarjeta.