El J2SE/J2EE de Sun ofrece: Compilador Visor de Applets (AppletViewer) Interprete de cdigo intermedio Generador de documentacin
Paquetes de J2SE/J2EE
El J2SE/J2EE ofrece paquetes estndares para: Lenguaje (java.lang) Interface grfica (java.awt, javax.swing) Control de applets (java.applet) Entrada/Salida (java.io) Redes (java.net)
El J2SE/J2EE de Sun ofrece un soporte de documentacin para: Comentarios Implementacin Documentacin Generador de documentos
Las convenciones para el establecimiento de nombres incluyen: Nombres de archivos: Persona.java, Producto.java Nombres de clases: Persona, Producto, Cuenta Nombres de mtodos: getNombrePersona(), setCantidadProducto() Nombres de paquetes: oracle.xml.xsql, java.awt, java.io
6
Definicin de clases
Una definicin de clases tpicamente incluye: Modificador de acceso Palabra reservada class Constructores Campos de instancia (atributos o propiedades) Mtodos de instancia (operaciones) Campos de clase (atributos estticos) Mtodos de clase (operaciones estticas)
Mtodo de instancia
10
[modificador de acceso] [static] <tipo de retorno> <nombre del mtodo> ([parmetros]) { return }
11
Ejemplo de mtodo
public float getMontoDeuda (String codigo){ int numeroDeDias; float deuda; float pagoMora = 1.50F; String nombreCliente; numeroDeDias = this.getDiasDeMora(); deuda = numeroDeDias * pagoMora; nombreCliente = getNombreCliente(codigo); return deuda; } Sentencias del mtodo Variables del mtodo Declaracin
Retorno
12
Declaracin de variables
Se pueden declarar las variables dentro del bloque de la clase, pero fuera de cualquier mtodo. Se deben declarar las variables antes de que se utilicen dentro de un mtodo. Es tpico declarar las variables al principio del bloque de la clase. El alcance o la visibilidad de las variables se determina en el bloque del cdigo. Se debe inicializar las variables del mtodo antes de usarlas. La clases y las variables de instancia son inicializadas automticamente.
13
Variables temporales
15
Palabras reservadas
boolean byte char double float int long short void true false null abstract final native private protected public static synchronized transient volatile strictfp break case catch continue default do else finally for if return switch throw try while class extends implements interface throws import package instanceof new super this
16
Tipos de variables
Ocho tipos de datos primitivos: Seis tipos numricos Un tipo char (para caracteres) Un tipo boolean (para valores lgicos) Tipos definidos por el usuario: Clases Interfaces Arreglos
a b c
17
Reales
Caracteres
Verdadero Falso
float double
char
boolean
true false
18
19
Declaracin de variables
Forma bsica de declaracin de variables: Tipo de variable [ = valor];
public static void main(String[] args) { int productosRentados = 1; float costoProducto; int i, j, k; double tasaInteres; }
pueden
ser
inicializadas
cuando
son
20
10
Variables locales
Las variables de mtodo o las variables locales se definen slo dentro de un bloque del mtodo o del cdigo. Deben ser inicializadas antes de que su contenido sea ledo o referenciado.
class Factura { private int codigo; // variable de instancia
public void agregarProducto() { float costoProducto = 3.50F; // variable local int numeroDeDias = 3; } } // variable local
21
Utilice los nombres significativos para las variables, tales como nombreCliente, fechaNacimiento.
22
11
Literales flotantes
23
Literales carcter
'a'
'\n'
'\t'
'\077 '\u006F'
Literales cadena
"Hola mundo\n"
24
12
Declaracin de variables
Falta ;
int num = numero * numero * numero; long numLargo = num + num + num double real = 78.0; double new = 0.1; boolean bandera = true; boolean max = num > numLargo; char letra = "La Libertad"; char caracter = 'd';
26
13
Clases de operadores
Hay cinco tipos de operadores: Asignacin Aritmticos Manejo de bits Relacin Booleanos
27
Operadores de Asignacin
Un operador de asignacin es una expresin y puede ser utilizado siempre que la expresin sea permitida. La expresin a la derecha se asigna a la variable de la izquierda:
int var1 = 0, var2 = 0; var1 = 50; // var1 = 50 var2 = var1 + 10; // var2 = 60
La expresin a la derecha se evala siempre antes de la asignacin. Las asignaciones se pueden encadenar:
var1 = var2 = var3 = 50;
28
14
Operadores Aritmticos
Realizan las operaciones aritmticas bsicas Trabajan sobre variables y literales numricos
int a, b, c, d; a = 2 + 2; b = a * 3; c = b - 2; d = b / 2; e = b % 2; // suma // multiplicacin // substraccin // divisin // resto de la div. entera
29
Operadores Aritmticos
En su mayora, el resultado de las operacin es int o long: byte, char, y los valores cortos son convertidos a int antes de la operacin. Si cualquier operando es de tipo long, entonces el otro tambin se convierte a long, y el resultado es de tipo long. Los operandos de floats son convertidos a doubles para clculos de punto flotante.
byte b1 = 1, b2 = 2, b3; b3 = b1 + b2; // ERROR: el resultado es un int // b3 es byte
30
15
byte
short
int
long
31
32
16
Operadores Relacionales
> >= < <= == != mayor que mayor que o igual a menor que menor que o igual a igual a diferente a
int var1 = 7, var2 = 13; boolean res = true; res = (var1 == var2); res = (var2 > var1); // res = false // res = true
33
34
17
Operadores Lgicos
Los resultados de expresiones booleanas pueden ser combinados usando los operadores lgicos:
&& & || | ^ ! y o o excluyente negacin
int var0 = 0, var1 = 1, var2 = 2; boolean res = true; res = (var2 > var1) & (var0 == 3); res = !res; // falso // verdadero
35
Un operador de asignacin puede ser combinado con cualquier operador binario convencional:
double total=0, num = 1; double porcentaje = 0.50; total = total + num; total += num; total -= num; total *= porcentaje; // total = // total = 1 2
36
18
Tambin para cadenas Desp. de bits Tipo, clase de AND aritmtico OR exclusivo OR aritmtico o inclusivo
La asociacin significa que los operadores con la misma precedencia se ejecutan de izq. a der. o de der. a izq. :
int var1 = 0; var1 = 12 - 6 + 3; // var1 = 9
19
Concatenacin de cadenas
39
Repeticin
Salto
40
20
41
Sentencia if
if ( boolean_expr ) General : sentencia1; [else sentencia2]; if (i % 2 == 0) Ejemplos: System.out.println("Par"); else System.out.println("Impar"); if (i % 2 == 0) { System.out.print(i); System.out.println(" es par"); }
42
21
Sentencias if anidadas
if (velocidad >= 25) if (velocidad > 65) System.out.println("Velocidad mayor a 65"); else System.out.println("Velocidad mayor o igual a 25 y menor o igual a 65"); else System.out.println("Velocidad menor a 25"); if (velocidad > 65) System.out.println("Velocidad mayor a 65"); else if (velocidad >= 25) System.out.println("Velocidad entre 25 y 65"); else System.out.println("Velocidad menor a 25");
43
1
else
22
Sentencia switch
switch ( expr_entera ) { case constante1: sentencia1; break; case constante2: sentencia2; break; [default: sentencia3;] }
til para seleccionar varias alternativas con valores enteros. expr_entera puede ser byte, int, char, o short.
45
Sentencia switch
switch (opcion) {
La etiqueta case debe ser constante. Se usa el break para saltar fuera del switch.
}
case 37: System.out.println("Caf?"); break; case 45: System.out.println("T?"); break; default: System.out.println("???");
46
23
Sentencias Repetitivas
Hay tres tipos de ciclos en Java: while dowhile for Todos los ciclos tienen cuatro partes: Condicin de la iteracin Cuerpo Inicializacin Terminacin
47
Sentencia while
Ejemplo:
48
24
Sentencia dowhile
Ejemplo:
49
Sentencia for
Ejemplo:
for (i = 0; i < 10; i++) System.out.println(i);
50
25
Sentencia for
Las variables pueden ser declaradas en la parte inicial de la sentencia for:
for (int i = 0; i < 10; i++) System.out.println("i = " + i);
51
Ciclo infinito La sentencia que contiene x-- est fuera del while
Ciclo infinito La sentencia que contiene x-- est fuera del while
Falta declarar e inicializar la variable i, ya sea dentro del for o fuera de este
52
26
Sentencia break
La sentencia break sale de una sentencia de ciclo o switch. Transfiere el control a la primera sentencia despus de la sentencia de ciclo o switch. Puede simplificar el cdigo pero debe ser utilizado escasamente.
while (edad <= 65) { balance = (balance + pago) * (1 + interes); if (balance >= 250000) break; edad++; }
53
break vs continue
La sentencia break sale de la sentencia de ciclo completamente. La sentencia continue deja la iteracin actual y la sentencia de ciclo continua su ejecucin.
int i = 0; while( i <= 6 ) { ++i; if ( i == 3 ) break; System.out.println(i); } } int i = 0; while( i <= 6 ) { ++i; if ( i == 3 ) continue; System.out.println(i);
54
27