Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

Documentos relacionados
Introducción a Java. Introducción a Java. Programación I

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Java. Introducción a la Programación Orientada a Objetos

5. Sentencias selectivas o condicionales

Lección 3 Sentencias de control

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

ESTRUCTURAS DE CONTROL

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Práctica #4: Uso de control de flujo

Tema 2. El lenguaje JAVA

Estructura de datos y Programación

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Bloque II. Elementos del lenguaje de programación Java

Estructuras de control Agosto de Facultad de Ingeniería. Universidad del Valle

Java para programadores

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Construcciones del Lenguaje Java

fundamentos de programación (unidad 4) programación estructurada en Java

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

3.3 Conceptos Básicos del Lenguaje Java

Estructuras de control selectivas

Taller de Programación I. Tema 02: Programación en Java, estructuras iterativas y condicionales

Estatutos de Control C# Estatutos de Decisión (Selección)

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema 6 Control de Flujo

Fundamentos de Programación

Programación. Test Autoevaluación Tema 4

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Cuáles son los lenguajes que pueden utilizarse para programar Karel?

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Java Básico. La sintaxis. Copyright

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Lección 2 Introducción al lenguaje C

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Tema: Estructuras de Selección en C#.

Guía práctica de estudio 06: Estructuras de repetición

ESTRUCTURAS DE CONTROL

Programación en Lenguaje C

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.andresmtzgwordpress.com

Estructuras de Control

Dobles: Es el caso de la instrucción if-else (punto 1.2).

int[] nombrearray1; int nombrearray2[];

Fundamentos de programación

Introducción al lenguaje C

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Los parámetros: son los campos que se comunican a los métodos de los objetos.

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

4. Operadores Operador asignación

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Sentencias de Procesamiento Iterativo: while y do-while

Estructuras de Control JAVA

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Instrucciones de control

Cuales son los tipos de instrucciones que se utilizan en la programación?

TEMA 4. ESTRUCTURAS DE CONTROL

Operadores aritméticos

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Modulo 1 El lenguaje Java

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

PRINCIPIOS DE PROGRAMACIÓN. Mtro. en Ingeniería de Software. Especialidad en e-commerce Ismael Jiménez Hernández

Programación Orientada a Objetos Sentencias Java Parte II Ing. Julio Ernesto Carreño Vargas MsC.

Programación Orientada Objetos. Estructuras de control if, If else, switch

En lenguaje C son soportados dos tipos de sentencias condicionales: if y switch.

Principios de Computadoras II

Sintaxis básica, variables y 7pos

Curso de Java Introducción a la Programación III

FACULTAD DE INGENIERÍA

El lenguaje C. 1. Identificadores, constantes y variables

Lenguaje de Programación: C++ Estructuras de control:switch

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

TEMA 4: Programación estructurada

Introducción a C# y la plataforma.net

Instrucción de selección múltiple switch.

Introducción a C# y la plataforma.net. Pablo Zaidenvoren 2013

Estructuras de Datos Declaraciones Tipos de Datos

Elementos léxicos del lenguaje de programación Java

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

Fundamentos del Lenguaje de Programación Java

Estructura de Selección y Repetición en C#

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Transcripción:

Modulo 7. Expresiones y sentencias de control de Flujo En este punto de estudio se considera que tenemos claro los conceptos relacionados con variables y operadores, ahora estudiaremos como con las variables y los operadores construyen expresiones, estas expresiones son el componente principal de las declaraciones (statemenst) y como estas declaraciones (statements) se agrupan en bloques que en ocasiones pueden no tener una ejecución secuencial, esto se logra gracias a las sentencias o de control de flujo proporcionadas por el lenguaje. Que es una Expresión? Es una construcción que evalúa un solo valor y esta compuesto por variables, operadores, llamadas a métodos; se debe tener muy presente que esta construcción debe cumplir con la sintaxis del lenguaje. En módulos anteriores se estudio que se pueden crear un variable de diferentes tipos de datos, entre los que tenemos el int. Un ejemplo de una expresión es la creación y asignación de un valor a un dato primitivo. int variableejemploentero = 100; Observemos que cumple con la sintaxis del lenguaje, esta expresión en particular utiliza una variable y el operador de asignación. Se puede componer una expresión con otra expresión? La respuesta es sí, una expresión se puede componer de expresiones más pequeñas, siempre y cuando el tipo de datos evaluado en la porción de la expresión sea compatible con el tipo de datos de la expresión más grande. El lenguaje java puede evaluar expresiones y declararlas como ambiguas al utilizar expresiones dentro de expresiones, supongamos la expresión 3 + 5 * 6 / 7 Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

