Condicionales múltiples (IF/ELSEIF)
La sentencia if:
Las tres formas como se puede emplear la sentencia if son:
if (condición)
sentencia;
...o
if (condición)
sentencia1;
else
sentencia2;
...o
if (condicion1)
sentencia1;
else if (condicion2)
sentencia2;
...
else
else
sentencian;
El flujo lógico de esta estructura es de arriba hacia abajo. La primera sentencia se ejecutará y se saldrá de la estructura
if
si la primera condición es verdadera. Si la primera condición fue falsa, y existe otra condición, se evalúa, y si la condición es verdadera, entonces se ejecuta la sentencia asociada. Si existen más condiciones dentro de la estructura if
, se van evaluando éstas, siempre y cuando las condiciones que le precedan sean falsas.La sentencia que esta asociada a la palabra reservada
else
, se ejecuta si todas las condiciones de la estructura if
fueron falsas.Selección múltiples (SWITCH /CASE)
Sentencia switch:
Es una sentencia condicional multiramificada o de selección multiple: dependiendo del valor de
una variable o expresion entera permite ejecutar una o varias sentencias de entre muchas. La expresión puede ser de un tipo ordinal (de tipo entero byte, short ó int o de tipo carácter char) pero no puede ser de un tipo real o de un tipo cadena.
Sintaxis:
switch (expresion) {
case valor_1: sentencias_1; break;
case valor_2: sentencias_2; break;
...
case valor_n: sentencias_n; break;
[default: sentencias_x;]
}
Cada sentencia case contiene un único valor distinto del de las demás sentencias case. A continuación del valor se introduce la sentencia o sentencias que se ejecutan en el caso de que el valor indicado coincida con el de la variable o expresión selector. Las sentencias que siguen a cada uno de los valores no se engloban entre llaves, pero suelen ir seguidas de un break.
a. Dado un número de un mes, devolver el mes en letras
importjava.util.Scanner;
publicclass ejer21 {
/**
* @paramargs
*/
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
int n;
String m="";
Scanner teclado = newScanner(System.in);
System.out.print("Ingrese el numero del mes: ");
n=teclado.nextInt();
switch (n){
case 1:
m="enero";
break;
case 2:
m="febrero";
break;
case 3:
m="marzo";
break;
case 4:
m="abril";
break;
case 5:
m="mayo";
break;
case 6:
m="junio";
break;
case 7:
m="julio";
break;
case 8:
m="agosto";
break;
case 9:
m="septiembre";
break;
case 10:
m="octubre";
break;
case 11:
m="novienbre";
break;
case 12:
m="diciembre";
break;
}
System.out.println("");
System.out.println("el mes es: " +m);
}
}
2. Lea un número del 1 al 7 y devuelva el día de la semana, considere que 1 es domingo
Propuesto2
importjava.util. Scanner;
publicclass j21 {
/**
* @paramargs
*/
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
int n=0;
String m="";
Scanner teclado =new Scanner (System.in);
System .out .print("ingresenumero: ");
n=teclado.nextInt();
switch(n)
{
case 1:
m="Domingo";
break;
case 2:
m="Lunes";
break;
case 3:
m="Martes";
break;
case 4:
m="Miercoles";
break;
case 5:
m="Jueves";
break;
case 6:
m="Viernes";
break;
case 7:
m="Sabado";
break;
}
System.out.println("el dia es :"+m);
}
}
3. Dado los siguientes operadores aritméticos +,-,* y /devuelva el nombre del operador
importjava.util.Scanner;
publicclass ejer21 {
/**
* @paramargs
*/
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
char n;
String m="";
Scanner teclado = newScanner(System.in);
System.out.print("Ingrese el operador matematico: ");
n=teclado.next().charAt(0);
switch (n){
case'+':
m="suma";
break;
case'-':
m="resta";
break;
case'*':
m="multiplicacion";
break;
case'/':
m="divicion";
break;
}
System.out.println("");
System.out.println("El operador es: " +m);
}
}
4. Dado un número de un canal de televisión, determine cuál es el nombre del canal
importjava.util.Scanner;
publicclass ejer21 {
/**
* @paramargs
*/
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
int n;
String m="";
Scanner teclado = newScanner(System.in);
System.out.print("Ingrese el canal: ");
n=teclado.nextInt();
switch (n){
case 2:
m="Panamericana";
break;
case 5:
m="ATV";
break;
case 11:
m="Frecuencia Latina";
break;
case 13:
m="America TV";
break;
case 15:
m="Red Global";
break;
}
System.out.println("");
System.out.println("El nombre del canal es: " +m);
}
}
5. En una empresa se ha determinado la siguiente política de descuento
Sexo tarjeta | Hombre | Mujeres |
Obrero | 15% | 10% |
empleado | 20% | 15% |
importjava.util. Scanner;
publicclass ej5 {
/**
* @paramargs
*/
publicstaticvoidmain(String[] args) {
// TODO Auto-generatedmethodstub
charn,s;
intsu,ds=0;
String m="";
Scanner teclado =new Scanner (System.in);
System .out .print("ingrese sueldo:");
su=teclado.nextInt();
System .out .print("targeta :");
n=teclado.next().charAt(0);
System .out .print("ing sexo : ");
s=teclado.next().charAt(0);
switch(n)
{
case'o':
switch(s){
case'm':
ds=(su*15)/100;
m="15% de descuento";
break;
}
}
switch(n)
{
case'o':
switch(s){
case'f':
ds=(su*10)/100;
m="10% de descuento";
break;
}
}
switch(n)
{
case'e':
switch(s){
case'm':
ds=(su*20)/100;
m="20% de descuento";
break;
}
}
switch(n)
{
case'e':
switch(s){
case'f':
ds=(su*15)/100;
m="15% de descuento";
break;
}
}
System.out.println("el descuento es :"+ m);
System.out.println("el descuento es :"+ ds);
}