0% encontró este documento útil (0 votos)
4 vistas

Java - Parte 3

Cargado por

street gramer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas

Java - Parte 3

Cargado por

street gramer
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

Programación Orientada a Objetos I

Claudio Omar Biale


Facultad de Ciencias Exactas Químicas y Naturales
Universidad Nacional de Misiones
Condicionales - if
El tipo de datos boolean declara una variable con el valor true o
false.

Una sentencia if es una construcción que permite especificar en


un programa rutas alternativas de ejecución.
Condicionales - if
if

if (expresión lógica) {
sentencia (s).
}

if-else

if (expresión lógica) {
sentencia (s) por la afirmativa.
} else {
sentencia (s) por la negativa.
}
Ejemplo - if
Si x es mayor o igual a seis imprimir "Aprobado".

if (x >= 6) {
System.out.println("Aprobado");
}
Ejemplos - if-else
Si x es mayor o igual a seis imprimir "Aprobado", sino imprimir
"Desaprobado".

if (x >= 6) {
System.out.println("Aprobado");
} else {
System.out.println("Desaprobado");
}
Codicionales - switch
Una sentencia switch ejecuta sentencias basadas en el valor de
una variable o una expresión.

switch (expresión) {
case valor1: expresión (es);
break;
case valor2: expresión (es);
break;
...
case valorN: expresión (es);
break;
default: expresión (es) por defecto.
}
Condicionales - switch
La expresión a evaluar puede ser de tipo char , byte , short , int
o String .

Valor1, valor2, ..., valorN tiene que ser del mismo tipo de datos y
deben ser constantes
NO PUEDEN CONTENER VARIABLES.

Funcionamiento similar a C.
default es opcional.
Condicionales - switch
Cambios en switch desde Java 12.

Permite:
usarlo como expresión o sentencia.
retornar valores de una sentencia switch .
usar varias etiquetas en un case .
Ejemplo
Si el día es entre 1 y 5 imprimir "Día de la semana".
Si es 6 o 7 imprimir "Fin de semana".
Sino "Error".
switch clásico
switch (x) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Día de la semana");
break;
case 6:
case 7:
System.out.println("Fin de Semana");
break;
default:
System.out.println("Error");
break;
}
switch con varias etiquetas en un case
switch (x) {
case 1, 2, 3, 4, 5:
System.out.println("Día de la semana");
break;
case 6, 7:
System.out.println("Fin de Semana");
break;
default:
System.out.println("Error");
break;
}
switch usando el formato: case L -> expresión;
switch (x) {
case 1, 2, 3, 4, 5 -> System.out.println("Día de la semana");
case 6, 7 -> System.out.println("Fin de Semana");
default -> System.out.println("Error");
}
Retornando valores de un switch
Si el valor es 1 retornar 2.
Si el valor es 2 retornar 4.
Si el valor es 3 retornar 9.
Sino retornar 1.
Retornando valores de un switch
int y = switch (x) {
case 1 -> 2;
case 2 -> 4;
case 3 -> 9;
default -> 1;
};
Retornando valores de un switch
int y = switch (x) {
case 1:
break 2;
case 2:
break 4;
case 3:
break 9;
default:
break 1;
};
Condicionales - expresión condicional
Una expresión condicional evalúa una expresión basado en una
condición.

expresión-Lógica ? expresión1 : expresión2;


Bucles - while
Un bucle while ejecuta sentencias repetidamente mientras la
condición es verdadera.

while (expresión lógica) {


// cuerpo del bucle
sentencias (s).
}
Ejemplo - while
Imprimir la tabla de multiplicar del nro. 2.

int valor = 0;
while (valor <= 10) {
System.out.println(valor + " * 2 = " + valor * 2);
valor++;
}
Bucles - do-while
Un bucle do-while es el mismo que un bucle while excepto que se
ejecuta el cuerpo del bucle primero y luego se comprueba la
condición de continuidad del bucle.

