Sei sulla pagina 1di 12

24/03/2020 FECHA ENTREGA 24/03/2020 DURACION 4horas presenciales

5 horas Autónomas
ACTIVIDAD DOCENTE
ASIGNATURA POO 1 Condicionales Switch JULIO JEJEN
Conoce conceptos básicos y procedimientos relacionados con los principios de la programación orientado
a objetos.
OBJETIVO GENERAL

Describe y aplica las condicionales y la herramienta switch


OBJETIVOS ESPECIFICOS

MEDIO ENTREGA Documento escrito


COMPETENCIA A DESARROLLAR Categoriza y aplica las relaciones de las clases en la construcción de aplicaciones de software

CRITERIOS DE EVALUACIÓN
Combina distintos aspectos del modelamiento para describir integralmente una solución.

BIBLIOGRAFIA E INFOGRAFIA http://fpsalmon.usc.es/genp/doc/cursos/poo/clases.html

CONCEPTOS PREVIOS

switch

La instrucción switch es una instrucción de múltiples vías. Proporciona una forma sencilla de enviar
la ejecución a diferentes partes del código en función del valor de la expresión. Básicamente, la
expresión puede ser tipos de datos primitivos byte, short, char e int. A partir de JDK7, también
funciona con tipos enumerados (Enum en java), la clase String y las clases Wrapper .

Sintaxis de Switch-case:

// declaración de switch

switch(expresión)

// declaración case

// los valores deben ser del mismo tipo de la expresión

case valor1 :
// Declaraciones

break; // break es opcional

case valor2 :

// Declaraciones

break; // break es opcional

// Podemos tener cualquier número de declaraciones de casos o case

// debajo se encuentra la declaración predeterminada, que se usa cuando ninguno de los casos es
verdadero.

// No se necesita descanso en el case default

default :

// Declaraciones

Diagrama de Flujo de Switch-case:


Diagrama
de Flujo de Switch-case Java

Algunas reglas importantes para declaraciones switch:

Los valores duplicados de los case no están permitidos.

El valor para un case debe ser del mismo tipo de datos que la variable en el switch.

El valor para un case debe ser una constante o un literal. Las variables no están permitidas.

La declaración break se usa dentro del switch para finalizar una secuencia de instrucción.

La declaración break es opcional. Si se omite, la ejecución continuará en el siguiente case.

La instrucción default es opcional, y debe aparecer al final del switch.

2. Ejemplos de Switch case

Considere el siguiente programa java, declara un int llamado day cuyo valor representa un día (1-
7). El código muestra el nombre del día, basado en el valor del día, usando la declaración switch.

// rograma Java para demostrar switch case

// con tipo de datos primitivos (int)

public class Test

public static void main(String[] args)

int day = 5;

String dayString;

// instrucción switch con tipo de datos int

switch (day)

case 1: dayString = "Lunes";

break;
case 2: dayString = "Martes";

break;

case 3: dayString = "Miercoles";

break;

case 4: dayString = "Jueves";

break;

case 5: dayString = "Viernes";

break;

case 6: dayString = "Sabado";

break;

case 7: dayString = "Domingo";

break;

default: dayString = "Dia inválido";

break;

System.out.println(dayString);

Salida:

Viernes

Omitir la declaración break

Como la declaración break es opcional. Si omitimos el break, la ejecución continuará en el


siguiente case. A veces es deseable tener múltiples case sin declaraciones break entre ellos. Por
ejemplo, considere la versión actualizada del programa anterior, también muestra si un día es un
día laborable o uno de fin de semana.
// Programa Java para demostrar switch case

// con multiples casos sin declaraciones break

public class Test

public static void main(String[] args)

int day = 2;

String dayType;

String dayString;

switch (day)

case 1: dayString = "Lunes";

break;

case 2: dayString = "Martes";

break;

case 3: dayString = "Miercoles";

break;

case 4: dayString = "Jueves";

break;

case 5: dayString = "Viernes";

break;

case 6: dayString = "Sabado";

break;
case 7: dayString = "Domingo";

break;

default: dayString = "Dia invalido";

switch (day)

//multiples cases sin declaraciones break

case 1:

case 2:

case 3:

case 4:

case 5:

dayType = "Dia laborable";

break;

case 6:

case 7:

dayType = "Fin de semana";

break;

default: dayType= "Tipo de dia invalido";

}
System.out.println(dayString+" es un "+ dayType);

Salida:

Martes es un Dia laborable

1.1 3. Declaraciones anidadas de Switch Case


