Download ppt
Document related concepts
no text concepts found
Transcript
Resumen Fundamentos de Programación/ Programación I 2007-2008 Variables • En Java, se necesita una variable para cada dato que se quiere guardar en la memoria • Cada variable tiene un tipo y un identificador • Declaración (sólo una vez): <tipo> <identificador>; • Asignación (cualquier número de veces): <identificador> = <expresión>; • ¡El resultado de evaluar la expresión tiene que ser del mismo tipo que la variable! Tipos de datos • • • • • Números enteros: Números reales: Caracteres: Boolean (true o false): Cadenas de caracteres: int, byte, short, long float, double char boolean String Literales • Datos que se pueden expresar directamente en Java • Ejemplos: – Número entero: 10 – Número real: 18.54 – Carácter: ‘d’ – Boolean: true o false – Cadena de caracteres: “Hola” Conversión y casting • Se puede convertir el tipo de datos que son números o caracteres • Ejemplo: double d = 10; int i = ‘c’; • La conversión sólo es posible en una dirección: char byte short int long float double • Si quiere convertir el tipo en la otra dirección necesita casting: int i = (int)5.4; char c = (char)67; Operadores • Se usan para manipular datos • Cada operador está asociado con uno o más datos, llamados operandos: unario binario ternario un operando dos operandos tres operandos • Para resolver ambigüedad, Java aplica prioridad y asociatividad Operadores aritméticos Categoría Operandos Significado + unario, binario enteros, reales signo, adición - unario, binario enteros, reales signo, sustracción * binario enteros, reales multiplicación / binario enteros, reales división % binario enteros, reales resto Operadores abreviados Categoría Abreviado No abreviado ++ unario a++, ++a a = a + 1 -- unario a--, --a a = a - 1 += binario a += b a = a + b -= binario a -= b a = a - b *= binario a *= b a = a * b /= binario a /= b a = a / b %= binario a %= b a = a % b Operadores relacionales Categoría Operandos Significado == binario enteros, reales igual != binario enteros, reales distinto > binario enteros, reales mayor >= binario enteros, reales mayor o igual < binario enteros, reales menor <= binario enteros, reales menor o igual Operadores lógicos Categoría Operandos Significado && binario boolean Y lógica || binario boolean O lógica ^ binario boolean O exclusiva ! unario boolean NO Prioridad y asociatividad 1 () 2 + - ++ -- ! (tipo) sgn/inc/dec/NO/casting der-izq 3 * / % mult/div/resto izq-der 4 + - + ad/sust/concatenación izq-der 5 > >= < <= mayor/menor izq-der 6 == != igual/distinto izq-der 7 ^ O exclusiva izq-der 8 && Y lógica izq-der 9 || O lógica izq-der asignación der-izq 10 = += -= *= /= %= paréntesis Flujo • El flujo de un programa es el orden en cual se ejecutan las instrucciones • Normalmente el flujo es secuencial • Existen dos estructuras que cambian el flujo: – Estructuras condicionales: un bloque sólo se ejecuta bajo ciertas condiciones – Estructuras de repetición: un mismo bloque se ejecuta repetidamente Instrucciones condicionales • • • • if if-else if-else-if switch Instrucción if Sintaxis: if (<expresión-boolean>) <bloque-o-instruccion> expresión-boolean true bloque-o-instruccion false Instrucción if-else Sintaxis: if (<expresión-boolean>) <bloque-o-instruccion1> else <bloque-o-instruccion2> expresión-boolean true bloque-o-instruccion1 false bloque-o-instruccion2 Instrucción if-else-if Sintaxis: if (<expresión-boolean1>) <bloque-o-instrucción1> else if (<expresión-boolean2>) <bloque-o-instrucción2> ... else if (<expresión-booleanN-1>) <bloque-o-instrucciónN-1> else <bloque-o-instrucciónN> Instrucción switch switch (<selector>) { case <etiqueta1>: case <etiqueta2>: ... case <etiquetan>: default: } <bloque1>; break; <bloque2>; break; <bloquen>; break; <bloqued>; // opcional Estructuras de repetición • while • do-while • for Bucle while Sintaxis: while (<expresión-boolean>) <bloque-o-instrucción> expresión-boolean true bloque-o-instrucción false Bucle do-while Sintaxis: do <bloque-o-instrucción> while (<expresión-boolean>); bloque-o-instrucción true expresión-boolean false • Sintaxis: Bucle for for (<inicialización>;<condición>;<actualización>) <bloque-o-instrucción> inicialización condición false true bloque-o-instrucción actualización Métodos • Métodos en Java son módulos de código que se pueden tratar individualmente • Un programa normalmente consiste en varios métodos • Declaración de un método: <acceso> <tipo> <identificador>(<entrada>) { <bloque> } Métodos • • • • El acceso especifica quien puede usar el método Acceso para todos: public static El tipo especifica cual es el resultado del método Puede ser cualquier tipo de datos más void (ningún resultado) • El identificador es el nombre del método • La entrada especifica la información necesaria para aplicar el método • Es una lista de variables separadas por coma Métodos • La salida es el resultado del método (si el tipo no es void) • Para terminar el método y devolver el resultado se usa la palabra return • Para llamar a un método hay que especificar los valores de entrada (separados por coma): <identificador>(<valores>) • Si el método halla en otro programa: <programa>.<identificador>(<valores>) Inicialización y duración • Para usar una variable hay que inicializar su valor • Si existe un caso en que no se inicializa el valor de una variable, el programa no compila • La duración (o vida) de una variable se limita por el bloque de código donde está declarada • Puede ser dentro de un método, dentro de un bucle o dentro de una estructura condicional • ¡La variable no existe fuera de su bloque! Palabras reservadas class public, static void return byte, short, int, long float, double char boolean, true, false if, else, switch case, default while, do, for break, continue inicio de programa acceso tipo de métodos retorno de métodos números enteros números reales caracteres tipo Boolean estructura condicional parte de switch estructura de repetición control de flujo