Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Estructura de Datos - IF y SWITCH
Manual Estructura de Datos - IF y SWITCH
Manual Estructura de Datos - IF y SWITCH
Nota: Si hubiera mas de una sentencia dentro del If o el else se abrirá con llaves
Ejemplo: Ingrese por teclado un numero de turno y visualize el nombre del turno(1- Mañana, 2-
Tarde, 3- Noche)
import javax.swing.JOptionPane;
public class Ejercicio1 {
public static void main(String[] args){
int turno;
String msj;
turno=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Nro de Turno "));
if(turno==1){
msj=“Manana”
}else{
If(turno==2){
msj="Tarde";
}else{
msj="Noche";
}
}
JOptionPane.showMessageDialog(null,msj);
}
}
Ejemplo 1: Ingrese por teclado una contraseña si esta es igual a “IDAT” se debe visualizar el
mensaje “Acceso Permitido” en caso contrario visualizar el mensaje “Acceso Denegado”
import javax.swing.JOptionPane;
public class Ejercicio1 {
public static void main(String[] args){
String pwd,msj;
pwd=JOptionPane.showInputDialog("Ingrese Contraseña ");
if(pwd.equals("IDAT")){
msj=“Acceso Permitido”
}else{
msj="Acceso Denegado";
}
JOptionPane.showMessageDialog(null,msj);
}
}
Operador Ternario:
Sintaxis:
Var = (condicion?verdad:falso);
Cuando se utiliza el operador ternario el resultado de este se debe guardar en una variable de
lo contrario saldrá error.
Ejemplo: Se tiene un numero si este es mayor que 300 y menor 500 se debera incrementar en
un 10% de lo contrario se debera disminuir en un 20%
Con el if normal seria asi:
If(Num >300&&Num < 500){
Num = Num + (Num * 0.10);
}else{
Num = Num - (num * 0.20);
}
Con el operador ternario seria asi:
Ejercicios Resueltos
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String Numero;
int n;
Numero =JOptionPane.showInputDialog("ingrese Número:");
n = Integer.parseInt(Numero );
if ((n % 5) = = 0) {
JOptionPane.showMessageDialog( null,“exito”,"Resultado",JOptionPane.INFORMATI
ON_MESSAGE
);
}
}
}
SINTAXIS
if (condicion){
//sentencias 1
}else{
//sentencias 2
}
1. Escribir un programa el cual lea dos valores enteros. Si el primero es menor o igual
que el segundo, que imprima el mensaje “Primero”. Si el segundo es menor que el primero,
que imprima el mensaje “Segundo”.
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String Numero1 ,Numero2;
int n1,n2;
Numero1 =JOptionPane.showInputDialog("1º Número:");
n1 = Integer.parseInt(Numero1);
Numero2 =JOptionPane.showInputDialog("2º Número:");
n2 = Integer.parseInt(Numero2);
if(n1 <= n2){
JOptionPane.showMessageDialog(
null,"Primero","Resultado",JOptionPane.INFORMATION_MESSAGE
);
}else{
JOptionPane.showMessageDialog(
null,"Segundo",
"Resultado",JOptionPane.INFORMATION_MESSAGE
);
}
}
}
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String Numero1 ,Numero2;
int n1,n2;
double promedio;
Numero1 =JOptionPane.showInputDialog("1º Nota:");
n1 = Integer.parseInt(Numero1);
Numero2 =JOptionPane.showInputDialog("2º Nota:");
n2 = Integer.parseInt(Numero2);
promedio = (n1+n2)/2;
Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de
una estructura condicional hay otra estructura condicional.
SINTAXIS
if (condicion){
[
if (condicion){
//sentencias 1
} [else{
//sentencias 2
}]
]
}else{
[
if (condicion){
//sentencias 1
} [else{
//sentencias 2
}]
]
}
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String N1 ,N2, N3;
int n1,n2, n3;
double prom;
N1 =JOptionPane.showInputDialog("1º Nota:");
n1 = Integer.parseInt(N1);
N2 =JOptionPane.showInputDialog("2º Nota:");
n2 = Integer.parseInt(N2);
N3 =JOptionPane.showInputDialog("2º Nota:");
n3 = Integer.parseInt(N3);
prom = (n1+n2+n3)/3;
}else{
JOptionPane.showMessageDialog(
null,"Malo","Resultado",
JOptionPane.INFORMATION_MESSAGE
);
}
}
}
}
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
double n1,n2, n3 ;
n1 = Math.random();
n2 = Math.random();
n3 = Math.random();
Else If
SINTAXIS
if (condicion1) {
//sentencias 1
}else if (condicion2){
//sentencias 2
}else if (condicion3){
//sentencias 3
.
.
.
}else if (condicionn){
//sentencias n
}else{
//sentencias...
}
1. Obtenga tres números aleatorios y muéstrelos en orden descendente.
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
double n1,n2, n3 ;
String res="";
n1 = Math.random();
n2 = Math.random();
n3 = Math.random();
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String N1,res;
double n1;
N1 =JOptionPane.showInputDialog("Ingrese Número:");
n1 = Integer.parseInt(N1);
if(n1 >0){
res = "Positivo";
}else if(n1 == 0){
res = "Cero";
}else{
res = "Negativo";
}
JOptionPane.showMessageDialog(
null,res,"Resultado",JOptionPane.INFORMATION_MESSAGE
);
}
}
switch (variable){
case contenido_variable1:
sentencias;
break;
case contenido_variable2:
sentencias;
break;
default:
sentencias;
}
Cada case puede incluir una o más sentencias sin necesidad de ir entre llaves, ya que se ejecutan
todas hasta que se encuentra la sentencia BREAK la variable evaluada sólo puede ser de tipo
entero o caracter. default ejecutará las sentencias que incluya, en caso de que la opción escogida
no exista.
SINTAXIS
switch (variable) {
case constante1: Es
secuencia de sentencias
break;
case constante2:
secuencia de sentencias
break;
case constante3:
secuencia de sentencias
break;
...
default:
secuencia de sentencias
}
importante recalcar que no se puede probar más de una constante por case, pero la forma como
se puede simular este punto, es no teniendo sentencias asociados a un case, es decir, teniendo
una sentencia nula donde sólo se pone el caso, con lo que se permite que el flujo del programa
caiga al omitir las sentencias, como se muestra a continuación:
switch (letra)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
msj = “Es vocal”;
break;
default:
msj = “Es otro caracter”;
break;
}
EJERCICIOS RESUELTOS
2. Ingrese por teclado el número del mes (de acuerdo al orden) y muestre la cantidad de días que
tiene. Considere año no bisiesto.
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
String Mes;
int n,dias = 0;
Mes =JOptionPane.showInputDialog("ingrese Número:");
n = Integer.parseInt(Mes);
switch(n){
case 1: dias = 31; break;
case 2: dias = 28; break;
case 3: dias = 31; break;
case 4: dias = 30; break;
case 5: dias = 31; break;
case 6: dias = 30; break;
case 7: dias = 31; break;
case 8: dias = 31; break;
case 9: dias = 30; break;
case 10: dias = 31; break;
case 11: dias = 30; break;
case 12: dias = 31; break;
}
JOptionPane.showMessageDialog(
null,dias,"Resultado",JOptionPane.INFORMATION_MESSAGE
);
}
}
1.- Ingrese por teclado la hora en formato de 24 horas y la cantidad de minutos al dar enter debera
salir la hora en formato de 12 horas por ejemplo si se ingresa 23 en una caja y en la otra 12 el
resultado seria 11:12:PM
2.- Ingrese la cantidad de minutos hablados por una persona y el tipo de llamada (Local, Nacional,
Internacional).Se visualizara el importe de la llamada sabiendo que por los 3 primeros minutos se
paga S/ 1.00 y por cada minuto adicional se paga 0.50 en caso sea local si es nacional se
incrementa el 25% y si es internacional se incrementa el 60% a los precios por minuto.
3.- Ingrese por teclado dos números y un signo de operación (+,-,*,/) se debera mostrar el resultado
de la operación.
4.- Ingrese por teclado el nombre, año de nacimiento y el sexo de una persona (M o F),se deberá
mostrar uno de los siguientes mensajes.
- Varon mayor de edad
- Varon menor de edad
- Dama mayor de edad
-Dama menor de edad
6.- Ingrese por teclado el día de nacimiento y el mes de nacimiento de una persona al dar Enter se
deberá mostrar su signo zodiacal.
9.- Un instituto ofrece cursos de programación, el costo de los cursos es de la siguiente manera:
Se pide elaborar un programa para emitir el recibo por dicho curso, los datos que se
mostraran en el recibo son: nombre del participante, costo del curso y nivel del curso.