do {
// cuerpo del bucle
sentencias (s).
} while (expresión lógica);
Ejemplo - do-while
Solicitar una cadena de caracteres, imprimir la misma en
mayúsculas, terminar cuando se ingrese la cadena "".

var valor = new Scanner(System.in);


String texto;
do {
texto = valor.nextLine();
System.out.println(texto.toUpperCase());
} while (!texto.equals(""));
Bucles - for
Un bucle for tiene una sintaxis concisa para escribir ciclos.

for (acción-inicial; condición; acción-luego-de-cada-iteración) {


// cuerpo del bucle;
sentencia (s);
}
Ejemplo - for
Imprimir la tabla de multiplicar del nro. 2.

for (int valor = 0; valor <= 10; valor++) {


System.out.println(valor + " * 2 = " + valor * 2);
}
Otras Consideraciones
En Java también existen las sentencias break y continue .
Juguemos con JShell
JShell
Es un REPL (Read–Eval–Print-Loop) disponible desde Java 9.

REPL????
Es un entorno de programación simple e interactivo que toma la
entrada del usuario (Read), ejecuta el comando del usuario
(Eval), devuelve el resultado al usuario (Print) y espera la
siguiente entrada del usuario (Loop).
Uso?
Problema: incluso para imprimir una sola declaración en la
consola, era absolutamente necesario tener al menos una clase y
el método principal.

JShell elimina parte de este trabajo.


Es una herramienta interactiva.
Nos permite aprender características del lenguaje Java y su API.
Facilitando la creación rápida de prototipos y la depuración sin
la necesidad de clases completas
Trabajamos
Se ingresa invocando desde el shell a:

$ jshell

Imprimiendo "Hola Mundo":

jshell> var mensaje = "Hola Mundo"


Diferencias
No es necesario agregar un punto y coma al final del comando, a
diferencia de los comandos Java normales.
Un punto y coma es opcional en los comandos de JShell.

Incluso no es necesario agregar System.out.println() para


imprimir el mensaje en la consola.
Permite el autocompletado con la tecla TAB.
Variables ($)
Se crea una variable scratch para que la salida de expresión se
pueda usar más tarde.

Ejemplo:

jshell> mensaje.toUpperCase()
$2 ==> "HOLA MUNDO"

jshell> System.out.println($2)
HOLA MUNDO

jshell> $2
$2 ==> "HOLA MUNDO"
Manejo de errores
Si el comando proporcionado por el usuario tiene algún error,
JShell detecta el error y devuelve un mensaje de error con un
formato agradable al usuario.

Ejemplo:

jshell> mensaje.substring(10,12)
| Exception java.lang.StringIndexOutOfBoundsException: begin 10, end 12, length 10
| at String.checkBoundsBeginEnd (String.java:3319)
| at String.substring (String.java:1874)
| at (#4:1)
Paquetes por Defecto
Por defecto importa los paquetes más utilizados y uno puede
usarlos directamente en los comandos.

jshell> /imports
| import java.io.*
| import java.math.*
| import java.net.*
| import java.nio.file.*
| import java.util.*
| import java.util.concurrent.*
| import java.util.function.*
| import java.util.prefs.*
| import java.util.regex.*
| import java.util.stream.*
Otra Funcionalidades
Es posible crear clases y métodos.

Comandos:
/edit permite editar nuestro código.
/help permite obtener ayuda.
/list muestra todos los comandos escritos en la sesión.
Puede tomar un argumento --all para proporcionar los
comandos de la sesión actual y anteriores.
/history muestra todos los comandos escritos (incluso los
internos).
Otra Funcionalidades
También permite examinar la lista de: variables, métodos y tipos
que se han utilizado previamente en el shell.

Ejemplos:

jshell> /vars
| String mensaje = "Hola Mundo"
| int $2 = 10
| String $3 = "o"
| String $4 = null

jshell> /methods

jshell> /types
Gracias

También podría gustarte