Sei sulla pagina 1di 27

El lenguaje de programacin Java

Tecnologa de la Programacin I Ing. Zoraida Vidal Melgarejo, Mg.


1

Componentes del Kit de Herramientas (Toolkit)

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)

Uso del documentador de J2SE

El J2SE/J2EE de Sun ofrece un soporte de documentacin para: Comentarios Implementacin Documentacin Generador de documentos

Contenidos de la fuente de Java


Un archivo de Java puede contener tres construcciones de alto nivel: Solamente una palabra clave del paquete (package) seguido por el nombre del paquete. Cero o ms sentencias import seguidas por un nombre completo de clase o *. Una o ms definiciones de clases o interfaces seguidas de un nombre y un bloque ({}). El nombre del archivo debe ser el mismo nombre que el de la clase o interface pblica definida en el archivo.

Convenciones para el establecimiento de nombres

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

Convenciones para el establecimiento de nombres


Variables nombreCliente, cantidadMinimaProducto Constantes ANCHO_MIN, MAX_NUMERO_DE_PRODUCTOS

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)

Ejemplo: Clase Prestamo


Modificador de acceso public class Prestamo { // Variables de instancia int idPrestamo; String fechaPrestamo; float montoDeudaPrestamo; // Mtodos de instancia float getMontoDeuda (int idPrestamo) { } }
9

Declaracin Variable de instancia

Mtodo de instancia

Creacin de bloques de cdigo


Incluir todas las declaraciones de clase. Incluir todas las declaraciones de mtodos. Agrupar otros segmentos de cdigo relacionados.
public class Saludo { public static void main(String[] args) { System.out.println("Hola mundo"); } }

10

Definicin de los mtodos de Java


Siempre dentro de una clase Especifique: Modificador de acceso Palabra reservada Parmetros Tipo de retorno

Mtodos estticos o de clase

[modificador de acceso] [static] <tipo de retorno> <nombre del mtodo> ([parmetros]) { return }
11

<bloque de cdigo Java>

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

Ejemplos de variables en el contexto de un mtodo


public float getMontoDeuda (String codigo) { float deuda = 0; int numeroDeDias = 0; float pagoMora = 1.50F; { // nuevo bloque de cdigo int contador = 1; deuda = numeroDeDias *pagoMora; contador++; } // fin del bloque return deuda; }
14

Variables del mtodo

Variables temporales

Reglas para las declaraciones


Usar punto y coma para terminar la declaracin. Definir las declaraciones mltiples dentro de llaves. Use llaves para controlar las declaraciones.

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

Tipos de datos primitivos


Enteros
byte short int long 1, 2, 3, 42 07 0xff 0

Reales

Caracteres

Verdadero Falso

float double

char

boolean

3.0F .3337F 4.022E23 0.0f

a - '\141' '\u0061' '\n \u0000

true false

Aada L o F al nmero para especificar un nmero largo o flotante

18

Qu son las variables?


Una variable es una unidad bsica de almacenamiento. Las variables deben ser declaradas explcitamente. Cada variable tiene un tipo, un identificador, y un alcance. Hay tres tipos de variables: clase, instancia, y mtodo.
Tipo int miEdad; boolean esUnaMoneda; float maxCosto = 17.98F; Identificador Valor inicial

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; }

Las variables declaradas.

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

Definicin de nombres de las variables


Los nombres de variables deben comenzar con una letra del alfabeto, un smbolo _, o de un smbolo de $. Otros caracteres pueden incluir dgitos.
a costo_Producto costoProducto _costoProducto costo$Producto costoProducto2 7 costo#Producto costo-Producto costo*Producto Abstract 2costoProducto

Utilice los nombres significativos para las variables, tales como nombreCliente, fechaNacimiento.
22

11

Cules son los literales numricos?


Seis tipos: byte, short, int, long, float, double
0 Literales enteros 1 42 -23795 (decimal) (octal) (hex) (long)

02 077 0123 0x0 0x2a 0X1FF 365L 077L 0x1000L

Literales flotantes

1.0 4.2 .47 1.22e19 4.61E-9 6.2f 6.21F

23

Cules son los literales no numricos?


Literales booleanos true/false

Literales carcter

'a'

'\n'

'\t'

'\077 '\u006F'

Literales cadena

"Hola mundo\n"

24

12

Declaracin de variables

Encontrar los errores en este cdigo.


1 2 3 4 5 6 7 8 9 10 11 byte numero = 200; short valor = 43; short primer numero;

Falta , o Sobra el espacio

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';

new es una palabra reservada del lenguaje Java

Una variable de tipo char no puede contener a un String


25

Qu son los operadores?


Los operadores manipulan datos y objetos. Los operadores toman uno o ms parmetros y producen un valor. Hay 44 diferentes operadores. Algunos operadores cambian el valor del operando.

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

Conversiones de tipos (Cast)


Java convierte automticamente un valor de un tipo numrico a un tipo largo.

byte

short

int

long

Java no hace automticamente downcast.


byte short int long

31

Incremento y decremento de valores


El operador ++/-- incrementa/decrementa en 1:
int var1 = 3; var1++; // var1 = 4

El operador ++/-- puede ser utilizado en dos maneras:


int var1 = 3, var2 = 0; var2 = ++var1; var2 = var1++; // // // // Prefijo: var1 se incrementa antes de la asignacin Postfijo: var1 se incrementa despus de la asignacin

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

Operador Ternario (?:)


Uso alternativo de ifelse:
boolean_expr ? expr1 : expr2

Si boolean_expr es verdadera, el resultado es expr1, si no el resultado es expr2:


int val1 = 120, val2 = 0; int masAlto; masAlto = (val1 > val2) ? 100 : 200; System.out.println(El valor mayor es " + masAlto);

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

Operadores de asignacin compuestos

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

// total = 1 // total = 0.5

36

18

Precedencia de los operadores


Orden Operador 1 2 3 4 5 6 7 8 9 10 11 12 13 ++ -- + - ~ !(type) * / % + - + << >> >>> < > <= >= instanceof == != & ^ | && || ?: = op= Comentarios unarios Asoc. R L L L L L L L L L L R R
37

Tambin para cadenas Desp. de bits Tipo, clase de AND aritmtico OR exclusivo OR aritmtico o inclusivo

Operador condicional Asignacin

Precedencia de los operadores


La precedencia de los operadores determina el orden de las operaciones :
int var1 = 0; var1 = 2 + 3 * 4; // var1 = 14

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

Para alterar el orden de ejecucin es necesario usar parntesis.


38

19

Concatenacin de cadenas

El operador + crea y concatena cadenas:


String nombre = "Jose "; String apellido = "Perez"; String nombreCompleto; nombre = nombre + apellido; // nombre ="Jose Perez" nombre += apellido; nombreCompleto = nombre; // de otra forma // nombreCompleto ="Jose Perez"

39

Tipos bsicos de sentencias de control

Cuatro tipos de sentencias de control:


Secuencial Seleccin

Repeticin

Salto

40

20

Sentencias de control en Java


Cada sentencia simple termina con un punto y coma (;). Los grupos de sentencias utilizan las llaves { }. Cada bloque se ejecuta como una sentencia simple dentro de la estructura de la sentencia de control.
{ boolean finalizado = true; System.out.println("i = " + i); i++; }

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

Encontrar los errores


int x = 3, y = 5; if (x >= 0) if (y < x)

1
else

System.out.println("y es menor que x"); System.out.println("x es negativo"); int x = 7;


Debe ir == En Java hay que escribir una exp. booleana

if (x = 0) System.out.println("x es cero"); int a = 14, b = 24;

El punto y coma define el trmino de la condicin.

if ( a % 2 == 0 && b % 2 == 0 ); System.out.println("a y b son pares");


44

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

La sentencia while tiene la forma siguiente:


while ( expresion_booleana ) sentencia;

Ejemplo:

int i = 0; while (i < 10) { System.out.println("i = " + i); i++; }

48

24

Sentencia dowhile

La sentencia dowhile pone la condicin al final:


do sentencia; while ( expresion_booleana ); int i = 0; do { System.out.println("i = " + i); i++; } while (i < 10);

Ejemplo:

49

Sentencia for

La sentencia for es la ms comn de las sentencias de ciclo:


for ( inicializacin; terminacin; iteracin ) sentencia;

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);

La inicializacin y la iteracin consisten en una lista de expresiones separadas por coma:


for (int i = 0, j = 10; i < j; i++, j--) { System.out.println("i = " + i); System.out.println("j = " + j); }

51

Encontrar los errores


int x = 10;

while (x > 0); System.out.println(x--); System.out.println("Fin del bucle!"); int x = 10;

Ciclo infinito La sentencia que contiene x-- est fuera del while

while (x > 0) System.out.println("x es " + x); x--; int sum = 0;

Ciclo infinito La sentencia que contiene x-- est fuera del while

for (; i < 10; sum += i++); System.out.println("La suma es " + sum);

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

Potrebbero piacerti anche