If anidados y Switch Prof. Lillian Bras.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Advertisements

2. Manejo de memoria Manejo de memoria estática
Curso de java básico (scjp)
Interprete o máquina real
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Insercion de datos..
Introducción a la programación en JAVA
Programación Interactiva Manejo de Excepciones
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Curso de Java Estructura del Lenguaje
Genéricos en Java Jaime Ramírez, Ángel Lucas González
Tema 1. Introducción a la programación (Lenguaje java).
Tratamiento de listas en Java
1.2 Sintaxis del lenguaje Java.
Aprende C en una lluviosa tarde de domingo (en algo más de un par de horas) Sintaxis del lenguaje C para implementar un programa imperativo.
Ocurre con frecuencia, tanto en programación como en la vida real, que las decisiones que se nos pide tomar son más complicadas que una simple selección.
ESTRUCTURAS DE SECUENCIA
Algoritmo y Estructura de Datos I
Programación Orientada a Objetos en Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
Arreglos: Vectores en JAVA
Método en Java.
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Conceptos Adicionales sobre Variables y Constantes y la clase Math
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Java. Objeto Es la instancia de una clase. Cada objeto se crea utilizando la palabra reservada new. Un objeto es conocido como una instancia. Ejemplo.
Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Estructuras de Control
POO Java Módulo 3 Elementos de programas Identificadores
0. Desarrollo de Programas: técnica del refinamiento.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Unidad I Java y C++ : Similitudes y diferencias
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
Input – Scanner y Cajas de diálogo
Archivos y Búsqueda Secuencial
Programación orientada a objetos
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
PROBLEMA PROPUESTO NUMERO 3 PROBLEMA: SE DESEA UN ALGORITMO QUE REALIZA LA OPERACION DE SUMA O RESTA DE LOS NUMEROS LEIDOS DEL TECLADOEN FUNCION ALA RESPUESTA.
Clase Teórica No. 4 Programación IV
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
JAVA J.A.C..
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
3.  Recursividad.
Algoritmos y Desarrollo de Programas I
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Capítulo 1 “Elementos de Programación”
Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.
Tema 11: Excepciones Antonio J. Sierra.
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
Parts of the Computer Las partes de la computadora
Telling Time.
Resumen Fundamentos de Programación/ Programación I
COMP 250.  Ejemplo:  Suponer que se necesita codificar un programa donde se muestre como resultado el string “Bienvenidos al mundo de JAVA!!!” cien.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Estructura de Selección en JAVA
Time Telling time is rather easy. You only need to know the numbers up to 59 to be able to tell the time.
JUEVES, EL 10 DE SEPTIEMBRE LT: I WILL RECOGNIZE SOME NEW VOCABULARY WORDS. Go over tests & retake procedures Interpretive Assessment: numbers & alphabet.
ALC 68 Hoy es martes el 27 de marzo de 2012 Hay 12 preguntas para la bienvenida. If you have not done the bienvenida yet, you need to make a new flash.
LENGUAJE DE PROGRAMACIÓN
LENGUAJE DE PROGRAMACIÓN
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
ESTRUCTURA DE UN PROGRAMA EN
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Transcripción de la presentación:

If anidados y Switch Prof. Lillian Bras

if-else-if Una instrucción de if que contiene, en el then o en el else, otra estructura de selección es conocida como un if anidado. La sintáxis de un if anidado sería como sigue: if (expression) statement or block else if (expression) // Put as many else ifs as needed here else statement or block Hay que tener mucho cuidado al construir una estructura de if anidados ya que el compilador va a emparejar cada else con el if anterior mas cercano.

Flujograma de If anidado

