Beruflich Dokumente
Kultur Dokumente
en Java
• Bibliografía:
– Core Java 1.2, Volúmenes I – II. C.S.
Horstmann, Gary Cornell, Prentice Hall, 1999.
– Tutorial de Java en http://java.sun.com
El lenguaje Java
Características principales (I)
• Lenguaje interpretado.
• Fuertemente tipado.
• Sintaxis similar a C/C++.
• Sin punteros: Garbage collection.
• 100% portable.
• Integra librearías estándar para:
– Interfaces de usuario.
– Objetos distribuidos.
– Threads.
Características principales (y II)
class Ejemplo {
...
}
Java Virtual Machine
class Aux {
JVM
...
}
Compilador
Java
Ejemplo.class Aux.class
Comparativa: Java vs. C++ (I)
Java C++
• Interpretado • Compilado
• Variables y literales:
– Declaración y utilización de variables y
literales similar a C/C++.
Compatibilidad entre tipos
byte b = 42;
char c = 'a'; // también válido: c = 97;
short s = 1024;
int i = 50000;
long l = 120000;
float f = 5.67f;
double d = .1234;
double result = (f*b) + (i/c) - (d*s);
– Lógicos:
&&, ||, !
– Operadores de bit:
&, |, ^, ~, >>, <<
– Relacionales:
>, <, >=, <=, ==, !=
– Condicional:
If-then-else: (condicion) ? acción1 : acción2
Precedencia de operadores
( ) [ ] .
++ -- ~ !
Orden de ejecución de operadores
new
* / %
+ -
>> >>> <<
> >= < <= instanceof
== !=
&
^
|
&&
||
? :
= += *= -= /=
Igualdad de precedencia
Arrays
• Declaración:
int a[];
• Reserva de tamaño:
a = new int[3];
int b[] = {1, 2, 3, 4};
• Asignación de valores:
a[1] = 7;
b = a;
• Errores:
a[6] = 7; // Fuera del rango
a = {1, 2, 3}; // Sólo válido en la inicialización
int c[5]; // La dimensión sólo al hacer new
char str[] = “hola”; // Los Strings no son arrays en Java
Arrays multidimensionales
default:
…
}
Iteraciones
• Tres tipos de iteraciones.
while (condición1) {
…
}
do {
…
} while (condición1)
long numero;
String titular; Variables
long saldo; (datos)
Funciones
void retirar (long cantidad) {
if (cantidad > saldo)
System.out.println ("Saldo insuficiente");
else saldo -= cantidad;
}
}
Variables de una clase
• Definen una estructura de datos (similar al struct de C)
class CuentaBancaria { struct CuentaBancaria {
long numero; long numero;
String titular; char *titular;
long saldo; long saldo;
} };
CuentaBancaria cuenta1 =
new CuentaBancaria (6831531, cliente1, 100000);
CuentaBancaria cuenta2 =
new CuentaBancaria (8350284,
new Cliente ("Pilar Garcia", 15165442),
200000);
Constructor por defecto