Módulo 1 Unidad 1
Módulo 1 Unidad 1
Java Básico
(24 horas)
2
Objetivos del curso
• Utilizar la sintaxis de la versión actual del lenguaje Java
• Utilizar los diversos paquetes que ofrece Java.
• Aplicar los conceptos de la Programación Orientada a
Objetos (POO) con Java.
• Desarrollar programas que manejen excepciones
• Escribir colecciones de objetos de acuerdo a las
características que ofrece cada tipo.
• Escribir aplicaciones concurrentes con hilos.
3
Unidades del curso
1. Fundamentos del lenguaje Java
2. Programación Orientada a Objetos
3. Paquetes útiles, interfaces y excepciones
4. Colecciones e Hilos
4
Unidad 01
Fundamentos del lenguaje Java
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
License de JDK
https://www.oracle.com/java/technologies/javase/jdk-faqs.html
http://www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf
Open JDK
https://jdk.java.net
Open JDK versión 11
https://jdk.java.net/java-se-ri/11
https://www.eclipse.org/ide/
Tema 2:
El lenguaje de programación Java
• () encerrar argumentos
• {} bloque de código,iniciar arrelo
• [] definir y accesar arreglos
• ; fin de sentencia
• , separar argumentos o variables
• . uso en paquetes,acceso a objetos
• : uso en label o etiquetas
Secuencias de Escape
Tipo Ejemplo
\t Tabulación
\n Nueva línea
\f Alimentación de Impresora
\r Retorno de carrete (nueva línea en
impresora)
\” Comillas dobles
\’ Comilla simple
\\ División inversa (backslash)
¿Qué es una variable?
}
}
Constantes
• Tipos
• Unitario
• Binario
• Aritmético
• Comparación
• Asignación
• Condicional
• Manipulación de Bits
• Booleano
Operadores Aritméticos
Operador Ejemplo
+ (Unitario) +costo; //cambio de signo
+ (Binario) a + b;
- (Unitario) -costo; //cambio de signo
- (Binario) ingresos – egresos;
++ (Unario) productos++;
-- (Unario) --almacen;
Operadores Aritméticos
Operador Ejemplo
* a * b;
/ a / b;
% a % 2;
Operadores de Comparación
Operador Ejemplo
< ganancia < 0;
<= ganancia <= 0;
> ventas > 50;
>= ventas >= 50;
== ganancia == 0;
!= ganancia != 0;
instanceof nombre instanceof String;
/* nombre es un objeto de tipo
String? */
Operadores de Asignación
Operador Ejemplo
= suma = a+b;
+= suma += b;
-= suma -= b;
*= b *= a;
/= suma /= b;
%= suma %= b;
Operador Condicional
Operador Ejemplo
?: +costo; //cambio de signo
Operador Ejemplo
~ NOT
& AND
| OR
^ XOR
5 | 14 se resuelve
8421 5 es 0101
14 es 1110
resultado es 1111
Operadores Booleanos
Operador Ejemplo
! !true;
&& true && false;
|| true || false;
Precedencia de Operadores
() , [] , . , ++(sufijo) , --(sufijo)
+(unitario) , -(unitario) , ++(pre) , --(pre) , ~ , !
(tipo) , new
*,/,%
+,-
< , <= , > , >= , instanceof
== , !=
Precedencia de Operadores
&
^
|
&&
||
?:
= , += , -= , *= , /= , %=
Condicionales
if (expression){
statement(s)
}
Bloques para Código
Propósito:
• Requeridas cuando múltiples sentencias son controladas
por algún control de flujo como IF.
if (expression) {
statement(s)
}
IF-ELSE
• Else significa “en caso contrario”
• Es usada siguiendo a un control IF
if (expression) {
statement(s)
} else {
statement(s)
}
IF-ELSE-IF
• Permite definir varias condiciones para controlar las
sentencias.
if (dia == hoy) {
sentencias(s)
} else if (dia == ayer) {
sentencias(s)
} else {
sentencias(s)
}
SWITCH
• Permite control el flujo de una aplicación por medio de un
patrón.
• El patrón puede ser un String, byte ,short ,int y char.
switch(patron) {
case 1: sentencias(s); break;
case 2: sentencias(s); break;
default : sentencias(s);
}
Ambito de las Variables
• Cuando usamos bloques para código debemos tener
cuidado en el uso de variables.
int cont=4;
if (cont<5) {
double total = cont * 10;
}
System.out.println(“Contador : ”+cont);
System.out.println(“Total : ”+total);
Ambito de las Variables
• Una variable puede ser usada en su propio bloque para
código como en bloques internos.
int cont=4;
double total = 0;
if (cont<5) {
total = cont * 10;
}
System.out.println(“Contador : ”+cont);
System.out.println(“Total : ”+total);
Fujos Repetidos
punto:
while (contador < 10) {
sentencias(s)
if(contador==3) break punto;
}
CONTINUE
• Usado en bloques repetitivos
• Permite continuar con el siguiente ciclo repetitivo.
• Ejemplo:
for (int i=0; i<10; i++) {
sentencia(s)
}
FOR-EACH
• Permite ejecutar bloques repetitivos sobre una colección de
objetos.
• Sintaxis:
for (tipo_variable variable; colección) {
sentencia(s)
}
Ejemplo:
int numeros[] = {10, 20, 30, 40};
int suma = 0;
for (int nro : numeros) {
sum += nro;
}
Tema 3: Arreglos
• Ejemplo:
int números [] ;
int[] números;
Inicialización de arreglos
• Sintaxis:
tipo [ ] nombre_arreglo = new tipo[nro_elementos]
tipo nombre_arreglo [ ] = new tipo[nro_elementos]
• Ejemplo:
int[] numeros = new int[10];
int numeros [] = new int[10];
Asignación de datos
• Sintaxis:
nombre_arreglo[posición] = valor
El primer elemento del arreglo tiene como posición el valor 0 y
el último elemento tiene como posición el valor de tamaño del
arreglo menos 1
• Ejemplo:
int[] numeros = new int[10];
numeros[4] = 23;
Acceso a elementos
nombre_arreglo[posicion]
• Ejemplo:
int[] numeros = new int[10];
numeros[4] = 23;
int nroLoteria = números[4];
Declaración y asignación
• Sintaxis:
tipo [ ] nombre_arreglo = {elemento1, elemento2, .....,
elementoN}
tipo nombre_arreglo [ ] = {elemento1, elemento2, .....,
elementoN}
• Ejemplo:
int[] numeros = {1,2,3,4,5,6,7,8,9,10};
int numeros[] = {1,2,3,4,5,6,7,8,9,10};
Propiedad length
• Ejemplo:
int números [ ] [ ] ;
int [ ] [ ] números;
Inicialización de arreglos
multidimensionales
• Para inicializar un arreglo tenemos dos posibles formas:
– Asignar la memoria dependiendo del número de
elementos que vaya a contener.
– Indicar directamente los datos que queremos que
contenga.
Asignación de memoria
• Sintaxis:
tipo [ ] [ ] nombre_arreglo
= new tipo[nro_filas_1] [nro_columnas_2]
tipo nombre_arreglo [ ] [ ]
= new tipo[nro_filas_1] [nro_columnas_2]
• Ejemplo:
int[][] numeros = new int[10][5];
int numeros [][] = new int[10][5];
Asignación de datos
• Sintaxis:
nombre_arreglo[pos_fila_1] [pos_columna_2] = valor
• Ejemplo:
int[][] numeros = new int[10][5];
numeros[4][2] = 23;
Acceso a elementos
nombre_arreglo[pos_fila_1] [pos_columna_2]
• Ejemplo:
int[][] numeros = new int[10][5];
numeros[4][3] = 23;
int nroLoteria = números[4][3];
Declaración y asignación
• Sintaxis:
tipo [ ] [ ] nombre_arreglo = { <fila_1>, <fila2>, .....,
<fila_N>}
tipo nombre_arreglo [ ] [ ] = { <fila_1>, <fila2>, .....,
<fila_N>}
• Ejemplo:
int[][] numeros = { {1,2,3},
{4,5,6},
{7,8,9}};
int numeros[][] = {{1,2,3},{4,5,6},{7,8,9}};
Propiedad length