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