Академический Документы
Профессиональный Документы
Культура Документы
Adolfo R. de Soto
Escuela de Ingenieras Industrial e Informtica
Universidad de Len
Programacin I
ltima revisin 05-03-2013 17:29
Programacin en Java 1
PI 2012-13
1 / 20
Objetivos
Programacin en Java 1
PI 2012-13
2 / 20
El ordenador
El ordenador
Memoria
CPU
(Unidad Central
De Procesamiento)
stdin
Dispositivos
Entrada/
Salida
stdout
Programacin en Java 1
PI 2012-13
3 / 20
Compilar y Ejecutar
Cdigo Fuente
*.java
javac
Cdigo Objeto
Byte Code
*.class
Programacin en Java 1
java
PI 2012-13
4 / 20
3
5
Programacin en Java 1
PI 2012-13
5 / 20
10
12
14
16
18
20
Programacin en Java 1
PI 2012-13
6 / 20
Sentencias
Programacin en Java 1
PI 2012-13
7 / 20
Expresiones
Definicin (Expresin)
Es una combinacin bien escrita de valores literales, constantes, variables,
operadores y llamadas a mtodos que son interpretadas de acuerdo a
ciertas reglas de precedencia y asociacin, y que producen un valor de
cierto tipo.
Toda expresin devuelve un valor de un cierto tipo.
Hay un valor especial de retorno void que no puede ser usado en
ninguna expresin y que se desecha.
Hay que asegurarse de comprender las reglas de precedencia, sino
(parntesis).
Una expresin puede dar lugar a efectos colaterales.
Se evalan de izquierda a derecha.
Adolfo R. de Soto (EIII)
Programacin en Java 1
PI 2012-13
8 / 20
Tipos
Definicin (Tipo)
Es un conjunto de valores y las operaciones que pueden hacerse con esos
valores, el significado atribuido a los valores y a las operaciones y las
formas en que esos valores pueden almacenarse.
Java distingue entre distintas familias de tipos:
1 Tipos primitivos
2 Tipos array
3 Tipos Clases
4 Tipos Enumerados
En general los elementos de un tipo no pueden mezclarse con los de otro
tipo, aunque hay conversiones de tipo tanto implcitas como explcitas.
Programacin en Java 1
PI 2012-13
9 / 20
Variables
Programacin en Java 1
PI 2012-13
10 / 20
Identificadores Java
Programacin en Java 1
PI 2012-13
11 / 20
Literales
Definicin (Literal)
Un valor de un tipo escrito directamente en el cdigo fuente. Por ejemplo:
0,-3,c, true, 5.7, 2f, -3.0e23,"hola,0xFF,011, \u032
Literales enteros son tipo int. Usar l o L para tipo Long.
Literales en coma flotante son double. Para float usar f o F.
Literales en hexadecimal (0xFF), en octal (011) o en binario (Java
7.0) (0b10).
Hay carcteres especiales como retorno de carro (\r), fin de lnea
(\n), comillas, ... El carcter escape es \
Programacin en Java 1
PI 2012-13
12 / 20
Tipos primitivos
Tipo
byte
short
int
long
float
double
char
boolean
Tamao
1 byte
2 bytes
4 bytes
8 bytes
4 bytes
8 bytes
2 bytes
1 bit
Tipo
byte
short
int
long
float
double
char
boolean
Almacenamiento
complemento a 2 con signo
complemento a 2 con signo
complemento a 2 con signo
complemento a 2 con signo
IEEE 754 coma flotante
IEEE 754 coma flotante
Unicode
No precisado
Valor mnimo
27 = 128
215 = 32768
231 = 2, 147, 483, 648
263 = 9, 223, 372, 036, 854, 775, 808
1,4e 45
4,9e 324
\u0000
false
Valor Mximo
27 1 = 127
2 1 = 32767
231 1 = 2, 147, 483, 647
63
2 1 = 9, 223, 372, 036, 854, 775, 807
3,4028235e38
1,7976931348623157e308
\uffff
true
15
Programacin en Java 1
PI 2012-13
13 / 20
Operadores
Definicin (Operador)
Smbolo que representa una operacin bien definida para uno o varios
tipos.
Asegurarse de entender el significado del operador para el tipo de
datos involucrado.
Asegurarse de comprender las reglas de precedencia y asociatividad.
El operador ms usado: la asignacin.
Clasificacin de operadores en Java: aritmticos, relacionales y lgicos.
Programacin en Java 1
PI 2012-13
14 / 20
Asignacin
var = expresin;
El tipo de var debe ser compatible con el de expresin.
Es un operador porque es vlido:
x=y=z=100;
Observar que es asociativo por la derecha.
Hay operadores de asignacin abreviados:
+=
%=
=
&=
=
|=
/=
=
Programacin en Java 1
PI 2012-13
15 / 20
Operadores aritmticos
Operador
+
*
/
/
%
++
Significado
suma (tb ms unario)
resta (tb menos unario)
multiplicacin
divisin entera
divisin
mdulo
incremento
decremento
Tipos
enteros, coma flotante
enteros, coma flotante
enteros, coma flotante
enteros
coma flotante
enteros, coma flotante
enteros, coma flotante
enteros, coma flotante
Programacin en Java 1
PI 2012-13
16 / 20
Operadores relacionales
Operador
==
!=
>
<
>=
<=
Significado
Igual a
No igual a
Mayor que
Menor que
Mayor o igual que
Menor o igual que
todos
todos
todos
todos
Tipos
todos
todos
los primitivos
los primitivos
los primitivos
los primitivos
Programacin en Java 1
Tipo devuelto
boolean
boolean
boolean
boolean
boolean
boolean
PI 2012-13
17 / 20
&&
||
!
Operador
<<
>>
>>>
Significado
y lgico
o lgico
o exclusivo
y lgico evaluacin corta
o lgico evaluacin corta
no lgico
Tipos
boolean
boolean
boolean
boolean
boolean
boolean
Significado
desplazamiento a la izquierda
desplazamiento a la derecha con signo
desplazamiento a la derecha sin signo
complemento binario
Programacin en Java 1
Tipos
enteros
enteros
enteros
enteros
PI 2012-13
18 / 20
Precedencia de operadores
Precedencia de operadores. Todos asociativos a la izquierda, excepto los de asignacin.
Las expresiones se evalan de izquierda a derecha
Tipo Operador
Operadores sufijos
Operadores unarios
Creacin o cast
Multiplicativos
Aditivos
Desplazamiento
Relacionales
Igualdad
AND de bit
OR de bit exclusivo
OR de bit inclusivo
AND lgico
OR lgico
Condicional
Asignacin
Operador
[] . (parametros) expr++ expr
++expr expr +expr -expr !
new (tipo)expr
* /%
+<< >> >>>
< > >= <= instanceof
== !=
&
|
&&
||
?:
= += = = /= %=
> >= < <= >>>= & = = | =
Programacin en Java 1
PI 2012-13
19 / 20
Expresiones vlidas
Definicin
Expresin bien formada Una expresin en Java es correcta si puede
analizarse sintcticamente de forma correcta usando la especificacin del
lenguaje Java.
Nos basaremos en una definicin intuitiva de una expresin correcta que
iremos ampliando.
Programacin en Java 1
PI 2012-13
20 / 20