Introducción a Java
Qué es Java?
JAVA es una tecnología pensada para desarrollo de aplicaciones de gran envergadura, altamente
escalables, de gran integración con otras tecnologías y muy robustas.
Sus principales características son:
Lenguaje orientado a objetos: respeta el paradigma de orientación a objetos, permitiendo utilizar
los fundamentos del mismo: herencia, polimorfismo, abstracción, encapsulamiento, etc.
Sintaxis basada en C/C++: aporta gran simplicidad ya que es una de las formas de escribir código
mas reconocidas y difundidas, y permite incorporar rápidamente a los programadores que conocen
este lenguaje.
Es multiplataforma: significa que su código es portable, es decir se puede transportar por distintas
plataformas. De esta manera es posible codificar una única vez una aplicación, y luego ejecutarla
sobre cualquier plataforma y/o sistema operativo.
Manejo automático de memoria: no hay que preocuparse por liberar memoria manualmente ya que
un proceso propio de la tecnología se encarga de monitorear, y por consiguiente eliminar el espacio
ocupado que no está siendo utilizado.
Evolución permanente: la tecnología esta en constante evolución debido a la gran cantidad
de “consumidores” que poseen, JAVA es uno de los lenguajes mas utilizados en el mundo, y
ORACLE pretende estar a la altura de la situación ofreciendo constantemente nuevas
entregas.
Organización
La tecnología esta organizada en tres grandes áreas bien definidas:
JME (Mobile / Wireless): esta área tiene como objetivo el desarrollo de aplicaciones móviles,
tales como GPS, Handhelds (por ejemplo la conocida Palm), celulares y otros dispositivos
móviles programables. JME significa Java Micro Edition.
JSE (Core / Desktop): esta área tiene como objetivo el desarrollo de aplicaciones de escritorio,
similares a las aplicaciones tipo ventanas creadas con Visual Basic o Delphi. Incluye la
funcionalidad básica del lenguaje como manejo de clases, colecciones, entrada/salida, acceso a
base de datos, manejo de sockets, hilos de ejecución, etc. JSE significa Java Standard Edition.
JEE (Enterprise / Server): esta área tiene como objetivo el desarrollo de aplicaciones empresariales,
de gran envergadura. Contempla ambientes Web, como los ambientes manejados por servidores
de aplicación. Las tecnologías principales incluidas en esta área son Servlets, JSP y EJB, entre
otras. JEE significa Java Enterprise Edition.
La historia
En el año 1990 nace Java, bajo el diseño y la implementación de la empresa Sun Microsystems.
El padre-fundador de la tecnología es el James Gosling, a través de una filial dentro de Sun
llamada First Person Inc.
Gosling tuvo la visión inicial de construir un lenguaje de programación capaz de ejecutar su código
sobre cualquier set de instrucciones, de distintos procesadores. Inicialmente el proyecto apuntó a
Página 1 de 26
la programación unificada de distintos electrodomésticos, es decir programar una sola vez y que el
programa generado fuera útil para cualquier dispositivo.
El proyecto inicial de Java fue técnicamente un éxito, aunque comercialmente no tuvo el
rendimiento esperado, y debió ser relegado unos años.
Aparición de Internet
En el año 1993, Internet da el gran salto, y se convierte de una interfaz textual a una interfaz
grafica. Java ve una oportunidad y entra fuertemente a Internet con los Applets, pequeños
programitas construidos en Java – con todos sus beneficios – capaces de ejecutarse dentro de
un navegador. Es aquí donde Java comienza a dar sus primeros pasos firmes como lenguaje a
difundir masivamente. En el año 1995, el navegador Netscape Navigator comienza formalmente
a soportar los Applets Java.
Adicionalmente, el lenguaje podía adaptarse fácilmente a las múltiples plataformas, con lo cual
surge una de las primeras aplicaciones multiplataformas mas conocidas: WebRunner (hoy
HotJava), un navegador multiplataforma construido en Java.
Por qué el nombre JAVA
Inicialmente la intención fue nombrar al lenguaje de programación con el nombre de Oak, pero este
ya estaba registrado. La leyenda cuenta que una visita a la cafetería le dio rápida solución al
problema.
En las confiterías norteamericanas hay un café denominado Java, en el cual esta inspirado el
nombre del lenguaje de programación. El logotipo de Java es justamente una taza café.
Siglas
J2ME = Java2 Micro Edition
J2SE = Java2 Standard Edition
J2EE = Java2 Enterprise Edition
JRE = Java Runtime Enviroment
JVM = Java Virtual Machine
SDK = Software Development Kit
JDK = Java Development Kit
El compilador
Incluido en el JDK
Comando [Link]
Transforma archivos .java en .class
La Java Virtual Machine (JVM)
"Write once, run anywhere"
Página 2 de 26
No es un compilador, es un interprete de Java
Archivos .class se denominan bytecodes
Bytecodes: instrucciones de máquina para la JVM
Interpreta el bytecode y lo convierte a código propio del CPU
JRE solo para ejecutar aplicaciones Java
Comando [Link]
IDE a utilizar
IDE = Integrated Development Enviroment
Netbeans (ultima version)
Links -> Downloads
[Link]
[Link]
Referencias de Símbolos del Diagrama de Flujo
Nombre del Representación
Función
Símbolo del Símbolo
Representa el comienzo o la finalización
Inicio/Final de un algoritmo.
Representa la entrada de datos por medio
de un dispositivo de entrada, en general
Entrada
representa
entrada de datos por teclado
Representa una operación como puede
ser una operación matemática (suma,
Proceso resta, multiplicación, etc), una declaración
de una variable o una asignación de una
variable a un valor, etc.
Representa una condición: realiza
comparaciones entre distintos valores. Al
evaluar dicha condición puede dar como
Decisión
resultado dos posibles valores: verdadero
o falso, en función de que si esa condición
se cumple o no.
Representa la salida de datos o
Salida resultados. Sirve para representar los
Página 3 de 26
mensajes que el sistema le muestra al
usuario por pantalla.
Sintaxis y Semántica de Java
Variables
Introducción
Una variable es un nombre que se asocia con una porción de la memoria del ordenador, en la que
se guarda el valor asignado a dicha variable. Consiste en un elemento al cual le damos un nombre
y le atribuimos determinado tipo de información. Las variables pueden ser consideradas como la
base de la programación.
Los datos que se manejan en nuestro programa se almacenan en variables. El concepto de variable
debe verse como un contenedor de información
Qué es una variable?
Una variable es un nombre que se asocia con una porción de la memoria del ordenador, en la que
se guarda el valor asignado a dicha variable.
Consiste en un elemento al cual le damos un nombre y le atribuimos determinado tipo de
información.
Las variables pueden ser consideradas como la base de la programación.
Los datos que se manejan en nuestro programa se almacenan en variables. El concepto de variable
debe verse como un contenedor de información De este modo podríamos escribir en un lenguaje
ficticio: a="perro" b="labra"
La variable que nosotros llamamos "a" posee un elemento de información de tipo texto que es
"perro". Asimismo, la variable "b" contiene el valor "ladra".
Podríamos definir una tercera variable que fuese la suma de estas dos:
c=a+b
Si introdujésemos una petición de impresión de esta variable en nuestro lenguaje ficticio:
Imprimir (c)
El resultado podría ser:
Perro ladra
Podríamos de la misma forma trabajar con variables que contuviesen números y construir nuestro
programa:
a=3
b=4
c=a+b
Imprimir (c)
Página 4 de 26
El resultado de nuestro programa sería: 7
Hay varios tipos de variables que requieren distintas cantidades de memoria para guardar datos.
Todas las variables han de declararse antes de usarlas, la declaración consiste en una sentencia
en la que figura el tipo de dato y el nombre que asignamos a la variable. Una vez declarada se le
podrá asignar valores.
Identificador
Un identificador es un nombre que identifica a una variable, a un método o función miembro, a una
clase. Todos los lenguajes tienen ciertas reglas para componer los identificadores.
Definición de variables en Java
Identificador (nombre)
no puede comenzar con un número
puede comenzar con "_" o "$"
no puede utilizar caracteres "%" o "*" o "@" por que están reservados para otras operaciones
Puede incluir, pero no comenzar por un número. No puede incluir el carácter espacio en
blanco.
Distingue entre letras mayúsculas y minúsculas.
No se pueden utilizar las palabras reservadas como identificadores.
Tipos de variables
Utilización de los tipos de datos. Una variable es algo que cambia, o varía. En Java, una
variable almacena datos. Los tipos de datos definen el tipo de dato que puede ser almacenado
en una variable y los límites de los datos
A toda variable que se use en un programa, se le debe asociar (generalmente al principio del
programa) un tipo de dato específico.
Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento
de ejecución del programa y a lo largo de toda su vida útil. tipo de dato primitivo int, long, float,
double, etc. referencias Objetos o arrays
Ejemplo de declaración y definición
de una variable simple
int var = 5;
de un array
int[] vec = new int[10]; vec[0] = 150; vec[1] = 500; int vec[] = new int[10]; vec[0] = 150; vec[1] =
500; int[] vec = {150,500,3,4,5,6}; es un objeto, y tiene una variable miembro denominada length
Página 5 de 26
Referencias de los Tipos de Datos
Tipo de Datos
Correspondencia
en Explicación Ejemplo
en Java
Pseudocódigo
Texto Representa un carácter o una “Hoy es String
cadena de caracteres. viernes”,
Su valor debe ir encerrado “b”,
entre comillas dobles. “El precio
Si se desea concatenar texto del
con variables (que pueden ser producto es
de tipo: entero, decimal o $20”
booleano), se utiliza el signo
más (+), de la siguiente
manera:
Entero suma = 20 + 50;
“El valor de la suma es: ” +
suma
Entero Representa un número entero. 10,29,30 int
Decimal Representa un número 21.3, 43.9, float o double
decimal. 23.564
Booleano Define una bandera que puede Verdadero, boolean
tomar dos posibles valores: falso
Verdadero o Falso.
Tipos de dato primitivos
Boolean 1 byte. Valores true y false
char 2 bytes. Unicode
. byte 1 byte Valor entero entre -128 y 127
short Valor entero entre -32768 y 32767
int 4 bytes. Valor entero entre -[Link] y [Link]
long 8 bytes. Valor entre -[Link].854.775.808 y
[Link].854.775.807
float 4 bytes (entre 6 y 7 cifras De -3.402823E38 a -1.401298E-45 y de 1.401298E-
decimales equivalentes). 45 a 3.402823E38
double 8 bytes (unas 15 cifras De -1.79769313486232E308 a -
decimales equivalentes). 4.94065645841247E-324 y de 4.94065645841247E-
324 a 1.79769313486232E308
Página 6 de 26
Carácter
En Java los caracteres no están restringidos a los ASCII sino son Unicode.
Un carácter está siempre rodeado de comillas simples como 'A', '9', 'ñ', etc.
El tipo de dato char sirve para guardar estos caracteres.
Boolean
Una variable booleana solamente puede guardar uno de los dos posibles valores: true (verdadero)
y false (falso).
Enteros
Una variable entera consiste en cualquier combinación de cifras precedidos por el signo más
(opcional), para los positivos, o el signo menos, para los negativos.
Ejemplo: 10, -12, 432, -128
Como ejemplos de declaración de variable enteras tenemos:
Int. Numero = 8451;
Int. x,y;
Int. es la palabra reservada para declarar una variable entera.
En el primer caso, el compilador reserva una porción de 32 bits de memoria en el que guarda el
número 8451.
Se accede a dicha porción de memoria mediante el nombre de la variable, numero.
Enteros Largos
Son valores enteros que van desde -[Link].854.775.808 y
[Link].854.775.807 long x; long y=50L;
En la primer línea definimos la variable x como long.
En la segunda línea asignamos a la variable “y” el valor 50, que es un número de tipo int. por
defecto, le ponemos el sufijo L en mayúsculas o minúsculas para indicar que es de tipo long.
Flotante
Las variables del tipo float o double (coma flotante) se usan para guardar números en memoria que
tienen parte entera y parte decimal.
double PI=3.14159;
double g=9.7805, c=2.9979e8;
El primero es una aproximación del número real p, el segundo es la aceleración de la gravedad a
nivel del mar, el tercero es la velocidad de la luz en m/s, que es la forma de escribir 2.9979 108. El
carácter punto '.', separa la parte entera de la parte decimal, en vez del carácter coma ',' que usamos
habitualmente en nuestro idioma.
float x=16.2f;
float y=9f;
Página 7 de 26
double z=21.0;
double g=7d;
Conceptualmente, hay infinitos números de valores entre dos números reales. Ya que los valores
de las variables se guardan en un número prefijado de bits, algunos valores no se pueden
representar de forma precisa en memoria. Por tanto, los valores de las variables en coma flotante
en un ordenador solamente se aproximan a los verdaderos números reales en matemáticas. La
aproximación es tanto mejor, cuanto mayor sea el tamaño de la memoria que reservamos para
guardarlo. De este hecho, surgen las variables del tipo float y double.
Palabras reservadas
Las palabras reservadas no pueden ser usadas como nombre de variable.
El lenguaje JAVA tiene la siguiente lista de palabras reservadas.
abstract double int strictfp boolean else
interface super break extends long switch
byte final native synchronized case finally
new this catch float package throw char
for private throws class goto protected
transient const if public try continue implements
return void default import short volatile
do instanceof static while
Operadores
Definición
Un operador es una expresión que produce otro valor (así como las funciones o construcciones que
devuelven un valor).
Existen operadores de comparación, de negación o de incremento y decremento.
Las operaciones matemáticas se comportan de igual manera en PHP. Las operaciones * y / tienen
precedencia sobre la suma y la resta y se pueden utilizar paréntesis para expresiones mas
complejas.
Un operador es un símbolo especial que indica al compilador que debe efectuar una operación
matemática o lógica.
En todo lenguaje de programación existen un conjunto de operadores que permiten realizar
operaciones con los datos. Nos referimos a operaciones aritméticas, comparaciones, operaciones
lógicas y otras operaciones (por ejemplo, concatenación de cadenas, operaciones algebraicas
entre valores números, etc.).
Qué es un Operador?
Un operador es un símbolo especial que indica al compilador que debe efectuar una operación
matemática o lógica.
Página 8 de 26
En todo lenguaje de programación existen un conjunto de operadores que permiten realizar
operaciones con los datos. Nos referimos a operaciones aritméticas, comparaciones, operaciones
lógicas y otras operaciones (por ejemplo, concatenación de cadenas, operaciones algebraicas
entre valores números, etc.).
Operadores Aritméticos
suma (+), resta (-), multiplicación (*), división (/) resto
de la división (%)
Operadores lógicos
Los operadores lógicos o también llamados de comparación devuelven siempre verdadero (true) o
falso (false). Este tipo de operadores se utilizan con gran frecuencia en todos los lenguajes de
programación, para realizar una acción u otra en función de que cierta condición sea verdadera o
falsa.
Se utilizan para construir expresiones lógicas, combinando valores lógicos (true y/o false)
En ciertos casos el segundo operando no se evalúa porque ya no es necesario
Operador Utilización Resultado
&& op1 && op2 true si op1 y op2 son true. Si op1 es false ya no se evalúa op2
|| op1 || op2 true si op1 u op2 son true. Si op1 es true ya no se evalúa op2
! ! op true si op es false y false si op es true
& op1 & op2 true si op1 y op2 son true. Siempre se evalúa
op2 | op1 | op2 true si op1 u op2 son true. Siempre se evalúa
op2
Operadores de Asignación
Operador Utilización Expresión equivalente
= op1 = op2 op1 = op2
+= op1 += op2 op1 = op1 + op2
-= op1 -= op2 op1 = op1 - op2
*= op1 *= op2 op1 = op1 * op2
/= op1 /= op2 op1 = op1 / op2
%= op1 %= op2 op1 = op1 % op2 Operador
concatenación de caracteres
Se utiliza para concatenar cadenas de caracteres
Ejemplo "Se han comprado " + variableCantidad + " unidades";
Operador condicional?:
Página 9 de 26
También denominado inline-if
Uso expresión Booleana ? res1 : res2
Evalúa expresión Booleana y devuelve res1 si el resultado es true o res2 si el resultado es false
Ejemplo a=100; b=50; String z = (a<b) ? “a es menor” : “a es mayor”;
Operadores incrementales y decrementales.
incremento (++)
decremento (--)
Operadores relacionales
Sirven para realizar comparaciones de igualdad, desigualdad y relación de menor o mayor.
El resultado de estos operadores es siempre un valor booleano (true o false)
Operador Utilización El resultado es true
> op1 > op2 si op1 es mayor que op2
>= op1 >= op2 si op1 es mayor o igual que op2
< op1 < op2 si op1 es menor que op2
<= op1 <= op2 si op1 es menor o igual que op2
== op1 == op2 si op1 y op2 son iguales
!= op1 != op2 si op1 y op2 son diferentes
Operadores aplicables a bits
Operador Utilización Resultado
>> op1 >> op2 Desplaza los bits de op1 a la derecha una distancia op2
<< op1 << op2 Desplaza los bits de op1 a la izquierda una distancia op2
& op1 & op2 Operador AND a nivel de bits
| op1 | op2 Operador OR a nivel de bits
^ op1 ^ op2 Operador XOR a nivel de bits (1 si sólo uno de los operandos es 1)
~ ~op2 Operador complemento (invierte el valor de cada bit)
Clasificación
Operadores Unarios
Aquellos que necesitan un único operando
Por ejemplo, el operador incremento (++) o el operador negación (!)
Operadores Binarios
Aquellos que necesitan dos operandos
Por ejemplo, el operador suma (+) o el operador AND (&&)
Página 10 de 26
Operadores Ternarios
Aquellos que necesitan tres operandos
En Java, el único operador ternario es el operador condicional?:
Sentencias
Una sentencia es una orden que se le da al programa para realizar una tarea específica, esta
puede ser: mostrar un mensaje en la pantalla, declarar una variable (para reservar espacio en
memoria), inicializarla, llamar a una función, etc. Las sentencias acaban con ;
El carácter “;” separa una sentencia de la siguiente. Normalmente, las sentencias se ponen unas
debajo de otras, aunque sentencias cortas pueden colocarse en una misma línea. He aquí
algunos ejemplos de sentencias int x=10;
import [Link].*;
[Link]("Hola Mundo");
En el lenguaje Java, los caracteres espacio en blanco se pueden emplear libremente.
Es muy importante para la legibilidad de un programa la colocación de unas líneas debajo de otras
empleando tabuladores.
El editor del IDE nos ayudará plenamente en esta tarea sin apenas percibirlo.
Bloques de Código
Un bloque de código es un grupo de sentencias que se comportan como una unidad.
Un bloque de código está limitado por las llaves de apertura { y cierre }.
Expresiones
Una expresión es todo aquello que se puede poner a la derecha del operador asignación =.
Por ejemplo: x=123; y=(x+100)/4;
La primera expresión asigna un valor a la variable x.
La segunda, realiza una operación.
Caracteres especiales
La barra representa el carácter de escape
Utilizados en chars y Strings, por ejemplo:
n Nueva línea t
Tabulador ’
Comilla simple ”
Comilla doble
Valores Constantes
Definición
Es un identificador que expresa un valor fijo.
Página 11 de 26
Su valor no puede ser modificado ni eliminado una vez que se ha definido.
Las constantes son como las variables con la diferencia que no pueden ser redefinidas.
Las constantes no pueden almacenar arreglos de caracteres. Solo valores escalares.
Uso de constantes en Java.
Cuando se declara una variable de tipo final, se ha de inicializar y cualquier intento de modificarla
en el curso de la ejecución del programa da lugar a un error en tiempo de compilación.
Normalmente, las constantes de un programa se suelen poner en letras mayúsculas, para
distinguirlas de las que no son constantes. He aquí ejemplos de declaración de constantes. final
double PI=3.141592653589; final int IVA MAX_DATOS=21;
Comentarios
Descripción
Introducción
Un comentario es un texto adicional que se añade al código para explicar su funcionalidad, bien
a otras personas que lean el programa, o al propio autor como recordatorio. Los comentarios
son una parte importante de la documentación de un programa.
Los comentarios son ignorados por el compilador, por lo que no incrementan el tamaño del archivo
ejecutable; se pueden por tanto, añadir libremente al código para que pueda entenderse mejor.
Es un texto adicional que se añade al código para explicar su funcionalidad, bien a otras personas
que lean el programa, o al propio autor como recordatorio. Los comentarios son una parte
importante de la documentación de un programa. Los comentarios son ignorados por el
compilador, por lo que no incrementan el tamaño del archivo ejecutable; se pueden por tanto,
añadir libremente al código para que pueda entenderse mejor.
Tipos de Comentarios
En línea, por ejemplo
int num = 5; // este es el comentario
Habitualmente, usaremos comentarios en una sola línea //, ya que no tiene el inconveniente de
aprendernos los símbolos de comienzo y terminación del bloque, u olvidarnos de poner este último,
dando lugar a un error en el momento de la compilación. En la ventana de edición del Entorno
Integrado de Desarrollo (IDE) los comentarios se distinguen del resto del código por el color del
texto.
En bloque, ejemplo:
/*
Esto es un comentario
Este es otro comentario
*/
Página 12 de 26
Como podemos observar un comentario en varias líneas es un bloque de texto situado entre
el símbolo de comienzo del bloque /*, y otro de terminación del mismo */ Para el javadoc se
utilizan:
/** Acá van los comentarios */
Los comentarios de documentación es un bloque de texto situado entre el símbolo de comienzo del
bloque /**, y otro de terminación del mismo */. El programa javadoc utiliza estos comentarios para
generar la documentación del código.
Estructuras de control de flujo
Sentencias Condicionales
Introducción
Son aquellas sentencias que colocando una condición producen distintas alternativas.
Cada alternativa depende del resultado de la condición o expresión lógica.
Permite la ejecución condicional de fragmentos de código.
Bifurcación if
La estructura de control “if” permite decidir entre dos opciones resultantes de la evaluación de una
sentencia. Si la evaluación es positiva hace una cosa, también podemos especificar acciones para
realizar en caso de que la evaluación sea negativa.
Cuando un caso se procesa la declaración, la expresión de las pruebas son evaluadas, y el
resultado se interpreta como un valor booleano. Si la prueba es verdad, se ejecutan la sentencia
contenidas dentro de ella. Si la prueba es falsa,
simplemente se procede con la ejecución de la siguiente declaración. Tenga en cuenta que una
declaración en esta sintaxis puede ser una sola declaración que termina con un punto y coma, o
un bloque de instrucciones entre llaves u otro constructor condicional (que en sí se considera como
una declaración individual). Los condicionales pueden anidarse entre sí a una profundidad
arbitraria.
Es una sentencia condicional.
Colocando una condición lógica se producen dos alternativas (Verdadero o Falso).
Permite la ejecución condicional de un bloque de código.
Forma de uso:
if (expresionBooleana)
{
sentencias1;
}
Página 13 de 26
Bifurcación if else
Es la extensión de la sentencia IF
Significa “de lo contrario” y permite la ejecución de un bloque de código si la condición de la
sentencia IF fue falsa.
La sentencia ELSE se ejecuta solamente si la expresión IF se evalúa como falsa.
Forma de uso:
if (expresionBooleana)
{
sentencias1;
}
else
{
sentencias2;
}
Página 14 de 26
Bifurcación if else if else
Es una combinación entre if y else
Es una sentencia con su propia condición lógica en caso de que la sentencia IF anterior no haya
sido válida.
Se pueden anidar sucesivos else if
Forma de uso:
if (expresionBooleana1) {
sentencias1;
} else if (expresionBooleana2) {
sentencias2;
} else if (expresionBooleana3) {
sentencias3;
} else {
sentencias4;
}
Bifurcación switch
Para un determinado tipo de ramificación de múltiples caminos, el interruptor de la construcción
puede ser útil. En lugar de rama en arbitrarias expresiones lógicas, interruptor de toma caminos
Página 15 de 26
diferentes en función del valor de una sola expresión. La sintaxis es la siguiente, con las partes
opcionales cerrado en la plaza corchetes.
La expresión puede ser una variable o cualquier otro tipo de expresión, siempre y cuando se evalúa
a un valor simple (es decir, un número entero, un doble, o una cadena). La construcción se ejecuta
mediante la evaluación de de la expresión y luego se prueba el resultado para cada valor de la
igualdad contra el caso. Tan pronto como un valor coincidente se encuentra, las declaraciones
posteriores se ejecutan en secuencia hasta que la especial declaración (break;) o hasta el final del
interruptor de la construcción (break también se puede utilizar para salir de un bucle
construcciones).
Es una sentencia condicional.
Permite la ejecución condicional de un bloque de código.
Su principal característica es que permite establecer muchas opciones según el valor de una
variable (o expresión).
A diferencia de la sentencia IF que solo hay dos opciones (Verdadero – Falso).
Forma de uso:
switch (expresion)
{
case valor1: sentencias1; break;
case valor2: sentencias2; break;
case valor3: sentencias3; break;
default: sentencias4;
}
Los valores no comprendidos en ninguna sentencia case se pueden gestionar en el default
Si no está el break, se ejecutan todas las sentencias case a continuación
Estructuras de Control (Bucles)
Página 16 de 26
Introducción
Permiten repetir la ejecución de un bloque determinado de código
Son para ejecutar n cantidad de veces una opción de código de programa.
Se puede ejecutar n cantidad de veces o hasta que se cumpla una condición especifica.
Bucle while
Permite ejecutar un bloque de código determinado en forma repetitiva “mientras” (While en ingles)
se cumpla la condición
La condición se evalúa al inicio del ciclo.
Si la condición es valida, ingresa en el ciclo y ejecuta el código que pusimos en el mismo.
Cuando deja de cumplirse la condición, el programa sale del while y continúa con el resto del
programa.
Se puede no entrar al bucle depende de la expresionBooleana
Forma de uso:
while (expresionBooleana) {
Sentencias;
El bucle while evalúa la expresión condición de Booleano, si es cierto, se ejecuta
la declaración y luego comienza de nuevo mediante la evaluación de la condición. Si la condición
es falsa, el ciclo termina. Por supuesto, al igual que en si, la declaración puede ser una sola
declaración o puede ser un bloque entre llaves.
Bucle do while
Esta sentencia es igual a la anterior con la diferencia que se evalúa al final.
La condición se evalúa al final del ciclo.
El bloque de código se ejecuta al menos una vez.
Cuando deja de cumplirse la condición, el programa sale del do while y continúa con el resto del
programa.
Página 17 de 26
Tiene como particularidad que el control está al final del
bucle Se debe entrar al bucle al menos una vez Forma de
uso:
Do
{
Sentencias;
} while (expresionBooleana);
La declaración se ejecuta una vez, y luego se evalúa la expresión. Si la expresión es
verdadero, se repite la declaración hasta que la expresión se convierte en falsa. La única diferencia
práctica entre el anterior y do-while es que éste siempre se ejecutará su declaración, al menos,
una vez.
Bucle for
La sentencia FOR realiza un bucle determinado número de veces.
La sentencia inicialización se ejecuta al comienzo del for
El incrementar después de las sentencias
La expresionBooleana se evalúa al comienzo de cada iteración
Esta compuesta por tres partes:
Inicialización de la variable que utilizaremos en la condición
(incondicionalmente se ejecuta solo una vez al principio del ciclo).
Indicar la condición por la cual finalizará el bucle (se evalúa esta expresión al
comienzo de cada iteración).
Modificación de la variable, para no entrar en un bucle infinito (se ejecuta al final
de cada iteración).
Forma de uso:
for (inicialización; expresionBooleana; postAccion)
Página 18 de 26
{
Sentencias;
}
En la ejecución de una instrucción, en primer lugar la inicial de la expresión se evalúa una sola
vez, normalmente para inicializar variables. Luego la verificación evalúa, si es que es falso, la
instrucción llega a la conclusión, y si es cierto, la instrucción continua su ejecución. Por último, el
bucle final de expresión se ejecuta y el ciclo comienza de nuevo con la terminación-check. Como
siempre, la declaración nos referimos a un único
(punto y coma terminada) declaración, un bloque entre llaves, o un constructor condicional.
Break y Continue
La manera estándar para salir de una estructura de bucle es que la condición de prueba principal
se convierta en falsa. Los comandos especiales de break y continue ofrecen una salida lateral
opcional de todos los bucle de construcciones, incluyendo al mismo tiempo: for, while y do-while.
El comando break sale del bucle más interno construcción que la contiene.
El comando continue salta hasta el final de la iteración actual del bucle más interno
que lo contiene.
Sentencia break
A veces es necesario interrumpir la ejecución de un bucle for, while, o do...while.
Válido para bifurcaciones y bucles.
Hace que salga inmediatamente del bloque que se está ejecutando
Página 19 de 26
Sentencia continue
La sentencia continue, fuerza al bucle a comenzar la siguiente iteración desde el principio.
Válido solo para bucles
Fuerza una próxima iteración, sin ejecutar todas las sentencias que están después
Vectores
Introducción
Una array es un conjunto de variables indexadas y que forman en una sola y sencilla súper variable
que ofrece una manera fácil de pasar varios valores entre las líneas de código, funciones, e incluso
páginas. Durante gran parte de este capítulo, vamos a ver el funcionamiento interno de los arreglos
y explorar todas las funciones integradas en PHP que su manipulación. Java posee la capacidad de
definir un conjunto de variables del mismo tipo.
Dichas variables están agrupadas bajo un mismo nombre, y se las distingue por un número (índice). El
tamaño del array se establece cuando se crea.
A los elementos del array se accederá a través de la posición que ocupan dentro del conjunto de elementos
del array.
Este concepto es comúnmente conocido como Vector. En Java para utilizar los vectores se utilizan los Arrays:
Para definir un array en java es como definir una variable o atributo, pero al especificar el tipo lo que hacemos
es colocar un par de corchetes [] para indicar que lo que estamos definiendo es un array. Por ejemplo:
tipo identificador [];
O bien tipo []
identificador;
donde
tipo es el tipo de dato de los elementos del vector identificador es
el nombre de la variable.
Página 20 de 26
Creación
Los arrays se crean con el operador new, de la siguiente manera:
vector= new tipo[elementos];
Entre corchetes se indica el tamaño del vector.
tipo debe coincidir con el tipo con el que se haya declarado el vector. vector
debe ser una variable declarada como tipo[]
Ejemplos
float[] notas= new float[4]; int[]
temperaturas= new int[7];
Usos
Para acceder a los elementos de un array, utilizamos índices (para indicar la posición del elemento dentro del
array) vector[índice]
En Java, el índice de la primera componente de un vector es siempre 0.
El tamaño del array puede obtenerse utilizando la propiedad [Link].
Por lo tanto, el índice del último componente es [Link]-1. Por
Ejemplo
float[] notas = new float[3]
Página 21 de 26
Inicialización en la declaración
Podemos asignarle un valor inicial a los elementos de un array en la propia declaración.
Si se conocen los valores de antemano se podría crear de la siguiente forma:
int[] vec = {150,500,3,4,5,6};
El compilador deduce automáticamente las dimensiones del array.
Ejemplo definimos un array de enteros llamado losValores que tendrá 10 elementos.
public static void main(String[] args) {
int [] losValores = new int[10];
losValores[0]= 1; losValores[1]=
34; losValores[2]= 191;
losValores[3]= 9878; //….continua hasta 9
losValores[9]= 232;
[Link]("El valor de la primera posición es: "+ losValores[0]); }
Recorrido del array
Para recorrer el array seria por ejemplo:
for(i=0; i<[Link]; i++)
{[Link](losValores[i]);}
Si quisiéramos recorrer el array de atrás hacia adelante seria de la siguiente manera:
for(i=[Link]-1; i>=0; i--)
{[Link](losValores[i]);}
No es necesario utilizar todos los elementos de un vector, por lo que, al trabajar con ellos, se puede utilizar
una variable entera adicional que nos indique el numero de datos que realmente estamos utilizando.
El tamaño del vector nos dice cuanta memoria se ha reservado para almacenar datos del mismo tipo, no
cuantos datos del mismo tipo tenemos realmente en el vector.
Ejemplo: Suma de los n primeros elementos de un vector
int suma=0;
int n=[Link];
for (i=0; i<n; i++)
{
suma= suma+ losValores[i];
}
[Link](suma);
Página 22 de 26
Interfaz Gráfica de Usuario
Introducción
El paquete Swing es el paquete gráfico que ha aparecido en la versión 1.2 de Java. Está compuesto
por un amplio conjunto de componentes de interfaces de usuario que funcionen en el mayor número
posible de plataformas. La interfaz de usuario permite al programa interactuar con el usuario.
Swing esta basado en contenedores gráficos + componentes gráficos + eventos.
Contenedores gráficos
Contendores gráficos su función es organizar a los componentes gráficos. Proporcionan la
infraestructura que necesitan los componentes Swing para el manejo de eventos y su dibujado.
Los dos componentes más importantes son:
JFrame: Representa una ventana primaria y es la de mayor nivel dentro de una aplicación.
JPanel: Es un contenedor de nivel intermedio, busca simplificar el posicionamiento de
componentes.
Componentes gráficos
A cada contenedor (como JFrame o JPanel) se le pueden añadir diversos elementos como por
ejemplo etiquetas, botones, cajas de texto, etc. Estos elementos se denominan componentes
gráficos, los más importantes son:
JLabel: Son etiquetas, y se limitan a presentar textos en pantalla. Su método más importante es
setText() que permite enviar un String para que luego pueda ser visualizado por el usuario.
JButton: Es un botón
JTextField: Es una caja de texto para la entrada de datos. Su método más importante es getText()
método que permite obtener lo que ingresó el usuario. setText() método que permite cambiar el
texto de un elemento.
Ejemplo de uso:
Página 23 de 26
[Link]([Link]());
[Link](“hola mundo!!!”);
Eventos
Los eventos nos permiten interactuar con los usuarios. En Java, se representan a través de
métodos, cada componente tiene sus propios eventos. Por ejemplo, el evento más importante de
un botón es mouseClicked; esto quiere decir que cuando el usuario presione el botón se llamara al
método mouseClicked().
Veamos un ejemplo:
Vamos a File- New Project – Java Project: lo llamaremos: InterfazGrafica
Nos paramos sobre el paquete botón derecho- New – JFrame Form y le colocamos como nombre:
HolaMundo
Arrastramos 2 Jlabel, un textLabel y un botton.
Página 24 de 26
a) Al jLabel1 le cambiamos el Texto: Escriba algo aquí:
b) Al jLabel2 le colocamos: Hola Mundo
c) Al jTextFiel1 le borramos su contenido y le cambiamos el nombre de la variable por ingreso.
d) Le cambiamos el nombre al botón por OK.
Nos paramos sobre el botón OK, presionamos botón derecho- Events- Mouse- MouseClicked
Página 25 de 26
Colocamos en el evento:
String loQueEscribioElUsuario = [Link]();
[Link](loQueEscribioElUsuario);
Y por ultimo botón derecho sobre HolaMundo- Run File y vemos como funciona!!
Página 26 de 26