Programa correspondiente al flujograma anterior import..javax.swing.JOptionPane; public class TestResults { public static void main(String[] args) { int testScore; // Numeric test score String input; // To hold the user's input // Get the numeric test score. input = JOptionPane.showInputDialog("Enter your numeric " + "test score and I will tell you the grade: "); testScore = Integer.parseInt(input); // Display the grade. if (testScore < 60) JOptionPane.showMessageDialog(null, "Your grade is F."); else if (testScore < 70) JOptionPane.showMessageDialog(null, "Your grade is D."); else if (testScore < 80) JOptionPane.showMessageDialog(null, "Your grade is C."); else if (testScore < 90) JOptionPane.showMessageDialog(null, "Your grade is B."); else if (testScore <= 100) JOptionPane.showMessageDialog(null, "Your grade is A."); else // Invalid score JOptionPane.showMessageDialog(null, "Invalid score."); System.exit(0); }

if-else Matching Las llaves son necesarias siempre que necesitemos que se ejecute mas de una instrucción en caso de cierto o en caso de falso(else). A pesar de que para una sola instrucción las llaves no son necesarias, muchas veces es conveniente colocarlas porque esto puede hacer que la lógica sea mas clara. Además es recomendable indentar los else de forma que puede identificarse facilmente a que if pertenece.

if-else Matching Este else va con este if. Este else va con este if. if (employed == ′y′) { if (recentGrad == ′y′) System.out.println("You qualify for the " + "special interest rate."); } else System.out.println("You must be a recent " + "college graduate to qualify."); System.out.println("You must be employed to qualify."); Este else va con este if.

Operadores Lógicos Java provee tres operadores lógicos: uno unario (!) y dos binarios (&& y ||). Los operadores lógicos de AND(&&) y OR(| |)se utilizan para combinar expresiones booleanas. El operador unario correspondiente al NOT se utiliza para convertir una expresión booleana en el valor opuesto.

Operadores lógicos && || ! Operador Significado Efecto AND Une dos expresiones booleanas. Ambas tienen que ser ciertas para que la expresión completa sea cierta. || OR Une dos expresiones booleanas. Basta con que una sola de las expresiones sea cierta para que la expresión completa sea cierta. ! NOT Si este operador es aplicado a una expresión cierta devuelve falso y si es aplicado a una expresión falsa devuelve cierto..

Tabla de valores para && Expresión 1 Expresión 2 Expresión1 && Expresión2 true false

Tabla de valores para el operador | | Expresión 1 Expresión 2 Expresión1 | | Expresión2 true false

Tabla de valores para ! Expresión 1 !Expresión1 true false

“Short Circuit Evaluation” “Short Circuit Evaluation” corresponde al hecho de evaluar en una expresión lógica el mínimo necesario. Si el primer operando de una expresión construida con AND (&&) es falso inmediatamente se devuelve un falso sin tan siquiera evaluar el segundo operando. En el caso del OR(| |) , tan pronto como se descubre que uno de los operandos es cierto la expresión es evaluada como cierta.

Order of Precedence Orden de Precedencia Operadores 1 ( negación) ! 2 * / % 3 + - 4 < > <= >= 5 == != 6 && 7 || 8 = += -= *= /= %=

El operador condicional: ? El operador condicional(?) es un operador ternario; tiene tres operandos. Puede ser utilizado para escribir un enunciado simple que trabaje como un if-else. La forma del operador es: expresión1 ? expresión2 : expresión3 Por ejemplo: System.out.println(“your grade is: “ + (score> 60 ? “Fail.” : “Pass.”)); x > y ? z = 10 : z = 5; number = x > 100 ? 20 :50;

Otro tipo de selección: switch El switch permite usar una variable o expresión de tipo ordinal para determinar cual instrucción/es se debe ejecutar según su contenido. El switch puede evaluar una variable de tipo caracter o entero y tomar decisiones en base a su valor o contenido.

Sintáxis del switch switch (SwitchExpression) { case CaseExpression: // place one or more statements here break; // case statements may be repeated //as many times as necessary default: }

Ejemplo de switch import java.util.Scanner; public class SwitchDemo{ public static void main(String[] args){ int number; // A number entered by the user Scanner keyboard = new Scanner(System.in); System.out.print("Enter 1, 2, or 3: "); number = keyboard.nextInt(); // Determine the number entered. switch (number) { case 1: System.out.println("You entered 1."); break; case 2: System.out.println("You entered 2."); case 3: System.out.println("You entered 3."); default: System.out.println("That's not 1, 2, or 3!"); }

Switch… Cada case debe contener una expresión o valor único. case CaseExpression: // place one or more statements here break; Si el contenido de la variable o valor de la expresión parea con uno de los case, las instrucciones entre el colon y el enunciado de break son ejecutadas. En otras palabras, si hay un case que paree con el valor dela variable utilizada en el switch, la ejecución del programa es transferida a ese case.

switch…case Si un case no contiene break, entonces continúa ejecutando por el próximo case. La sección de default es opcional y será ejecutada si no se encuentra ningún case que paree con la expresión del Switch.

Ejemplo de Switch(sin break) public static void main(String[] args) { int number; // A number entered by the user // Create a Scanner object for keyboard input. Scanner keyboard = new Scanner(System.in); // Get one of the numbers 1, 2, or 3 from the user. System.out.print("Enter 1, 2, or 3: "); number = keyboard.nextInt(); // Determine the number entered. switch (number) case 1: System.out.println("You entered 1."); case 2: System.out.println("You entered 2."); case 3: System.out.println("You entered 3."); default: System.out.println("That's not 1, 2, or 3!"); }

Switch: Otro ejemplo "three grades:"); System.out.println("Our pet food is available in " + "three grades:"); System.out.print("A, B, and C. Which do you want " + "pricing for? "); input = keyboard.nextLine(); foodGrade = input.charAt(0); // Display pricing for the selected grade. switch(foodGrade) { case 'a': case 'A': System.out.println("30 cents per lb."); break; case 'b': case 'B': System.out.println("20 cents per lb."); case 'c': case 'C': System.out.println("15 cents per lb."); default: System.out.println("Invalid choice."); }

Para comparar objetos de tipo String: No podemos usar los operadores de relación para comparar dos objetos de tipo String.(Recuerde que lo que está almacenado en una variable de tipo String es una dirección) Para compararlos tenemos que usar los métodos compareTo y equals de la clase String.

Ejemplo de comparación de cadenas de caracteres public class StringCompare{ public static void main(String [] args){ String name1 = "Mark", name2 = "Mark", name3 = "Mary"; // Compare "Mark" and "Mark" if (name1.equals(name2)) System.out.println(name1 + " and " + name2 + " are the same."); else " are the NOT the same."); // Compare "Mark" and "Mary" if (name1.equals(name3)) System.out.println(name1 + " and " + name3 + }

Mas sobre la comparación de cadenas Los métodos equals y compareTo son sensitivos a las letras mayúsculas y minúsculas. Si queremos comparar dos cadenas de caracteres que podrían diferenciarse en el tipo de letra y no queremos considerar esa diferencia debemos usar equalsIgnoreCase o compareToIgnoreCase.

Otro ejemplo de comparación de cadenas import java.util.Scanner; public class SecretWord{ public static void main(String[] args){ String input; // To hold the user's input Scanner keyboard = new Scanner(System.in); // Prompt the user to enter the secret word. System.out.print("Enter the secret word: "); input = keyboard.nextLine(); // Determine whether the user entered the secret word. if (input.equalsIgnoreCase("PROSPERO")) System.out.println("Congratulations! You know the " + "secret word!"); else System.out.println("Sorry, that is NOT the " + }