Esta ambigüedad se soluciona especificando exactamente como se debe evaluar la expresión mediante el uso de los paréntesis, así: ( 3 + 5 ) * ( 6 / 7 ) ( 3 + ( 5 * 6 ) ) / 7 Declaraciones o sentencias de control de flujo. Las declaraciones o sentencias de control de flujo no son más que instrucciones que permiten que el código se ejecute de diferentes formas, es decir, permite que la ejecución no se realice en una forma vertical, declaración por declaración; si no que por el contrario logran ejecutar ramificaciones del código, bloques repetitivos de código, agregar condiciones para saber que bloques se deben ejecutar. A continuación estudiaremos las sentencias de control de flujo soportadas por el lenguaje Java. Los conceptos acá expuestos y su uso, deben estar ya comprendidos y estudiados.

Sentencia if then Esta sentencia permite ejecutar un bloque del código solo si una condición a evaluar es verdadera. La sintaxis de escritura es la siguiente: if ( condición boolena) código B código A. Si la condición es verdadera el código A se ejecutaría, seguido del código B; ahora bien, si la condición es falsa se ejecuta el código B. Cuando código A es más de una declaración se debe colocar entre corchetes y formar un bloque de código. if ( condición boolena) código B Bloque de código El colocar corchetes cuando solo se ejecute una instrucción es opcional, pero es una buena práctica que evita errores en el código y hace más fácil su lectura. if ( condición ) código B código A, solo una declaración La condición boolena puede ser una expresión que de cómo resultado true o false, o una variable boolena

Ejemplo int numerouno = 19; int numerodos = 27; if( numerodos > numerouno) System.out.println("El número mayor es el numerodos = " + numerodos ); System.out.println("Al finalizar esta sentencia se ejecutaria" );

Sentencia if then - else Brinda un complemento a la sentencia if then, ya que permite escribir las instrucciones o declaraciones de código a ejecutar cuando una condición es falsa luego de ser evaluada. Utiliza la misma sintaxis solo que agrega la palabra reservada else, el uso de los corchetes tiene el mismo comportamiento. if ( condición ) código A. else código B código C ó if ( condición ) Bloque de código A else Bloque de código B código C ó

if ( condición 1 ) Bloque de código A else if ( condición 2 ) código B, solo una declaración código C En el último caso se anido la sentencia if de la condición 2. int numerodos = 27; if( numerodos > 25) System.out.println("numero dos es mayor que 25 y es igual a "+ numerodos ); else System.out.println("numero dos NO es mayor que 25 y es + igual a = " + numerodos ); System.out.println("Al finalizar esta sentencia se ejecutaria" );

Otro Ejemplo: int grados = 68; if( grados > 90 ) System.out.println("Muy bien, super grande!"); else if( grados > 60 ) System.out.println("Muy bien, no tan grande!"); else System.out.println("Hmm no alcanza lo esperado"); Errores comunes 1. Evaluar un número en la expresión //Mal int numero = 0; if(numero) //Declaraciones 2. Usar = (asignación) en lugar del operador == (igualdad) // Mal int numero = 0; if(numero = 0 ) //Declaraciones 3. Escribir elseif (junto) el lenguaje reconoce a else y a if

La sentencia switch A diferencia de las sentencias if then o if then else, que solo permiten a lo máximo dos posibles caminos a seguir, switch permite cualquier cantidad de posibles caminos a seguir. Las declaraciones o sentencias que se encuentran dentro de la sentencia switch conoce como el cuerpo del switch y contiene los posibles caminos a seguir o un camino por defecto. La sintaxis es: switch ( variableevaluar ) case 1: case 2: case 3: case 4: default: camino A, solo se ejecuta cuando variableevaluar sea igual a 1 camino B, solo se ejecuta cuando variableevaluar sea igual a 2 camino C, solo se ejecuta cuando variableevaluar sea igual a 3 camino D, solo se ejecuta cuando variableevaluar sea igual a 4 camino E, solo se ejecuta cuando variableevaluar no cumplió ninguna condición o por defecto. Observe las llaves luego de la sentencia switch y la llave al finalizar, lo que se encuentra dentro del switch es su cuerpo. Para este caso en particular, el switch evalúa la variableevaluar y determina cual camino seguir dentro de las posibilidades del switch.

