Skip to content

Commit c7f5a29

Browse files
authored
Merge pull request mouredev#4853 from julian98789/patch-8
#5 - java
2 parents 9c36ecf + 4f23184 commit c7f5a29

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
2+
public class reto_5 {
3+
public static void main(String[] args) {
4+
// Ejemplo de asignación por valor (datos primitivos)
5+
int a = 5;
6+
int b = a; // 'b' obtiene una copia del valor de 'a'
7+
b = 10; // Cambiamos 'b', pero 'a' permanece igual
8+
9+
System.out.println("Asignación por valor:");
10+
System.out.println("a: " + a); // Imprime 5
11+
System.out.println("b: " + b); // Imprime 10
12+
13+
// Ejemplo de asignación por referencia (objetos)
14+
Persona persona1 = new Persona("Juan");
15+
Persona persona2 = persona1; // 'persona2' obtiene la referencia de 'persona1'
16+
persona2.nombre1 = "Pedro"; // Cambiamos el nombre usando 'persona2'
17+
18+
System.out.println("\nAsignación por referencia:");
19+
System.out.println("persona1.nombre: " + persona1.nombre1); // Imprime "Pedro"
20+
System.out.println("persona2.nombre: " + persona2.nombre1); // Imprime "Pedro"
21+
22+
// Ejemplo de paso de parámetros por valor (datos primitivos)
23+
int numero = 5;
24+
cambiarValor(numero);
25+
System.out.println("\nPaso por valor:");
26+
System.out.println("numero: " + numero); // Imprime 5, porque se pasa una copia
27+
28+
// Ejemplo de paso de parámetros por referencia (objetos)
29+
Persona persona = new Persona("Juan");
30+
cambiarNombre(persona);
31+
System.out.println("\nPaso por referencia:");
32+
System.out.println("persona.nombre: " + persona.nombre1); // Imprime "Pedro"
33+
34+
// **********reto****************
35+
System.out.println("\nReto:");
36+
int numeroOriginal1 = 5;
37+
int numeroOriginal2 = 10;
38+
Persona personaOriginal1 = new Persona("Juan");
39+
Persona personaOriginal2 = new Persona("andres");
40+
41+
System.out.println("Nombre 1: " + personaOriginal1.nombre1 + " nombre 2 " + personaOriginal2.nombre1);
42+
43+
System.out.println("Antes de cambiar:");
44+
System.out.println("numeroOriginal1: " + numeroOriginal1);
45+
System.out.println("numeroOriginal2: " + numeroOriginal2);
46+
System.out.println("personaOriginal1.nombre: " + personaOriginal1.nombre1);
47+
System.out.println("personaOriginal2.nombre: " + personaOriginal2.nombre1);
48+
49+
System.out.println("Después de cambiar:");
50+
51+
cambiarValor(numeroOriginal1,numeroOriginal2);
52+
cambiarNombre(personaOriginal1,personaOriginal2);
53+
54+
55+
}
56+
57+
public static void cambiarValor(int numeroOriginal1, int numeroOriginal2 ) {
58+
int aux = numeroOriginal1;
59+
numeroOriginal1 = numeroOriginal2;
60+
numeroOriginal2 = aux;
61+
62+
System.out.println("valores cambiados numero 1: "+ numeroOriginal1 + " numero 2: " +numeroOriginal2 );
63+
64+
}
65+
66+
public static void cambiarNombre(Persona p1, Persona p2) {
67+
String aux = p1.nombre1;
68+
p1.nombre1 = p2.nombre1 ;
69+
p2.nombre2 = aux;
70+
71+
System.out.println("valores cambiados p1.nombre1: "+ p1.nombre1 + " p2.nombre2: " +p2.nombre2 );
72+
}
73+
74+
public static void cambiarValor(int n) {
75+
n = 10;
76+
}
77+
78+
public static void cambiarNombre(Persona p1) {
79+
p1.nombre1 = "Pedro";
80+
}
81+
82+
static class Persona {
83+
String nombre1;
84+
String nombre2;
85+
86+
Persona(String nombre) {
87+
this.nombre1 = nombre;
88+
}
89+
90+
91+
92+
}
93+
}
94+

0 commit comments

Comments
 (0)