clase v

Post on 05-Jul-2015

335 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lic. José Angel Quintanilla Rosales

Un programa bien escrito es su propio cielo; un programa mal escrito es su propio infierno. [Geoffrey James, El Tao

de la Programación]

Cambiar el tipo de una variable Cambios de tipo automáticos De int a float, de float a int

int a;float b;a = (int) b; // Se pierde informaciónb = (float) a; // No es necesario

CastingBasico

Una expresión es un conjunto de variables, operadores e invocaciones a métodos que se evalúan como un único resultado a 1 + 2 12 + a.getNumHoras() * 2

Las expresiones, además de un valor, tienen un tipo asociado, que depende de las subexpresiones dentro de la expresión

Una expresión se puede conjuntar con otras para formar una expresión mayor mediante el uso de operadores

Las expresiones se pueden emplear en Asignaciones Invocaciones a métodos Operandos

Las expresiones complejas pueden evaluarse de diferentes formas

a + b – c * 4

¿((a + b) – c) * 4?¿((a + b) – (c * 4))?

Se pueden emplear paréntesis para especificar el orden de evaluación ((a + b) – c) * 4

Existen las reglas de precedencia * y / más precedencia que + y -

Pero es mejor despejar la ambigüedad mediante el uso de paréntesis a + b – (c * 4)

En operadores binarios, ¿cómo se leen los operadores?

Asociatividad a la izquierda: suma 1 + 2 + 3 + 4 => (((1 + 2) + 3) + 4)

Asociatividad a la derecha a = b = c => (a = (b = (c)))

Una sentencia es una unidad completa de ejecución y termina en punto y coma

Sentencias de expresión Una expresión terminada en ;

Sentencias de declaración Sentencias de control de flujo

Un bloque es un conjunto de cero o más sentencias agrupadas entre llaves{ int a = 1120;}

Un bloque es, funcionalmente, como una sentencia y puede aparecer dónde puedan aparecer sentencias

Un programa es un conjunto de sentencias Hasta ahora, podemos hacer programas que

usen variables, pero no podemos hacer nada para romper el hilo secuencial

Permiten ejecutar ciertas sentencias dependiendo de una condición

If / else / else if Switch / case ?:

Condicionales

Sólo ejecuta el cuerpo si la condición es cierta La condición debe ser booleana

if (condición) {cuerpo

}

Es posible especificar qué hacer si la condición no se cumple mediante el else

if (condición) {cuerpo1

}else {

cuerpo2}

Se pueden encadenar varios condicionales Aunque más de una condición sea cierta, sólo se

ejecuta el cuerpo de la condición que aparece la primera

Si no se verifica ninguna condición, se ejecuta el else final

if (condición1) {cuerpo1

}else if (condición2){

cuerpo2}else if (condición3) {

cuerpo3}else {

cuerpo4}

Modo compacto de los if else anidados Sólo permite condiciones de igualdad

Si la condición es igual a 'a', se ejecuta cuerpo 1 Si ninguna se verifica

se ejecuta 'default'

switch (condición) {case a: cuerpo1case b: cuerpo2default: cuerpo3}

Mucho cuidado con switch Se ejecutan las sentencias desde el case que

verifica la condición hasta el final del switch o hasta un break.

Condicionales

while: ejecuta el cuerpo del bucle mientras la condición sea cierta

La condición se evalúa antes de la iteración

while (condición) {cuerpo

}

do while: ejecuta el cuerpo del bucle mientras la condición sea cierta

La condición se evalúa al final de la iteración, con lo que siempre se ejecuta al menos una vez

do{cuerpo

} while (condición)

top related