Para tener en cuenta en su uso: 1. Al encontrar el camino el switch continúa ejecutando los demás caminos que se encuentren. Para nuestro caso particular si variableevaluar es 1, se ejecutaran los caminos A, B, C, D y E. Si variableevaluar es 4, se ejecutaran los caminos D y E. Esta particularidad se soluciona con la sentencia break, la cual obliga al switch a continuar la ejecución con la siguiente instrucción luego del cuerpo del switch. switch ( variableevaluar ) case 1: break; case 2: break; case 3: break; case 4: break; default: camino A, solo se ejecuta cuando variableevaluar sea igual a 1 camino B, solo se ejecuta cuando variableevaluar sea igual a 2 camino C, solo se ejecuta cuando variableevaluar sea igual a 3 camino D, solo se ejecuta cuando variableevaluar sea igual a 4 camino E, solo se ejecuta cuando variableevaluar no cumplió ninguna condición o por defecto.

2. switch solo permite que variableejecutar sea de los siguientes tipos: Un tipo de datos primitivo entre byte, short, char y int; Con tipos de datos enum 1. Algunas clases que envuelven ( wrap ) algunos tipos de datos primitivos (Clase Integuer, Clase Character, Clase Byte, Clase Short). 3. La decisión de utilizar switch o if anidados parte del análisis de la necesidad, if anidados es más utilizado cuando se debe evaluar rangos de valores o diferentes condiciones. public class EjemploSwith public static void main( String[] args ) int edad = 92; switch(edad) case 100: System.out.println( "Tienes un siglo!!!!" ); break; case 90: System.out.println("Ya tienes 90, + hmm felicitaciones!!!!" ); break; case 80: System.out.println("Aún te falta un poco + para los 90!" ); break; default: System.out.println("Que lastima no aplicas + para nuestra selección"); 1 Si se desea conocer este tipo de datos puede http://java.sun.com/docs/books/tutorial/java/javaoo/enum.html

Sentencias while La sentencia while permite ejecutar un bloque de código mientras una condición sea verdadera. Es conocida como un ciclo. Ó while (expresión) bloque de código while (expresión) código A En este caso código A solo es una instrucción La expresión es evaluada y si su resultado es un boolean true, se ejecuta el bloque de código entre los corchetes o el código A. int i = 4; while ( i > 0 ) System.out.print(i); i--;

Sentencias do while La sentencia do while, ejecuta primero una porción del código y luego evalúa una expresión, si esta expresión es verdadera la porción de código se continua ejecutando. do while ( expresión ) Bloque de código Dentro del bloque de código a ejecutar se debe contemplar las instrucciones tales que la expresión a evaluar en un momento deseado sea falso, si no, se incurre en el error de generar ciclos infinitos. En ocasiones se desea realizar ciclos infinitos, un fragmento de código para tal fin es: while (true) // Bloque de código a repetirse en el ciclo infinito Ejemplo 1: int x = 0; do System.out.println(x); x++; while(x<10); Ejemplo 2: do System.out.println( hello ); while(false);

Sentencias for Permite realizar un ciclo en un rango de valores controlados, el rango de ejecuciones se define mientras una condición es cumplida. La sintaxis de esta sentencia es: for (iniciación ; condición de terminación; incremento) Bloque de código Que es iniciación? Es la expresión que se ejecuta al iniciar el ciclo, normalmente se inicia una variable que permite el control del ciclo. Qué es condición de terminación? Es la expresión que se evalúa y termina el ciclo cuando su valor es false. Qué es incremento? Es la expresión que se ejecuta después de la ejecución de una iteración del ciclo, esta expresión puede ser de incremento o de decremento. En el siguiente ejemplo se muestra como imprimir los números del 1 al 10. 2 class ForDemo public static void main(string[] args) for(int i=1; i<11; i++) System.out.println("Count is: " + i); La sentencia for también permite la iteración entre arreglos y Colecciones de datos, la sintaxis para lograr esto es: 2 Ejemplo publicado en el tutorial de sun: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/for.html

for ( tipodato item : grupo o arreglo ) Bloque de código Donde el grupo o arreglo a iterar debe existir y estar declarado previamente. Recordar preguntar por esta instrucción especial cuando se vea el tema de arreglos.