Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hola, te saluda Ubaldo Acosta. Bienvenida o bienvenido nuevamente. Espero que estés listo para
comenzar con esta lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
Curso de Fundamentos de Java
Los paquetes en Java permiten organizar nuestras clases. Podemos pensar en los paquetes como cualquier
carpeta o folder que creamos para organizar documentos, archivos, fotos o cualquier tipo de información.
En Java lo que organizamos son clases, y básicamente nos permite agrupar clases ya sea por su función,
por herencia, o por cualquier característica que deseemos, lo importante es que tengamos una
organización de nuestras clases, ya que solo en la versión estándar de Java SE encontramos más de 4000
clases, y por lo tanto es importante definir la forma en que organizaremos nuestras clases.
De igual manera, un proyecto en Java suele tener cientos o miles de clases, por lo tanto debemos organizar
nuestras clases de la mejor forma, normalmente por la función que estas clases desempeñan en nuestro
programa.
Al tener tantas clases, es normal que existan clases con el mismo nombre, sin embargo como cada clase
pertenece a un paquete distinto, los paquetes también nos servirán para evitar problemas de nombres
entre clases. Por ejemplo existen muchas clases Date en la versión estándar de Java, y para poder
distinguir qué clase queremos utilizar debemos especificar el paquete Java donde se encuentra esta clase.
Más adelante veremos un ejemplo de cómo hacer uso de los paquetes, y cómo Java nos permite utilizar las
clases que pertenecen a dichos paquetes.
Otro de los usos de los paquetes es que limitan el acceso a los métodos o atributos de nuestras clases, ya
que se limita según los modificadores de acceso que se utilicen. Este concepto lo veremos a detalle en el
siguiente curso.
En la versión estándar de Java existen más de 4000 clases, por lo que ya existe un gran número de
paquetes definidos, además de los que nosotros definamos. Todas estas clases están disponibles para ser
utilizadas en nuestros programas Java, y más adelante veremos cómo podemos acceder a estas clases.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Curso de Fundamentos de Java
Podemos observar en el ejemplo que primeramente creamos una clase llamada Utileria, esta clase la
estamos agregando a un paquete llamado com.gm, pero puede ser cualquier nombre que deseen.
Una vez que hemos agregado una o más clases a este paquete, entonces creamos una clase en un paquete
distinto. En este caso creamos la clase EjemploPaquetes en el paquete por default de Java, es decir, en
ningún paquete. Cabe señalar que esta práctica no se recomienda, solo es para realizar el ejercicio. Java
recomienda que todas las clases que creemos deben estar dentro de en un paquete.
Ahora, para poder utilizar la clase Utileria definida en el paquete com.gm, lo que debemos hacer es utilizar
la palabra import, la cual la podemos utilizar de dos maneras, una es importando todas las clases usando el
*, o la otra es especificando el nombre de la clase, es decir: import com.gm.Utileria. Sin embargo esta
última opción nos obliga a hacer un import por cada clase que deseemos utilizar del paquete com.gm, y si
fueran muchas clases serian muchas líneas de código, por lo que en muchas ocasiones la notación import
com.gm.* es la más utilizada. Cabe mencionar que el import no afecta la memoria, ya que no es que se
carguen todas las clases de un paquete en memoria, una clase de carga en memoria hasta que se usa el
nombre de la misma dentro del programa y no antes.
Finalmente podemos ver cómo estamos utilizando el método estático llamado imprimir, el cual pertenece
a la clase Utileria. Observamos que ya no estamos indicando a qué paquete corresponde dicha clase, ya
que hemos hecho el import. Sin embargo si hubiera más de una clase llamada Utileria, podríamos eliminar
el import e inidicar en la línea de código donde vamos a utilizar la clase, directamente el paquete al cual
corresponde la clase, quedando com.gm.Utileria.imprimir(“Hola”); con esto sabríamos exactamente a qué
paquete corresponde la clase que estamos utilizando.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
Curso de Fundamentos de Java
Existen otros paquetes los cuales son también muy importantes, tales como el
paquete java.util, java.net, y java.awt, java.ui y java.applet, entre muchos paquetes
más. Conforme vayamos avanzando a lo largo del curso y cursos posteriores
estaremos estudiando varias de las clases de estos paquetes.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 7
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 8
Curso de Fundamentos de Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 9
www.gl obal mentoring.com .mx
Crear un programa para practicar en manejo paquetes en Java.
Al finalizar deberemos observar lo siguiente:
import com.gm.Utileria;
• https://docs.oracle.com/javase/tutorial/java/package/packages.html
Hola, te saluda nuevamente Ubaldo Acosta. Espero que estés listo para comenzar con esta
lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
Curso de Fundamentos de Java
La palabra final afecta no solamente a variables, sino también es posible utilizarlo en métodos y en clases. En cada
uno tiene un significado distinto que es lo que estudiaremos en esta lección.
En primer lugar veremos lo que implica utilizar la palabra final al definir una variable.
Es posible inicializar una variable final, pero una vez que se ha inicializado su valor, ya no es posible modificarlo, sin
embargo recordemos que las variables que almacenan referencias de objetos no contienen el valor en si del objeto,
sino solo de la referencia donde se ubica el mismo. Esto quiere decir que es posible cambiar el estado del objeto,
pero no la referencia almacenada en la variable que se creo indicando que es final. En pocas palabras se dice que la
palabra final es como crear una constante en Java, sin embargo debemos tomar en cuenta lo mencionado respecto a
los objetos.
Debido a que la palabra final es como crear una constante, es muy común que se combine con la palabra static para
poderla acceder directamente en lugar de crear una instancia de la clase para poder usar la variable final, en cambio
al definir una variable como public static y final podemos accederla directamente indicando el nombre de la clase y
posteriormente el nombre de la variable, y más aún, si agregamos el import static podemos utilizar directamente el
nombre de la constante como veremos más adelante. Un ejemplo muy común es el uso de la constante PI, la cual se
encuentra definida en la clase Math. Esta variable si viéramos su código está definida como public final y static, por
lo tanto podemos acceder escribiendo: Math.PI y esto nos regresará el valor de 3.1416…
Cuanto estamos hablando de utilizar la palabra final en la definición de un método, básicamente estamos diciendo
que una subclase no puede sobreescribir el comportamiento del método de la clase padre, es decir, que así como lo
hereda debe utilizarlo y no puede modificarlo. El tema de sobreescritura lo veremos a detalle en el siguiente curso.
Y finalmente, cuando hablamos de clases, cuando definimos una clase como final, lo que indicamos es que no se
puede crear clase que extienda de esta clase, es decir, no tendrá clases hijas. Es como indicar que esta será la última
clase en la jerarquía de clases para esta clase en particular.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Curso de Fundamentos de Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
www.gl obal mentoring.com .mx
Crear un ejercicio para poner en práctica el uso de la palabra
final. Al finalizar deberemos observar lo siguiente:
Hola, te saluda Ubaldo Acosta. Bienvenida o bienvenido nuevamente. Espero que estés listo para
comenzar con esta lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Curso de Fundamentos de Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
www.gl obal mentoring.com .mx
El objetivo es instalar BlueJ. Al finalizar deberemos observar lo
siguiente:
http://www.bluej.org/
//Variables Privadas
private String nombre;
private String apellido;
//Constructor vacio
public Persona() {}
http://www.bluej.org/
Hola, te saluda Ubaldo Acosta. Bienvenida o bienvenido nuevamente. Espero que estés listo para
comenzar con esta lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
CURSO DE FUNDAMENTOS DE JAVA
Por ejemplo, en la figura podemos observar dos arreglos, uno de tipo enteros y otro de tipos
Persona. Es decir, que podemos declarar arreglos que contengan cualquier tipo de datos, ya
sea de tipos primitivos o de tipo Object.
En el primer caso, el arreglo contiene 8 elementos (length), los cuales se numeran del
elemento 0 al elemento 7. Esto quiere decir que los arreglos en Java inician en el índice 0, y el
último elemento tendría el índice número de elementos menos uno.
Tenemos por otro lado el arreglo de tipo Persona, el cual contiene 7 elementos (length), y por
ello el índice va de 0 a 6, según se observa en la figura.
No todos los elementos del arreglo deben contener valores. Por ejemplo, si el arreglo de
enteros fuera de 10 elementos, pero solo tuviera 7 valores, los 3 últimos valores tendrían su
valor por default del tipo declarado, en este caso como es de tipo int, el valor por default para el
tipo int es 0.
En el caso del arreglo de tipo object si fuera de 10 elementos, y tuviera solo 5 objetos de tipo
persona definidos, entonces los 5 restantes su valor serial null, ya que ese es el tipo por default
para los tipo Object.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
CURSO DE FUNDAMENTOS DE JAVA
Básicamente es como declarar una variable excepto que vamos a utilizar los
corchetes [], los cuales se pueden utilizar en dos partes, ya sea antes del nombre
de la variable o después del nombre de la variable, por eso se muestran las dos
opciones en cada declaración.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
CURSO DE FUNDAMENTOS DE JAVA
Por ello, es importante saber que el índice cero es el primer elemento del arreglo, y el
último elemento de un arreglo lo podemos obtener con la propiedad length menos un
elemento, por ejemplo si escribimos: enteros.lenght -1 nos devolverá el último índice del
arreglo que podremos ocupar. Si nos pasamos del índice máximo y queremos agregar un
elemento fuera de la cantidad máxima de elementos nos arrojará un error, por ello
debemos saber cual es el máximo número de elementos con el código mencionado.
En esta lámina podemos observar más claramente que no siempre estarán llenos todos
los elementos de un arreglo, por ejemplo si el arreglo de enteros es de 10 elementos,
entonces sólo hemos llenado 2 de los 10 elementos disponibles, esto quiere decir que 8
elementos tendrán el valor por default, en este caso el valor de 0. Por ello en muchas
ocasiones será conveniente tener un contador para poder conocer cuántos elementos se
han inicializado en nuestro arreglo, lo cual es distinto al número de elementos máximo
que soporta nuestro arreglo.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 7
CURSO DE FUNDAMENTOS DE JAVA
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 8
CURSO DE FUNDAMENTOS DE JAVA
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 9
CURSO DE FUNDAMENTOS DE JAVA
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 11
Curso de Fundamentos de Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 12
Por el experto: Ing. Ubaldo Acosta
@Override
public String toString() {
return "Persona{" + "nombre=" + getNombre() + '}';
}
}
www.gl obal mentoring.com .mx
Archivo EjemploArreglos.java:
package ejemploarreglos; //Imprimimos los valores a la salida estandar
//4. leemos los valores de cada elemento del arreglo
import com.gm.dominio.arreglos.Persona; System.out.println("");
System.out.println("Arreglo personas indice 0: " + personas[0]);
public class EjemploArreglos { System.out.println("Arreglo personas indice 1: " + personas[1]);
System.out.println("Arreglo personas indice 2: " + personas[2]);
public static void main(String[] args) {
//1. Declaramos un arreglo de enteros //1. Arreglo de String, notación simplificada
int edades[]; String nombres[] = {"Sara", "Laura", "Carlos", "Carmen"};
//2. Instanciamos el arreglo de enteros //Imprimimos los valores a la salida estandar
edades = new int[3]; //2. Iteramos el arreglo de String con un for
//3. Inicializamos los valores del arreglo de enteros System.out.println("");
edades[0] = 30; for (int i = 0; i < nombres.length; i++) {
edades[1] = 15; System.out.println("Arreglo String indice " + i + ": " +
edades[2] = 20; nombres[i]);
}
//Imprimimos los valores a la salida estandar }
//4. leemos los valores de cada elemento del arreglo }
System.out.println("Arreglo enteros indice 0: " + edades[0]);
System.out.println("Arreglo enteros indice 1: " + edades[1]);
System.out.println("Arreglo enteros indice 2: " + edades[2]);
Hola, te saluda Ubaldo Acosta. Bienvenida o bienvenido nuevamente. Espero que estés listo para
comenzar con esta lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
CURSO DE FUNDAMENTOS DE JAVA
Otra estructura de datos en Java que podemos utilizar es una matriz. A diferencia
de un arreglo de una dimensión, una matriz podríamos verla como dos arreglos,
un arreglo maneja los renglones y otro arreglo las columnas, y al juntarlos
obtenemos una matriz. Sin embargo veremos que existen muchas cosas
similares con un arreglo, y una vez entendido el concepto de arreglo es más
sencillo entender el concepto de matriz.
De igual manera que un arreglo, no todos los elementos de una matriz deben
contener valores. Los valores que no tengan un valor asignado tendrán el valor
por default según el tipo de datos definido para la matriz.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
CURSO DE FUNDAMENTOS DE JAVA
Declarar una matriz es igual a declarar variables, podemos declarar matrices que
almacenen tipos primitivos o que almacenen referencias a objetos. En la lámina
mostramos ambos casos, primero mostramos dos ejemplos de tipo primitivo, uno de
tipo int y otro de tipo boolean. Posteriormente mostramos la declaración de dos
matrices que almacenarán referencias de objetos de tipo Persona y de tipo String.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
CURSO DE FUNDAMENTOS DE JAVA
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
CURSO DE FUNDAMENTOS DE JAVA
En la lámina podemos observar la inicialización de los elementos de una matriz. Lo que debemos hacer para ir
agregando elementos a una matriz, es seleccionar un renglón y una columna con los índices respectivos que
queremos ir inicializando.
Por ello, es importante saber que a diferencia de un arreglo, en una matriz utilizaremos dos índices para
determinar la posición de un elemento, y que los primeros índices tanto del renglón como de la columna inician
en cero. También es importante saber que cuando indicamos una posición primero se indica el renglón y
después la columna, siempre en ese orden. Por ejemplo, el primer elemento de una matriz será el elemento
[0][0] y el largo de una matriz realmente son dos, el primero lo determinaremos por el nombreMatriz.length lo
que nos regresa el largo de renglones, y posteriormente podemos saber el largo de las columnas
seleccionando cualquier renglón, por ejemplo: nombreMatriz[0].length.
Al igual que en un arreglo, sólo podemos agregar elementos hasta el máximo de elementos menos uno, por
ejemplo, si son renglones, seria nombreMatriz.lenght -1 y si fuera el máximo de columnas sería
nombreMatriz[i].lenght -1, donde i es el renglón que se está trabajando. Si nos pasamos del índice máximo
tanto en renglones o columnas y queremos agregar un elemento fuera de la cantidad máxima de elementos
nos arrojará un error, por ello debemos saber cual es el máximo número de elementos tanto en renglones
como en columnas.
Podemos observar en la lámina varios ejemplos de cómo agregar elementos a nuestra matriz. Podemos
agregarlos de manera manual, es decir, uno a uno cada elemento, o podemos ir agregando los elementos de
manera más dinámica utilizando dos contadores de elementos que han sido agregados, tanto para los
renglones como para las columnas, de tal forma que podamos saber si ya hemos llegado al límite de
elementos agregados o no.
En esta lámina podemos observar más claramente que no siempre estarán llenos todos los elementos de una
matriz, por ejemplo si la matriz de enteros es de 2 renglones por 2 columnas, entonces sólo hemos llenado 2
de los 4 elementos disponibles, esto quiere decir que 2 elementos tendrán el valor por default, en este caso el
valor de 0. Por ello en muchas ocasiones será conveniente tener contadores para poder conocer cuántos
elementos se han inicializado en nuestra matriz, lo cual es distinto al número de elementos máximo que
soporta nuestra matriz tanto en los renglones como en las columnas disponibles de la matriz.
En el ejercicio de esta lección veremos cómo inicializar los elementos de nuestras matrices.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
CURSO DE FUNDAMENTOS DE JAVA
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 7
CURSO DE FUNDAMENTOS DE JAVA
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 8
CURSO DE FUNDAMENTOS DE JAVA
Podemos observar que en este caso, todos los valores del arreglo están
inicializados, sin embargo si hubiera valores que no se hayan inicializado
su valor será el valor por default del tipo declarado, en el caso del arreglo
de tipo int el valor por default es 0 y en el caso del objeto tipo Persona su
valor por default será null ya que es un tipo Object.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 9
CURSO DE FUNDAMENTOS DE JAVA
Finalmente veremos un ejemplo con una matriz de tipo String utilizando la notación simplificada, y
aprovecharemos para mostrar cómo iterar los elementos de una matriz con la ayuda de un ciclo for
anidado. Un ciclo for anidado es simplemente un ciclo for dentro de otro ciclo for. En este caso
realizaremos esta anidación para poder recorrer cada uno de los elementos de la matriz.
En primer lugar vemos un ejemplo del uso de la notación simplificada (línea 6). En este caso es una
matriz de tipo String, y en la misma línea instanciamos la matriz e inicializamos los valores de la
misma. En este caso no hay que indicar el número de renglones o columnas que contendrá la matriz,
este número se obtendrá directamente del número de elementos que se agreguen en la inicialización
de la matriz. Cabe aclarar que en esta estructura de datos no es posible hacer más grande o más
pequeña la matriz una vez declarado o como en este caso una vez inicializado. Sin embargo veremos
en el siguiente curso el tema de colecciones, donde veremos estructuras como un ArrayList los cuales
son estructuras que pueden crecer dinámicamente.
Una vez que hemos definido cuántos elementos tendrá la matriz, podemos obtener el no. de
renglones y de columnas de nuestra matriz. Así que para comprobar estos valores, mandamos a
imprimir el número de renglones con el código nombres.length (línea 9), y el número de columnas con
el código nombres[0].length (línea 11). Por ello es posible combinar dos ciclos for, y utilizando dos
contadores, en este caso las variables i y j, iremos iterando cada uno de los elementos de la matriz.
El primer ciclo, el más externo recorre los renglones de la matriz, y el ciclo más interno recorre las
columnas de la matriz. Por ello en la salida de nuestra consola, observaremos que los primeros 3
valores el valor del índice del renglón se mantiene fijo, mientras que índice de la columna se va
moviendo hasta que se acaba de iterar las columnas para ese renglón seleccionado. El fin del ciclo
más interno será cuando hayamos iterado todas las columnas para el renglón seleccionado, según la
condición del ciclo for interno: j < nombres[i].length (línea 16). Recordemos que la variable i controla
los renglones, y la variable j controla las columnas. Finalmente el ciclo más externo se detendrá
cuando se hayan revisado todos los renglones de la matriz, según la condición del ciclo for externo: i
< nombres.length (línea 15). Con esto habremos iterado todos los renglones, así como cada
columna de cada renglón seleccionado, y por consiguiente todos los elementos de la matriz.
Veremos más adelante la ejecución de este código para poner en práctica estos conceptos.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 10
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 11
Curso de Fundamentos de Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 12
Por el experto: Ing. Ubaldo Acosta
@Override
public String toString() {
return "Persona{" + "nombre=" + getNombre() + '}';
}
}
www.gl obal mentoring.com .mx
Archivo EjemploMatrices.java:
package ejemplomatrices;
//3. leemos los valores de cada elemento de la matriz con un ciclo for
import com.gm.dominio.matrices.Persona; anidado
System.out.println("");
public class EjemploMatrices { for (int i = 0; i < personas.length; i++) {
for(int j= 0; j < personas[i].length; j++){
public static void main(String[] args) { System.out.println("Matriz personas indice : " + i + "-"+ j + ": " +
//1. Declaramos una matriz de enteros personas[i][j]);
int edades[][]; }
//2. Instanciamos la matriz de enteros }
edades = new int[3][2];
//3. Inicializamos los valores de la matriz de enteros //1. Matriz de tipo String, notacion simplificada
edades[0][0] = 30; String nombres[][] = {{"Teresa", "Cesar", "William"},{"Yesenia", "Esteban",
edades[0][1] = 15; "Maria"}};
edades[1][0] = 20; System.out.println("");
edades[1][1] = 45; System.out.println("largo matriz renglones:" + nombres.length);
edades[2][0] = 5; //Seleccionando cualquier renglon valido nos regresa el no. de columnas
edades[2][1] = 38; System.out.println("largo matriz columnas:" + nombres[0].length);
//Imprimimos los valores a la salida estandar //Imprimimos los valores a la salida estandar
//4. leemos los valores de cada elemento de la matriz //2. Iteramos la matriz de String con un for anidado
System.out.println("Matriz enteros indice 0-0: " + edades[0][0]); System.out.println("");
System.out.println("Matriz enteros indice 0-1: " + edades[0][1]); for (int i = 0; i < nombres.length; i++) {
System.out.println("Matriz enteros indice 1-0: " + edades[1][0]); for(int j= 0; j < nombres[i].length; j++){
System.out.println("Matriz enteros indice 1-1: " + edades[1][1]); System.out.println("Matriz String indice : " + i + "-"+ j + ": " +
System.out.println("Matriz enteros indice 2-0: " + edades[2][0]); nombres[i][j]);
System.out.println("Matriz enteros indice 2-1: " + edades[2][1]); }
}
//1. Declaramos e instanciamos una matriz de personas }
Persona personas[][] = new Persona[3][2]; }
//2. Inicializamos los valores de la matriz de personas
personas[0][0] = new Persona("Juan");
personas[0][1] = new Persona("Armando");
personas[1][0] = new Persona("Karla");
personas[1][1] = new Persona("Laura");
personas[2][0] = new Persona("Pedro");
personas[2][1] = new Persona("Javier");
www.gl obal mentoring.com .mx
Ejecutamos el proyecto:
Hola, te saluda nuevamente Ubaldo Acosta. Espero que estés listo para comenzar con esta
lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
Curso de Fundamentos de Java
En Java normalmente crearemos más de una clase con el objetivo de crear sistemas funcionales, por ejemplo algún
sistema que procese ventas en alguna tienda o por internet, o un sistema de facturación, contabilidad, o cualquier
sistema de propósito general. Cuando creemos clases que se interrelacionen lo conoceremos como el diseño de
clases.
Con Java es posible crear cualquiera de estos sistemas, ya que es un lenguaje de propósito general. De esta manera
cubrir los requerimientos solicitados por nuestros usuarios, que son las personas o entidades que utilizarán e
interactuarán con nuestro sistema. La idea de este curso es brindar las bases de la sintaxis y conceptos de Java más
fundamentales que nos permitirán ir creando y entendiendo este tipo de sistemas.
En la lámina estamos mostrando la relación entre dos clases, las cuales se encuentran en un paquete llamado:
com.gm.ventas. Las clases están relacionadas por una relación en UML (Unified Modeling Language) que se conoce
como relación de agregación. Esta relación indica que una clase Orden contiene Productos. Una orden es un ticket
de venta, el cual tiene el resumen de todos los productos que se van a vender para una orden en particular.
Por ello la clase Orden contiene los métodos de agregarProducto, calcularTotal (de la orden), y mostrarOrden, este
último método su objetivo es mostrar el Id de la orden, el monto total de la orden, así como cada uno de los
productos agregados a la orden. Para almacenar varios productos, la clase Orden tiene como atributo un arreglo de
productos, y de esta manera podremos agregar varios productos a una orden, con ayuda del método
agregarProducto.
La clase Producto contiene tres atributos: idProducto, nombre y precio del producto, por medio de estos atributos
podremos identificar fácilmente a un producto.
Finalmente tenemos la clase con la que realizaremos las pruebas de que todo función correctamente. La clase
Ventas dentro del paquete ventas, es donde crearemos los objetos Orden y Producto y utilizaremos los métodos
respectivos para probar que funciona correctamente nuestro código.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Curso de Fundamentos de Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Curso de Fundamentos de Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
www.gl obal mentoring.com .mx
Con este ejercicio pondremos en práctica el concepto de diseño
de Clases en Java. Al finalizar observaremos lo siguiente:
//Imprimimos la orden
orden1.mostrarOrden();
www.globalmentoring.com.mx
www.globalmentoring.com.mx
Por: Ing. Ubaldo Acosta
www.globalmentoring.com.mx
CURSO DE PROGRAMACIÓN CON JAVA
Hola, te saluda Ubaldo Acosta. Bienvenidos nuevamente a este curso de Programación con Java.
En esta primera lección vamos a revisar la sintaxis básica, la cual estudiamos a detalle en el curso
anterior, esto es sólo un breve repaso para que comencemos a calentar motores. Veremos desde
la definición básica de una Clase, hasta como instanciar objetos en Java, entre ejemplos de
sintaxis más.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
CURSO DE PROGRAMACIÓN CON JAVA
En primer lugar especificamos el paquete al cual pertenece la clase. Un paquete básicamente es como una carpeta que
agrupa varias clases que tienen algo en común, normalmente se agrupan las clases por su funcionalidad.
Posteriormente, si es necesario, realizamos los import de las clases que vayamos a utilizar. Recordemos que hay import de
clases, o también import static los cuales importan atributos o métodos estáticos para ser utilizados directamente en nuestro
código .
Después indicamos el nombre de nuestra clase. Recordemos que en un archivo sólo puede declararse una clase de tipo
public, y esta debe llamarse exactamente igual que el nombre del archivo que tiene extensión .java, sin embargo pueden
existir más clases en un mismo archivo, las cuales ya no son publicas, sino solo clases definidas dentro del mismo archivo.
Seguido al nombre de la clase, definimos los atributos de la clase. El orden de los elementos no afecta a la clase, ya que si
recordamos el diagrama de dona de un objeto, podemos entender que los atributos y métodos se pueden definir en cualquier
parte dentro de la clase, pero como una buena práctica se recomienda hacerlo en el orden mostrado. Los atributos pueden ser
de cualquier tipo de dato que ya hemos estudiado previamente, además de contener varios modificadores, como los
modificadores de acceso, o static, final entre varios más que estudiaremos más adelante.
Posterior a los atributos se recomienda declarar los constructores, de igual manera el orden no afecta, pero es una buena
práctica definirlos después de los atributos de nuestra clase. Pueden existir varios constructores, tanto privados como públicos,
con varios argumentos o sin argumentos. Si no definimos un constructor, entonces el compilador en automático agrega el
constructor vacío para que se puedan crear objetos de la clase que definimos. Si se define algún constructor distinto al vacío,
entonces el compilador ya no agrega el constructor vacío a nuestra clase, y se deberá utilizar alguno de los constructores
definidos para crear un objeto de la clase definida.
Finalmente definimos los métodos de nuestra clase, pueden existir de varios tipos, como son simples métodos de tipo get o set
para las propiedades de la clase, o métodos estáticos, públicos, privados, etc. Todo depende de la funcionalidad que
necesitemos del método definido. Esto se conoce como la interfaz del método, y no tienen nada que ver con el tema de
interfaces que veremos más adelante. La interface de una clase tiene que ver con los métodos que tenemos disponibles para
ser utilizados en una clase.
Con esto a grandes rasgos tenemos un resumen de la creación de clases en Java. Recordemos que hay varios temas más,
como el concepto de herencia y más temas, pero dejemos simple la estructura básica de la clase para comenzar a estudiar
otros temas, y en su momento retomaremos cada uno de los temas estudiados en el curso anterior, así como los nuevos
temas incluidos en este curso.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
CURSO DE PROGRAMACIÓN CON JAVA
Las clases, así como los métodos tiene un inicio y un fin, el símbolo que se utiliza
para marcar el inicio y el fin son las llaves { }. Esto se conoce como bloque de
código, incluso existen bloques de código anónimos que no tienen ningún
nombre, esto lo estudiaremos más adelante.
Por ejemplo si una variable se declara dentro del método main, únicamente
existirá durante la ejecución de este método, y terminará de existir cuando este
bloque de código termine, es decir, cuando la ejecución del método main termine.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
CURSO DE PROGRAMACIÓN CON JAVA
Veamos ahora el tema de convenciones. Una convención es un acuerdo, por lo que debemos entender que el compilador no
arrojará ningún error o nos indicará que hace falta corregir o cambiar algo. Por ello esto lo debemos tomar como buenas
prácticas y es finalmente el equipo de trabajo el que definirá las convenciones a utilizar en el código que creemos. Sin
embargo estas son algunas convenciones generales que les sugerimos seguir con el objetivo que su código sea más legible y
entendible tanto para nosotros como para nuestro equipo de trabajo del proyecto respectivo.
- Las clases son sustantivos, un sustantivo es básicamente el nombre que le damos a una persona o cosa. Puede existir
físicamente o ser algo abstracto, como un concepto creado. Por ello el nombre que le demos a nuestras clases serán
sustantivos, y el nombre deberá seguir algunas convenciones. La primera letra debe estar escrita en mayúsculas, y
posteriormente utilizar la notación de camello. Esta notación quiere decir que si nuestra clase utiliza dos nombres, debemos
unirlos, sin separación y cada palabra debe iniciar en mayúsculas, por ejemplo. TarjetaCredito.
- Los métodos deben ser verbos, y la primer letra debe ser escrita en minúscula, y posteriormente utilizar la notación de
camello, por ejemplo: retirarDinero(), o cambiarEstado(), etc.
- Las variables deben ser breves pero con significado sustancial, por ejemplo fecNacimiento, sin embargo es preferible no
abreviar demasiado sus nombres de tal modo que con solo leer el código podamos entender el uso de la variable definida.
Variables con una sola letra deben ser evitadas, excepto cuando sean variables que se ejecutan en un bloque de código
pequeño y de manera temporal, como puede ser un ciclo for al definir la variable i que sirve de contador para la iteración de
este ciclo.
- Las constantes, que son las variables definidas con la palabra final, deben estar escritas en mayúsculas y si se utiliza más de
una palabra cada palabra debe estar separada por un guio bajo.
- La identación significa el uso de espacios en blanco o saltos de línea con el objetivo de hacer nuestro código más sencillo de
leer y por consiguiente más sencillo de hacer modificaciones. Por ello los métodos se identarán según la lámina descrita, es
decir, se abre la llave del bloque de código al terminar el método, y al finalizar la última línea del método se agregará en la
línea siguiente el cierre de la llave del método respectivo.
Para más información de las convenciones en Java, se creó un documento, el cual puede ver en el siguiente link:
http://icursos.net/cursos/ProgramacionJava/Leccion02/doc/convencionesJava.pdf
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
CURSO DE PROGRAMACIÓN CON JAVA
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
Curso de Programación con Java
Hola, te saluda Ubaldo Acosta. Bienvenida o bienvenido nuevamente. Espero que estés listo para
comenzar con esta lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
CURSO DE PROGRAMACIÓN CON JAVA
Java permite documentar nuestras clases por medio de JavaDoc, el cual es un documento HTML que muestra la
documentación de cada una de las clases de un proyecto Java.
Podemos observar que a diferencia de los comentarios normales de Java, para que nuestros comentarios sean un comentario
que sea incluido en el documento HTML generado, es necesario que los comentarios tengan la forma:
/**
* Comentario JavaDoc
*/
Y de esta manera se pueda ir documentando ya sea la clase (antes de la declaración de la misma), un atributo, un constructor
o un método.
En la lámina se muestran varios ejemplos de cómo documentar cada una de las secciones de nuestra clase.
Podemos observar también que se pueden utilizar algunos elementos para indicar algunas características más de la
documentación, como @autor, @version, @return, o más. En la siguiente lámina veremos estos elementos.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Curso de Fundamentos de Java
En la tabla mostrada podemos observar los elementos que se pueden utilizar al momento de
documentar nuestras clases.
Cada uno de los elementos descritos tiene una breve descripción para que tengamos
conocimiento de qué significa y en el ejercicio de esta lección veremos algunos ejemplos del uso
de varios de estos elementos.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Curso de Programación con Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
Curso de Programación con Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
www.globalmentoring.com.mx
Crear un programa para practicar en manejo de JavaDoc en
Java. Al finalizar deberemos observar lo siguiente:
www.globalmentoring.com.mx
Vamos a crear el proyecto EjemploJavaDoc:
www.globalmentoring.com.mx
( )
Vamos a crear el proyecto EjemploJavaDoc:
www.globalmentoring.com.mx
( )
Vamos a crear el proyecto EjemploJavaDoc:
www.globalmentoring.com.mx
Vamos a crear una nueva clase:
www.globalmentoring.com.mx
( )
Vamos a crear una nueva clase:
www.globalmentoring.com.mx
Archivo Aritmetica.java: Dar click para ir
package com.gm.javadoc;
/**
* Esta clase permite realizar operaciones de aritmetica como sumar, restar, etc
al código
*
* @author: Ubaldo Acosta
* @version: 1.0
*/
public class Aritmetica {
/**
* Primer Operando
*/
int operandoA;
/**
* Segundo operando
*/
int operandoB;
/**
* Constructor de la clase
* @param a Recibe el valor para el operando A
* @param b Reciboe el valor para el operando B
*/
public Aritmetica(int a, int b) {
this.operandoA = a;
this.operandoB = b;
}
/**
* Este metodo realiza la suma de dos operandos enteros
* @return int resultado de la suma
*/
public int sumar(){
return operandoA + operandoB;
}
}
www.globalmentoring.com.mx
Archivo EjemploJavaDoc: Dar click para ir
/*
* Derechos reservados GlobalMentoring.com.mx
*/
al código
package ejemplojavadoc;
import com.gm.javadoc.Aritmetica;
/**
* Clase para probar el concepto de JavaDoc
* @author Ubaldo Acosta
* @version 1.0
*/
public class EjemploJavaDoc {
/**
* Metodo que ejecuta la prueba de la clase Aritmetica
* @param args argumentos de la linea de comandos
*/
public static void main(String[] args) {
int resultado = new Aritmetica(3, 2).sumar();
System.out.println("resultado:" + resultado);
}
}
www.globalmentoring.com.mx
Ejecutamos nuestro proyecto. Damos click derecho -> Run:
www.globalmentoring.com.mx
( )
El resultado es como sigue:
www.globalmentoring.com.mx
www.globalmentoring.com.mx
www.globalmentoring.com.mx
• Con este ejercicio hemos puesto en práctica en concepto de
JavaDoc.
www.globalmentoring.com.mx
Por: Ing. Ubaldo Acosta
www.globalmentoring.com.mx
CURSO DE PROGRAMACIÓN CON JAVA
Hola, te saluda nuevamente Ubaldo Acosta. Espero que estés listo para comenzar con esta
lección..
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
CURSO DE PROGRAMACIÓN CON JAVA
Ya hemos visto el tema de parámetros, pero ¿Qué pasa cuando queremos pasar varios parámetros del
mismo tipo a una función?. Una forma sería pasarlos como un arreglo, sin embargo, como sabemos para
ello necesitamos conocer el numero de elementos que tendrá dicho arreglo.
Una forma de lograr enviar parámetros de una manera sencilla e indirectamente crear este arreglo de
parámetros, es utilizando el concepto de varargs, que básicamente son argumentos variables.
Existen varias reglas para usar varargs, una de ellas es que los elementos que se envían, al convertirse al
final en un arreglo, deben ser del mismo tipo.
Además, para indicar que se trata de un argumento variable se debe agregar tres puntos (…) después del
tipo de datos que va a recibir el argumento.
Como se observa en la lámina hemos creado una función llamad imprimirNumeros, la cual recibe un
argumento llamado números, y para definir que es un tipo de argumentos variables hemos agregado los
tres puntos después del tipo de dato.
Posteriormente desde el método main, lo que hemos hecho es mandar a llamar este método indicando un
número de parámetros de tipo entero, pero sin preocuparnos por el número de elementos que estamos
enviando al método imprimirNumeros. Esta es precisamente la característica de varargs, la cual crear un
arreglo con el largo de elementos al recibir todos los elementos enviados al método.
Una vez que el método imprimirNumeros recibe todos los elementos, crear un arreglo del tipo indicado, y
ya podemos recorrer cada uno de los elementos tal como sabemos que debemos recorrer un arreglo de
una dimensión.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
CURSO DE PROGRAMACIÓN CON JAVA
En la lámina anterior hemos utilizado un ciclo for para iterar cada uno de los elementos del
arreglo vararg, sin embargo existe una notación simplificada del ciclo for llamada forEach, la cual
podemos utilizar para iterar arreglos o colecciones, las cuales estudiaremos más adelante.
Sin embargo queremos mostrarles como simplificar la iteración de los elementos de un arreglo
utilizando el concepto de forEach. Básicamente lo que hacemos es declarar un ciclo for, pero a
diferencia de un ciclo for normal, el cual tiene 3 elementos a declarar, un ciclo forEach, solo tiene
dos elementos a declarar, que es la variable que va a recibir cada uno de los elementos del
arreglo, y el arreglo que se va a iterar.
Java internamente se encargará de hacer la iteración respectiva y dentro del bloque forEach lo
que usaremos es la variable que contendrá cada uno de los elementos del arreglo por cada
iteración.
La única desventaja es que si necesitamos conocer el índice del elemento que se está iterando de
este ciclo for, esta sintaxis no nos servirá, ya que en ningún momento se ha declarado un
contador que nos ayude a saber cual es el elemento que se está iterando, ya que el ciclo forEach
únicamente nos regresa el elemento iterado, pero no el índice que se está iterando.
Ese sería el único inconveniente a tener en cuenta, por lo demás vemos claramente cómo la
sintaxis es más limpia y menos propensa a errores, ya que no necesitamos declarar varios
elementos para iterar un arreglo, por lo que es más simple y más seguro utilizar esta notación
para recorrer los elementos de un arreglo.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
CURSO DE PROGRAMACIÓN CON JAVA
En esta lámina básicamente explicaremos un regla más del uso de varargs, la cual
indica que si vamos a utilizar el concepto de varargs, es necesario que sea el último
de los argumentos declarados, de esta manera al manda a llamar la función, no
habrá confusión para el compilador, por que en cuanto detecte que comienza el
tipo de datos del tipo vararg definido, es que comenzará a crear el arreglo de
elementos enviados a la función.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
Curso de Programación con Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
CURSO DE PROGRAMACIÓN CON JAVA
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 7
www.gl obal mentoring.com .mx
Crear un programa para poner en práctica el uso de
argumentos variables en Java (varargs). Al finalizar deberemos
observar lo siguiente:
Hola, te saluda Ubaldo Acosta. Bienvenida o bienvenido nuevamente. Espero que estés listo para
comenzar con esta lección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
Curso de Programación con Java
Los tipos enumerados son un tipo especial de clase, el cual nos permite
asociar una serie de valores de tipo final, es decir que son constantes. Por
ejemplo podemos observar el la lámina las constantes de los días de la
semana.
Vemos que es como crear una clase de Java, solo que en lugar de la
palabra class, utilizamos la palabra reservada enum.
Asi que podemos utilizar una clase de tipo enumeración cada vez que
necesitemos declarar una serie de valores constantes y que conozcamos
previamente, como los días de la semana, los puntos cardinales, el
conjunto de planetas, continentes, y en si cualquier conjunto de datos
que son constantes.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Curso de Programación con Java
Una vez que hemos definido nuestro tipo enumeración podemos utilizarlo como se
ve en la lámina.
Sin embargo no es su único uso, podemos utilizar una enumeración para comprobar
algunos de los casos de una estructura switch, la cual sabemos que seleccionará
alguno de los casos según coincida con la entrada de la sentencia switch.
Y dentro del switch en cada uno de los casos podemos especificar los valores ya sin
especificar el nombre de la enumeración, sino simplemente indicando la constante
de la enumeración, por ejemplo case LUNES, o case MARTES, etc.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Curso de Programación con Java
Sin embargo el tipo enumeración es más complejo que eso. Podemos además de definir simples valores
constantes, valores a cada una de las constantes.
Para ello debemos crear un constructor para inicializar cada uno de los valores asociado a cada constante.
Por ejemplo en el código podemos observar que estamos creando una enumeración de los continentes
existentes, sin embargo nos interesaría indicar el número de países existentes por cada continente.
Para ello cuando definimos cada constante de la enumeración, podemos proporcionar los valores que
deseemos separados por comas, en este caso es sólo un valor entero el que estamos proporcionado, el
cual significa el número de países por cada continente que declaramos.
Sin embargo para poder crear este tipo de enumeraciones más complejas, necesitamos crear un
constructor para poder crear cada uno de los elementos de la enumeración, y además los atributos que se
asociarán con los valores proporcionados por cada constante de la enumeración.
Por ello vemos en el código, que no basta con crear las constantes de la enumeración, sino que debemos
además declarar el atributo países de tipo entero, y posteriormente declaramos un constructor, el cual se
llamará de manera automática por cada uno de los elementos de la enumeración.
Y finalmente, debido a que cada uno de los elementos de la enumeración contiene definido el numero de
países, es posible declarar un método getPaises para recuperar precisamente el atributo países declarado
en el tipo enumeración.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
Curso de Programación con Java
Con esto podemos observar que el uso del tipo enumeraciones puede ser más
completo que simplemente asociar algunas constantes, sino que también podemos
definir atributos y por tanto agregar métodos para recuperar los atributos para cada
una de las constantes definidas de una enumeración.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
Curso de Programación con Java
El método values se agrega por default cada que creamos una enumeración. El
objetivo de este método es que nos regrese una lista de cada una de las constantes
definidas en una enumeración.
Una vez que estamos iterando cada uno de los elementos, tenemos la variable c
para recuperar el atributo de la constante que estamos iterando, por ello podemos
pedir el método c.getPaises para recuperar el número de países del continente
seleccionado y si queremos imprimir el continente que estamos iterando
simplemente usamos la variable c definida en el ciclo forEach.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 7
Curso de Programación con Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 8
Curso de Programación con Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 9
www.globalmentoring.com.mx
Crear un programa para practicar el uso de enumeraciones en
Java. Al finalizar deberemos observar lo siguiente:
www.globalmentoring.com.mx
Vamos a crear el proyecto:
www.globalmentoring.com.mx
Agregamos una clase al proyecto:
www.globalmentoring.com.mx
Archivo Dias.java:
package ejemploenumeraciones;
www.globalmentoring.com.mx
Agregamos una clase al proyecto:
www.globalmentoring.com.mx
Archivo Continentes.java:
package ejemploenumeraciones;
AFRICA(53),
EUROPA(46),
ASIA(44),
AMERICA(34),
OCEANIA(14);
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
www.globalmentoring.com.mx
Por: Ing. Ubaldo Acosta
www.globalmentoring.com.mx
CURSO DE PROGRAMACIÓN CON JAVA
Hola, te saluda nuevamente Ubaldo Acosta. Espero que estés listo para comenzar con esta
lección..
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
Curso de Programación con Java
Un bloque de código en Java básicamente es cualquier parte de código que inicia con llaves y termina con
llaves { }.
Cualquier contenido dentro de estas llaves se conoce como un bloque de código. Sin embargo, existen
bloques de código anónimo, y a diferencia de los bloques que hemos utilizado por ejemplo para crear una
clase o un método, los bloques anónimos nos permiten comúnmente inicializar variables de la clase. Estos
bloques llamados inicializadores pueden iniciar dos tipos de variables, ya sea de instancia o de tipo static.
Para declarar un bloque de tipo anónimo e inicializar variables de instancia podemos ver el ejemplo en el
código mostrado.
Podemos observar cómo de las líneas 4 a 7 se ha declarado un bloque de inicialización anónimo, cuyo
objetivo es que este código se ejecute antes de la ejecución de nuestro constructor, de hecho este bloque
de código se copia a cada constructor y se ejecuta antes de la ejecución de cada constructor.
Por ello en la salida de código (output), pordemos observar que primero se ve en consola el mensaje
“Ejecuta bloque inicializador” y posteriormente se observar el mensaje “Ejecuta Constructor”. Y vemos
también que se ha asignado correctamente el valor del idPersona con ayuda de la variable estática
contadorPersonas.
Recordemos que en primer lugar se crean las variables estáticas, y posteriormente las variables dinámicas
o atributos de clase, es por ello que en la línea 6 es posible utilizar la variable estática.
Con esto hemos visto cómo utilizar un bloque de código anónimo, el cual utilizamos para inicializar algunos
elementos de nuestras clases. Este tipo bloques de código los veremos en algunas ocasiones en los clases
Java, y ya podemos entender cómo funciona este tipo de bloques de código.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
Curso de Programación con Java
Ahora veremos cómo inicializar las variables estáticas de nuestro código por medio de un bloque
de código anónimo y estático.
Similar a como vimos en la lámina anterior, es posible utilizar un bloque de código anónimo para
realizar tareas de inicialización de variables estáticas. Para ello declaramos un bloque de código
con la única diferencia que debemos anteponer la palabra static y posteriormente abrir y cerrar
las llaves { }.
Dentro de este bloque de código podemos agregar código estático, es decir, variables estáticas.
Como observamos en el código observamos que podemos cambiar el valor de la variable estática
contadorPersonas (línea 7), ya que no siempre tendremos disponible el valor que deseamos
asignar al momento de declarar nuestras variables, y en este tipo de bloques de código es que
podemos agregar una lógica más compleja para inicializar nuestras variables estáticas en Java.
Y aquí podemos observar y concluir lo mismo que estudiamos en la lección de contexto estático.
Podemos ver en la salida (output) que primero se ejecuta el bloque estático, y posteriormente los
bloques no estáticos, es decir el bloque inicializador y finalmente el constructor de la clase.
Con esto podemos entender cómo se van combinando los bloques de código para ir inicializando
y construyendo nuestras clases Java, desde variables, bloques de código de inicialización y
constructores. Con esto ya tenemos un mayor entendimiento de la construcción de nuestras
clases.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Vamos a ver un ejemplo del uso de bloques de código.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 4
Curso de Programación con Java
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
Curso de Programación con Java
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
Además agregamos nuevos cursos para que continúes con tu preparación como programador Java
profesional. A continuación te presentamos nuestro listado de cursos:
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
www.gl obal mentoring.com .mx
Crear un ejercicio del uso de bloques de código. Al finalizar
deberemos observar lo siguiente:
Persona() {
System.out.println("Ejecuta Constructor");
}
}
}
www.gl obal mentoring.com .mx
Archivo BloquesCodigo.java:
package bloquescodigo;
Hola, te saluda Ubaldo Acosta. Bienvenidos nuevamente a este curso de Programación con Java.
Comencemos de inmediato.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 2
CURSO DE PROGRAMACIÓN CON JAVA
Además del ciclo for que ya conocemos, en el cual se debe indicar el número
de elementos a iterar, así como tener control de un contador, es posible
utilizar un ciclo for conocido como ciclo for extendido o for each. Esta es una
sintaxis resumida para iterar los elementos de un arreglo o colección de
datos.
Este ciclo for each permite iterar más fácilmente los elementos de un arreglo
o colección ya que evita errores al evitar la declaración de contadores para
recorrer el arreglo. Con este ciclo podemos iterar arreglos de cualquier tipo
de datos, ya sean tipos primitivos o tipo Object.
La sintaxis que se utiliza es muy simple, solo debemos especificar una variable
del tipo de dato del arreglo, la cual es utilizará para ir almacenando uno a uno
los elementos del arreglo o colección, y por otro lado proporcionamos el
nombre del arreglo o colección que deseamos iterar. Con ello ya podremos
acceder directamente uno a uno los elementos del arreglo o colección.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 3
CURSO DE PROGRAMACIÓN CON JAVA
En este código podemos observar que es posible trabajar también con tipos
object, como por ejemplo, el tipo Persona con el que ya hemos trabajado
anteriormente.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 5
CURSO DE PROGRAMACIÓN CON JAVA
En Global Mentoring promovemos la Pasión por la Tecnología Java. Te invitamos a visitar nuestro
sitio Web donde encontrarás cursos Java Online desde Niveles Básicos, Intermedios y Avanzados,
y así te conviertas en un experto programador Java.
© Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 6
Por el experto: Ing. Ubaldo Acosta
Persona(String nombre){
idPersona = ++contadorPersonas;
this.nombre = nombre;
}
System.out.println("");
//Creamos un arreglo de enteros
int[] edades = {15, 20, 41, 50};
//Iteramos el arreglo
for(int edad : edades){
System.out.println("Edad:" + edad);
}
}
}