Hola y bienvenidos a esta elección.
A continuación vamos a estudiar el tema de paso por valor en IAVA están listos.
Vamos bien vamos a cerrar este proyecto vamos a dar click derecho y Clowes posteriormente vamos a crear
un nuevo proyecto tengamos la opción de llevar width en Java Application.
Damos clic en Next
vamos a depositar nuestro proyecto en cursos Java el nombre del proyecto va a ser paso por valor dejamos
los demás valores por default quitamos el nombre del paquete y posteriormente damos sigue en finalizar
vamos a crear una nueva clase sobre Sors package.
Damos clic derecho Niu ya la clase y la clase se va a llamar.
Paso por valor dejamos los demás valores por default y damos clic en Finalizar
quitamos estos comentarios y vamos a agregar un método main Public Static void main y presionamos la
tecla de tabulador.
Damos un formato y vamos a agregar el siguiente código en esta elección vamos a ver el tema de paso
por valor en Java y vamos a escribir el siguiente código para entender este concepto.
Vamos a definir una variable por ejemplo la variable X y le vamos a asignar el valor de 10.
Esto quiere decir que esta variable va a ser de tipo entero ya que estamos utilizando una literal de
tipo entero para asignar este valor el concepto de paso por valor en Java aplica los tipos primitivos
así que vamos a ver en qué consiste.
Vamos a imprimir este valor de esta variable ya hasta aquí tenemos un código muy similar a lo que hemos
visto hasta el momento.
Simplemente estamos definiendo una variable de tipo entera y la mandamos a imprimir.
Guardamos cambios y ejecutamos
y podemos observar el valor de la variable que vale 10 ahora vamos a definir un método para intentar
cambiar el valor desde otro método a esta variable x y vamos a ver qué es lo que sucede así que vamos
a definir un método llamado Cambiar valor y le vamos a enviar el valor de nuestra variable x y una vez
que hayamos intentado cambiar el valor volvemos a imprimir el valor de nuestra variable x.
Ahora vamos a definir este nuevo método podemos crearlo manualmente o en este caso el IDE nos puede
ayudar para crear este método.
Si damos clic sobre este icono nos muestra la opción de crear el método cambiar de valor y Podemos no
se va a crear un método recibiendo un argumento de tipo entero damos clic y podemos observar que en
automático no se agrega un método llamado Cambiar valor agregó el modificador de acceso privado.
Esto quiere decir que este método únicamente se puede utilizar dentro de esta clase y a diferencia de
este método públic este método main se puede utilizar desde cualquier otra clase.
Por ello el concepto de público pero sí es privado entonces únicamente se puede utilizar dentro de esta
misma clase.
Esto lo vamos a ver a detalle posteriormente pero básicamente es lo que significa Privat que únicamente
se puede utilizar dentro de esta clase.
Después debido a que estamos dentro del método main y este método es de tipo Static entonces también
los métodos que se mandan a llamar dentro del método main deben ser de tipo estático ya que si quitamos
esta palabra vamos a observar que no podemos utilizar este método ya que nos manda el mensaje que este
método es de tipo no estático así que debemos de utilizar métodos estáticos si estamos dentro del método
main ya que este método también es estático.
Después vamos a ver a detalle este concepto de Static y vamos a dedicar una lección completa a este
modificador de acceso.
En este caso únicamente lo estamos explicando para que sepamos por qué este método cambiar valor también
tiene el modificador estático es de tipo Veidt ya que no va a regresar ningún valor únicamente vamos
a intentar cambiar el valor pero no vamos a regresar ningún valor y recibe un argumento el argumento
llamado X vamos a cambiar este nombre para que no confundamos que este simplemente es otro argumento
va a recibir el valor de la variable X pero lo recibe en esta variable que se está declarando llamada
Hark de argumento.
Posteriormente en el cuerpo del método no se agregó en automático este código vamos a quitar este código
con controlé y ahora vamos a agregar lo siguiente a nuestro método cambiar valor lo que vamos a hacer
es intentar cambiar el valor utilizaron nuestra variable local o argumento la asignamos por ejemplo
el valor de 20 ya que al momento de mandar a llamar el método cambiar valor hemos definido la variable
X con el valor de 10.
Entonces aquí lo que estamos haciendo es enviar el valor de 10 a nuestro método cambiar de valor entonces
básicamente es como si hiciéramos esto estamos definiendo una variable de tipo entero llamado AR y le
estamos asignando el valor de la variable x.
Por lo tanto aquí le estamos asignando el valor de 10 a esta variable.
Argumento realmente esto es lo que está sucediendo cuando se manda llamar este método se está inicializar
esta variable argumento con el valor de la variable X y posteriormente lo que estamos haciendo es que
esta variable le estamos modificando el valor de 10 lo estamos cambiando a 20 pero aquí la pregunta
es qué sucede con el valor de la variable X y vamos a responder a esta pregunta ejecutando este programa
ya que después de mandar a llamar este método estamos volviendo a imprimir el valor de la variable X
así que guardamos cambios ejecutamos y observamos que la primera vez en esta línea de código el valor
de la variable x vale 10 y después de mandar a llamar el método cambiar valor el valor de la variable
x se mantiene con el valor de 10.
Vamos a imprimir aquí el valor de la variable art para que observemos que dentro del método cambiar
valor si está sucediendo un cambio de valor pero vamos a explicar qué es lo que está sucediendo guardamos
y ejecutamos y esto en Java es precisamente lo que se conoce como paso por valor ya que únicamente lo
que estamos haciendo es pasar una copia del valor de la variable X a la variable.
Recordemos que esta variable es una variable local al método cambiar valor así que se define dentro
de este método y al terminar este método se destruye y esta variable x también es una variable local
pero se va a destruir hasta que termine el método main.
Esto quiere decir hasta que termine de ejecutarse nuestro programa entonces lo que estamos observando
es que únicamente estamos enviando una copia del valor de la variable X a la variable Hark y aunque
modifiquemos el valor de la variable esto no modifica el valor de la variable X así que cuando volvemos
a imprimir el valor de la variable x se mantiene el valor de 10 ya que únicamente pasó una copia a este
método y esta variable es local al momento de determinar de ejecutarse el método cambiar valor se destruye.
Por lo tanto el valor de la variable x no se modificó y por ello es que podemos observar que la segunda
vez que imprimimos el valor de la variable x es igual a 10.
Ahora por qué explicamos esto.
Porque vamos a observar que trabajemos con tipos Objet con objetos entonces este concepto de paso por
valor cambia un poco y se va a conocer como paso por referencia.
Así cuando estamos trabajando con objetos el concepto tenemos que analizarlo de diferente forma que
es lo que vamos a ver precisamente en la lección siguiente pero en el caso cuando estamos trabajando
con tipos primitivos podemos observar que únicamente estamos pasando una copia del valor de nuestra
variable a los métodos y posteriormente aunque las variables locales modifiquen el valor no se está
modificando el valor de la variable original ya que únicamente pasó una copia de su valor vamos a ejecutar
finalmente paso a paso.
Este ejercicio ponemos un punto de ruptura en la definición de nuestra variable X damos un derecho de
Buffy de íbamos a presionar este over o F8 podemos saber que ya se creó esta variable con el valor de
10 de nueva cuenta presionamos f 8 vamos a consola y podemos observar que se manda el valor de la variable
x igual a 10.
Regresamos al tabulador de variables y ahora vamos a entrar al detalle del método cambiar valor para
entrar al detalle vamos a presionar F7 y podemos ver que en este caso se está definiendo la variable
local que es un argumento con el valor de 10 ya que la variable X le paso una copia de su valor y se
lo asigna a este argumento a esta variable local que es un argumento de este método y podemos observar
que se está creando entonces la variable de tipo entero con el valor inicial de 10 ya que le pasó una
copia de su valor.
La variable x y en la siguiente línea lo que hacemos es modificar el valor de la variable local ahora
presionamos f 8 y de nueva cuenta f 8 y observamos la salida en este caso el valor de la variable AR
es igual a 20.
Regresamos al tabulador de variables y ahora cuando terminemos de ejecutar este método vamos a regresar
al método que hizo la llamada es decir al método main y vamos a observar de nueva cuenta el valor de
la variable X para ver si se modificó.
Observamos que en este caso la variable Art ya contiene el valor de 20 presionamos F8 y podemos observar
de nueva cuenta el valor de la variable X a 1 se destruye ya que el método main todavía no termina y
podemos observar que la variable x continúa con el valor de 10 ya que únicamente pasó una copia del
valor al método cambiar valor la variable ya se destruyó y el cambio que hizo sobre esta variable ya
no se ve reflejado en ningún lado.
únicamente pudo haber sido reflejado dentro del método cambiar valor pero fuera de este método esta
variable ya no existe y tampoco modificó el valor de la variable x.
Finalmente volvemos a ejecutar y podemos observar entonces que el valor de la variable x no se modificó
presionamos F8 y entonces ahora ya termina la ejecución de nuestro programa y se destruye el valor de
la variable x bien así que con esto hemos puesto en práctica el concepto de paso por valor a continuación
en la siguiente elección vamos a ver el concepto de paso por referencia nos vemos en la siguiente elección.
Saludos.