Hola y bienvenidos a esta elección.
A continuación vamos a estudiar el tema de arreglos en Java están listos.
Vamos vamos a cerrar este proyecto.
Damos derecho Clocks y vamos a crear un nuevo proyecto damos un en fin mi proyecto ya va Wild Maiden
ya la aplicación y el nombre del proyecto se va a llamar ejemplo arreglos y lo depositamos en la carpeta
de cursos hago diagonal llama
dejamos los demás valores por default y el nombre del paquete lo eliminamos ya que si vamos a crear
paquetes lo vamos a crear manualmente damos en finalizar y con eso ya tenemos creado nuestro proyecto
de ejemplo.
Arreglos bien vamos a crear una primer clase damos el derecho neo Java class.
El nombre de la clase se va a llamar persona y el nombre del paquete se va a llamar arreglos damos iDEN
finalizar quitamos estos comentarios y esta clase va a tener lo siguiente va a tener un atributo privado
de tipo string llamado nombre.
Posteriormente vamos a agregar un constructor y vamos a apoyarnos de la idea para crear este constructor.
Damos clic derecho Intercorp seleccionamos constructor y va a recibir el atributo de nombre así que
recibe este argumento para inicializar el atributo de nombre.
También vamos a llegar los métodos Jet Set.
Damos clic derecho Incer generamos los métodos jet set para el atributo de nombre y finalmente agregamos
también el método string Intercorp string seleccionamos el atributo de nombre y lo generamos bien.
Eso es todo lo que va a tener nuestra clase de persona.
Ahora vamos a crear una segunda clase damos un derecho ya va a clase y la clase se va a llamar ejemplo
arreglos y el nombre del paquete también va a hacer arreglos y damos clic en Finalizar quitamos estos
comentarios y vamos a negar ahora un método main Public Static void main y vamos a empezar con esta
elección para poner en práctica el concepto de arreglos un arreglo en Java también es un tipo Object
es un objeto así que lo primero que vamos a hacer es declarar una variable de tipo arreglo en este caso
un arreglo de enteros de tipo intro así que vamos a declarar esta variable.
Vamos a utilizar int posteriormente el nombre del arreglo +el en plural ya que va a almacenar varios
valores y en este caso se va a llamar edades abrimos corchetes punto y coma en este caso los corchetes
pueden ir del lado derecho del nombre de la variable o del lado izquierdo.
Después de la definición del tipo cualquiera de estas dos sintaxis es válida así que con eso estamos
declarando la variable pero aún no le hemos asignado un objeto de tipo arreglo para ello como siguiente
paso vamos a instancias el arreglo de tipo int.
Así que en este momento vamos a crear un objeto de tipo arreglo y lo vamos a asignar a la variable edades
ya que esta variable es la que va a apuntar al objeto de tipo de arreglo que vamos a crear.
Así que creamos un nuevo objeto de tipo arreglo.
Por ello es que utilizamos la palabra reservada.
Recordemos que que utilizamos es porque vamos a crear un objeto en Java y posteriormente indicamos que
el tipo objeto que vamos a crear es un arreglo con tres elementos ya que cuando trabajamos con arreglos
debemos de indicar cuántos elementos vamos a reservar en memoria.
Para este arreglo así que básicamente en este momento lo que estamos haciendo es crear en memoria
tenemos nuestra memoria y estamos reservando tres elementos tres espacios para almacenar por completo
nuestro arreglo nuestro objeto de arreglo de tipo entero y tenemos las siguientes Casillas tenemos el
índice cero de nuestro arreglo.
Posteriormente el índice 1 y posteriormente el índice 2 ya que nuestros arreglos van a comenzar en cero
y la variable edades
apunta a este objeto.
Este es el objeto arreglo que se ha creado en alguna dirección de memoria.
Por ejemplo la dirección de memoria 0 x 3 3 3 y esta dirección de memoria es la que se le asigna a nuestra
variable edades así que es igual que el manejo de objetos simplemente que en este caso es un objeto
que hemos definido que va a contener tres elementos y esta es la única diferencia con el manejo de objetos
que en este caso es un objeto que a su vez internamente almacena elementos en este caso de tipo entero
pero también vamos a ver posteriormente que puede almacenar elementos de tipo objeto así que hasta el
momento únicamente hemos reservado memoria para estos tres elementos pero es un solo objeto y como tercer
paso lo que vamos a hacer es inicializar los valores del arreglo
inicial y los valores de los elementos del arreglo.
Para esto vamos a acceder a cada uno de los índices utilizando nuestra variable en este caso la variable
edades e indicamos cuál es el índice que queremos modificar.
En este caso vamos a comenzar con el índice 0 y le vamos a asignar un valor por ejemplo el valor de
30.
No tenemos que proporcionar todos los valores a cada uno de los elementos del arreglo.
Esto es opcional simplemente es para asignar los valores pero si no los asignamos entonces se le va
a asignar su valor por default dependiendo del tipo de dato que hayamos utilizado en este caso el tipo
de dato es de tipo int.
Por lo tanto su valor por default si no le asignamos otro valor su valor por default es cero pero si
asignamos un valor distinto entonces esa es la sintaxis que podemos utilizar para asignar un nuevo valor
en cada uno de los índices de este arreglo así que asignamos ahora el valor de 15
y finalmente el valor de 20.
Pero si no asignamos por ejemplo este valor entonces el índice en la posición 2 este valor entero se
quedaría con el valor de cero ya que sería su valor por default y básicamente aquí lo que hemos hecho
en primer lugar se definió la variable edades así que tenemos nuestra variable edades que es de tipo
arreglo para que pueda apuntar a un arreglo en memoria de tipo entero.
Posteriormente en la memoria en cada una de las casillas que se reserva para nuestros objetos hemos
creado un objeto en el cual indicamos que va a reservar tres elementos y posteriormente una vez que
hemos reservado el espacio de memoria para estos tres elementos de tipo entero entonces le vamos asignando
en la posición cero.
Este sería el inicio cero el índice 1 y el índice 2 así que en el índice 0 le estamos asignando el valor
de 30 que es de tipo entero.
Posteriormente el valor de 15 y finalmente el valor de 20 así que eso es lo que estamos haciendo con
este arreglo y posiblemente lo que vamos a hacer es imprimir los valores de este arreglo así que como
paso 4 imprimimos los valores del arreglo para imprimirlo podemos acceder a cada uno de los elementos
o posteriormente vamos a ver que podemos utilizar un ciclo para recorrer cada uno de los elementos del
arreglo pero de momento vamos a acceder a cada uno de los elementos arreglo de enteros índice cero y
para leer información del arreglo en este caso lo estamos modificando ya que le estamos asignando un
valor pero si no queremos modificar el valor sino acceder al elemento entonces ponemos el nombre de
la variable que apunta al arreglo y posteriormente el índice al cual queremos acceder.
Guardamos cambios y ejecutamos
y podemos observar que en este caso en el índice 0 estamos recuperando el valor de 30 ya que es el valor
que hemos asignado en esta posición posteriormente hacemos lo mismo para las siguientes posiciones accedemos
al índice 1 y finalmente al índice 2 modificamos también estos textos guardamos cambios y ejecutamos
y podemos observar cada uno de los valores del arreglo 30 15 y 20 respectivamente así que si la sintaxis
para acceder a cada uno de los elementos del arreglo pero por ejemplo si quisiéramos acceder a un elemento
fuera de este arreglo por ejemplo el índice III ya que recordemos que este elemento hemos indicado que
únicamente va a tener tres elementos eso serían los tres elementos pero si tratamos de acceder a un
cuarto elemento entonces vamos a ver que tenemos un problema ejecutamos y podemos observar el siguiente
error.
La excepción que nos arroja es Arbey Index ADOP Bounce exception ya que estamos tratando de acceder
a un índice del arreglo fuera de los elementos definidos para este arreglo así que nos manda el mensaje.
El índice 3 está fuera de los elementos definido para este arreglo que fueron únicamente tres elementos
y esto ya sería un cuarto elemento.
Por ello es que debemos tener cuidado y no acceder a elementos fuera de nuestro arreglo.
De todas maneras en el siguiente nivel vamos a ver el tema de manejo de excepciones donde veremos cómo
tratar con ese tipo de errores.
De momento vamos a poner entre comentarios esta línea para no caer en el error que estamos observando
bien hasta aquí ya hemos definido un arreglo de tipos enteros.
Ahora vamos a definir un arreglo de tipos Object para ver algunas diferencias pero básicamente es lo
mismo así que vamos a declarar un arreglo de tipos o bien y en este caso el tipo obvie que vamos a manejar
es la clase de persona que hemos definido anteriormente así que definimos una variable que va a almacenar
referencias a objetos de tipo personal.
Primero definimos la variable.
Sin embargo también podemos aprovechar esta misma línea para declarar en instancias un arreglo de tipo
o bien no es necesario definirlo en dos líneas.
Eso únicamente lo hicimos para que viéramos los pasos detallados en este caso primero declaramos la
variable después distanciamos y después asignamos valores.
En este caso podemos aprovechar para declarar e instancias así que podemos utilizar cualquiera de estas
dos sintaxis y en este caso declaramos la variable y también instancia nuestro arreglo así que definimos
un arreglo de tipo persona y en este caso vamos a indicar que vamos a tener cuatro elementos así que
se va a reservar espacio de memoria para cuatro objetos de tipo persona así que memória vamos a tener
lo siguiente tenemos nuestra memoria y estamos reservando espacio para cuatro objetos de tipo persona
así que ese sería el índice cero del arreglo.
El índice 1 2 y 3 y eso en total son nuestros cuatro elementos del objeto arreglo de tipo Persona que
estamos reservando.
Sin embargo internamente lo que va a suceder es lo siguiente
Lo que estamos declarando son objetos de tipo obvie.
Así que cada uno de estos elementos de arreglo realmente lo que va a almacenar es una referencia a un
objeto de tipo obvie.
Claro que esto va a suceder hasta que se le asigne la referencia.
Así que en este caso estamos definiendo que este arreglo va almacenar referencias de tipo persona el
valor por default si no indicamos otra cosa lo que va a almacenar es el valor de Nul ya que la referencia
por default de los objetos su valor por default es Null pero si le asignamos una nueva referencia a
alguno de los elementos por ejemplo en este caso al índice 0 realmente lo que va a suceder es que en
memoria va a estar apuntando a una referencia en memoria donde se va a crear un objeto de tipo personal.
Así que en este caso se va a crear un objeto de tipo Persona e internamente contiene este objeto.
El valor del nombre ya que la clase persona contiene el atributo de nombre y así sucesivamente cada
uno de estos índices va a estar apuntando a un objeto en memoria de tipo Persona no sabemos exactamente
dónde se van a almacenar pero por ello es que estos índices van a estar apuntando a una referencia en
memoria donde se van a estar creando estos objetos y si no se le asigna ninguna referencia de un nuevo
objeto entonces el valor que va a almacenar es nulo y vamos a ver esto como siguiente paso vamos a inicializar
los valores del arreglo en este caso no vamos a inicializar todos los valores vamos a poner a prueba
solamente dos de ellos así que utilizamos nuestra variable personas abrimos corchetes indicamos cuál
es el índice que queremos modificar.
Por ejemplo en este caso tenemos cuatro índices de 0 a 3 vamos a modificar el índice 0 y le vamos a
asignar una nueva referencia de un objeto que vamos a crear en memoria creamos el objeto de persona
y le asignamos el valor de Juan.
Así que con esto ya estamos asignando una referencia que va a almacenar el índice cero de este arreglo
y aquí se está creando el objeto cuya referencia en memoria se le va a asignar al índice cero de este
arreglo y posteriormente vamos a utilizar el índice 2 para almacenar otro objeto en este caso el valor
de Carla así que van a quedar con valores nulos las referencias en el índice 1 y en el índice 3 ya que
vamos de 0 a 3 en los índices de este arreglo así que nuestro arreglo quedaría como sigue.
Tenemos memoria que estamos reservando cuatro espacios para este arreglo para este objeto de tipo arreglo
y la variable que está apuntando a este arreglo se llama personas en plural y posteriormente tenemos
los índices 0 1 2 y 3 y posteriormente en los índices 0 y 2 respectivamente les estamos asignando un
nuevo objeto de tipo obvie así que nuestra memoria por un lado se está creando un nuevo objeto con el
atributo de Juan así que por algún lado de nuestra memoria se va a crear este objeto de tipo persona
con el atributo el nombre con el valor de Juan y esta referencia de memoria se le va a asignar al elemento
0 al índice 0 de nuestro arreglo.
Así que esta referencia en memoria se le va a asignar y va a estar apuntando el índice 0 a este objeto
con el nombre de Juan y en otra parte de nuestra memoria se va a crear otro objeto de tipo persona con
el nombre de Carla así que el atributo de nombre va a tener el valor de Carla y observamos que el índice
2 es el que va más CNAR.
Esta referencia y los demás espacios reservados para nuestro arreglo van a contener el valor de Null
ya que es el tipo por default para los tipos obvie.
Así que si recorremos cada uno de los elementos vamos a poder observar que en el elemento 0 en el índice
0 vamos a poder acceder a un objeto cuyo nombre es el valor de Juan en el índice 1 vamos a tener Null
en el índice 2.
Vamos a acceder a un objeto de tipo persona con el nombre de Carla y en el índice 3 vamos a tener el
valor de Null y si tratamos de acceder por ejemplo a un cuarto elemento ya estamos fuera del objeto.
Entonces nos va a marcar la excepción de Arrighi indexados bounds exception.
Como hemos visto anteriormente no podemos acceder a elementos fuera de este arreglo ya que nos va a
marcar una excepción así que vamos a imprimir estos valores
imprimimos el arreglo personas en el índice cero así que escribimos personas y posteriormente el índice
al cual queremos acceder y con esa línea básicamente estamos accediendo al índice cero de nuestro arreglo
el cual apunta al objeto creado en esta línea neo persona con el nombre de Juan.
Vamos a comprobarlo y debido a que la clase persona hemos definido el método string no es necesario
hacer nada más para observar el valor del objeto persona.
En este caso el valor de Juan guardamos cambios y ejecutamos así que de manera automática se va a mandar
a llamar.
El método string de nuestra clase persona y podemos observar que el arreglo de personas en el índice
cero estamos accediendo al objeto persona con el atributo de nombre igual a Juan vamos a hacer lo mismo
para los demás elementos
para los cuatro elementos y vamos cambiando el índice.
En este caso el índice 1 2 y 3 de igual manera de este lado movemos los índices 0 1 2 y 3 respectivamente
guardamos cambios y ejecutamos y podemos observar que en este caso el índice 0 está apuntando al objeto
cuyo nombre es igual a Juan.
El índice 1 tiene el valor de Null ya que en ningún momento le hemos modificado el valor por default.
El índice 2 apunta a un objeto cuyo nombre es igual a Carla.
Según realizamos en esta línea de código y finalmente el índice 3 también apunta al valor de Null ya
que en ningún momento le hemos modificado su valor por default.
Y si tratamos de acceder a un cuarto índice ya es un elemento fuera del arreglo entonces no va a encontrar
este objeto y por lo tanto nos va a mandar el error de array indexado bounds exception ya que el índice
4 está fuera de los elementos definidos para el arreglo cuyo largo es igual a cuatro elementos y esto
ya sería un quinto elemento bien así que con esto ya estamos probando el manejo de arreglos pero utilizando
tipos obvie.
En este caso un tipo persona bien vamos a poner entre comentarios esta línea para que no nos marque
error bien vamos a detener hasta aquí este vídeo y en el siguiente vídeo vamos a ver la anotación simplificada
para la creación de arreglos y también vamos a ver cómo recorrer un arreglo utilizando un ciclo.
Nos vemos en el siguiente vídeo.
Saludos.