Podemos usar un switch como parte de la secuencia de la declaración de un switch externo. Esto se
llama un switchanidado. Como una instrucción de switch define su propio bloque, no surgen conflictos
entre las constantes de case en el switch interno y las del switch externo. Por ejemplo:

// programa de Java para demostrar

// declaracines switch case anidadas

public class Test

public static void main(String[] args)

String Branch = "CSE";

int year = 2;

switch(year)

case 1 :

System.out.println("Cursos electivos: Ingles, Calculo");

break;

case 2:

switch (Branch) // switch anidado


{

case "CSE":

case "CCE":

System.out.println("Cursos electivos : Machine Learning, Big Data");

break;

case "ECE":

System.out.println("Cursos electivos : Programacion");

break;

default:

System.out.println("Cursos electivos : Ingenieria de Software");

Salida:

Cursos electivos : Machine Learning, Big Data

1.2 4. String en Switch Case


Desde JDK 7, podemos usar una cadena literal/constante para controlar una declaración switch, lo cual
no es posible en C/C++. Usar un modificador basado en cadena/string es una mejora con respecto al uso
de la secuencia equivalente if/else.

Puntos importantes:
 Operación costosa: el “switching” de strings puede ser más costosa en términos de ejecución
que el switching de tipos de datos primitivos. Por lo tanto, es mejor activar el switch con strings
solo en casos de que los datos de control ya estén en forma de cadena.
 String no debe ser NULL: asegúrese de que la expresión en cualquier instrucción switch no
sea nula mientras se trabaja con cadenas para evitar que una NullPointerException sea lanzada
en tiempo de ejecución.
 Case Sensitive – mayúsculas/minúsculas: la instrucción switch compara el objeto String en su
expresión con las expresiones asociadas con cada etiqueta de case como si estuviera usando el
método String.equals; en consecuencia, la comparación de objetos String en sentencias switch
es sensible a mayúsculas y minúsculas.
 Mejor que if-else: el compilador Java genera bytecode generalmente más eficiente a partir de
sentencias switch que usan objetos String que de sentencias if-else anidadas.

Ejemplo:

// Programa Java para demostrar el uso de un

// string para controlar una declaracion switch

public class Test

public static void main(String[] args)

String str = "dos";

switch(str)

case "uno":

System.out.println("uno");

break;

case "dos":

System.out.println("dos");

break;

case "tres":

System.out.println("tres");
break;

default:

System.out.println("no coincide");

Salida:

dos

public class Calcula {


public static void main (String [] args) {
char c;
int a,b;
c=args[0].charAt(0);
a = Integer.parseInt(args[1]);
b = Integer.parseInt(args[2]);
switch (c) {
case 'S':
case 's': System.out.println("Resultado de la suma: " + (a+b)); break;
case 'R':
case 'r': System.out.println("Resultado de la resta: " + (a-b)); break;
case 'M':
case 'm':
case 'P':
case 'p': System.out.println("Resultado del producto: " + a*b); break;
case 'D':
case 'd': System.out.println("Resultado de la division: " + a/b); break;
default: System.out.println("Por favor, indica la operacion"); break;
}
}
}
PROCEDIMIENTO

1. Realizar los ejemplos de esta guía.


2. Crear un programa que realice una simulación de una calculadora
utilizando operaciones de suma resta, multiplicación, división,
porcentaje
3. Crear un programa que genere los primeros 200 números naturales y
realice la suma de todos los números y la multiplicación de los mismos.
4. Hacer un programa que muestre en un menú las tablas de multiplicar de
1 al 10. Y que la muestre con el formato: A x B = C
5. Hacer un programa que permita calcular el perímetro de una estructura y
mostrarla en decímetros, para ello vamos a pedir tres datos en diferentes
escalas, uno en hectómetros, otro en decámetros y uno en metros. El
algoritmo deberá hallar a cuanto equivale el valor ingresado en
hectómetros a decímetros, de decámetros a decímetros y de metros a
decímetros, y sumar cada uno de los equivalentes porque el algoritmo
pide mostrar el resultado en decímetros. Crearlo en un menú

BIBLIOGRAFIA E INFOGRAFIA

http://fpsalmon.usc.es/genp/doc/cursos/poo/clases.html
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=511:clases
-que-utilizan-objetos-relacion-de-uso-entre-clases-java-concepto-de-diagrama-de-
clases-cu00641b&catid=68:curso-aprender-programacion-java-desde-
cero&Itemid=188

Potrebbero piacerti anche