Upload
adoracion-gonsales
View
223
Download
0
Embed Size (px)
Citation preview
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: int, byte, short, long• Números reales: float, double• Caracteres: char• Boolean (true o false): boolean• Cadenas de caracteres: 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 un operando
binario dos operandosternario 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 () paréntesis
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
10
= += -= *= /= %= asignación der-izq
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 ifSintaxis: if (<expresión-boolean>) <bloque-o-instruccion>
expresión-boolean
bloque-o-instruccion
true false
Instrucción if-elseSintaxis: if (<expresión-boolean>) <bloque-o-instruccion1>
else<bloque-o-instruccion2>
expresión-boolean
bloque-o-instruccion1
true false
bloque-o-instruccion2
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 if-else-if
Instrucción switchswitch (<selector>) {
case <etiqueta1>: <bloque1>; break;
case <etiqueta2>: <bloque2>; break;
...case <etiquetan>: <bloquen>;
break;default: <bloqued>; // opcional
}
Estructuras de repetición
• while• do-while• for
Bucle whileSintaxis: while (<expresión-boolean>) <bloque-o-instrucción>
expresión-boolean
bloque-o-instrucción
true false
Bucle do-while
Sintaxis: do <bloque-o-instrucción>
while (<expresión-boolean>);
expresión-boolean
true
false
bloque-o-instrucción
Bucle for• Sintaxis:
for (<inicialización>;<condición>;<actualización>)<bloque-o-instrucción>
inicialización
condición
bloque-o-instrucción
actualización
truefalse
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 inicio de programapublic, static accesovoid tipo de métodosreturn retorno de métodosbyte, short, int, long números enterosfloat, double números realeschar caracteresboolean, true, false tipo Booleanif, else, switch estructura condicionalcase, default parte de switchwhile, do, for estructura de
repeticiónbreak, continue control de flujo