Unidad 1 POO

55
UNIDAD I FUNDAMENTOS DEL LENGUAJE

Transcript of Unidad 1 POO

Page 1: Unidad 1 POO

UNIDAD IFUNDAMENTOS DEL LENGUAJE

Page 2: Unidad 1 POO

1.1. ENTORNO DE DESARROLLO

Page 3: Unidad 1 POO

Cuestiones generales Java: inventado por SUN microsystems en 1989 por Bill JOE

Objetivos:Realizar aplicaciones para dispositivos electrónicos como:

PDA´s, Cámaras y Todo lo referente con semiconductores

Page 4: Unidad 1 POO

Características:Simple: Potente, Similar a C++, No utiliza punteros.

Distribución: TCP / IP ,FTP y HTTP

Portable: Diferentes versiones de JAVA

Orientado a Objetos: EncapsulaciónHerencia / polimorfismo

Page 5: Unidad 1 POO

Características:Robusto: Varios tipos de plataforma

Aplets: Aplicaciones hechas en JAVA que ocurren en programación WEB

Page 6: Unidad 1 POO

Java Development Kit (JDK)• ¿Qué es el JDK?

– Conjunto de herramientas (programas y librerías) para el desarrollo en Java

– JRE (Java Runtime Environment)

– Distribución gratuita (Sun Microsystems Inc.)

• Java 2 Software Development Kit (SDK), Standard Edition• Documentación

– Informa sobre packages, clases e interfaces

– Descripción de las variables y métodos

– Relaciones jeráquicas

– En formato HTML.

– Descarga gratuita desde la web de Sun

Page 7: Unidad 1 POO

Java Development Kit (JDK)• Instalación

– Computadora local o Unidad de Red– Ejecución en Consolas de MS-DOS– Variables de entorno:

• JAVAPATH: path completo del directorio donde está instalado el JDK

• PATH• CLASSPATH: librerías o clases de usuario

– Fichero Batch (*.bat)set JAVAPATH=C:\j2sdk1.4.2set PATH=.;%JAVAPATH%\bin;%PATH%set CLASSPATH=

– Programas:• appletviewer.exe• javac.exe• java.exe• javadoc.exe

Page 8: Unidad 1 POO

Java Development Kit (JDK)

• Uso del JDK

Sin Error

ErroresErrores

Intérprete

(java.exe)

Intérprete

(java.exe)MiPrograma.java Compilador

(javac.exe)

Compilador

(javac.exe)

Editor de TextoEditor de Texto

MiPrograma.class

Page 9: Unidad 1 POO

Entornos IDE (Integrated Development Environment)

• Ventajas:– Desarrollo más rápido (incorporan editor, etc)

– Incorporan librerías de componentes

– Fácil uso del Debugger

• Inconvenientes:– Fallos de compatibilidad entre plataformas

– Archivos de mayor tamaño

• Algunos IDE conocidos:– Jbuilder, de Borland

– Visual J++, de Microsoft

– Sun ONE Studio 4 update 1, Community Edition

Page 10: Unidad 1 POO

Entornos IDE (Integrated Development Environment)

Page 11: Unidad 1 POO

1.2. Configuracion del entorno de desarrollo

Page 12: Unidad 1 POO

1.3. PALABRAS RESERVADAS

Page 13: Unidad 1 POO

• 1. Abstract: Declara clases o métodos abstractos.• 2. Double: Tipo de Dato primitivo de punto flotante por

defecto (32 bits).• 3. Int: Tipo de Dato primitivo entero por defecto (32 bits).• 4. Strictfp: Especifica bajo que standard se calcularán las

operaciones con datos de punto flotante, para determinar el grado de precisión de los resultados.

• 5. Boolean: Tipo de Dato primitivo booleano (true o false).

• 6. Else: Evaluación de la condición lógicamente opuesta a un if o else if.

• 7. Interface: Declara interfases.• 8. Super: Hace referencia a la clase padre o al

constructor de la clase padre del objeto actual.

Page 14: Unidad 1 POO

• 9. Break: Rompe el flujo normal del bloque de código actual.

• 10. Extends: Indica que una clase o interfase hereda de otra clase o interfase.

• 11. Long: Tipo de Dato primitivo entero (64 bits).• 12. Switch: Estructura de control condicional múltiple.• 13. Byte: Tipo de Dato primitivo entero (8 bits).• 14. final: Declara la clase, método o variable como

"definitiva".• 15. native: Indica que el método va a ser especificado en

un lenguaje diferente a Java.• 16. synchronized : Indica que el método, o bloque de

código deberá prevenir que no sean cambiados los objectos a afectar dentro del bloque o método.

Page 15: Unidad 1 POO

• 17. case: Verifica cada valor evaluado en un a sentencia switch.

• 18. finally: Determina el bloque de código que se ejecutará siempre luego de un try asi sea que se capture o no una excepción.

• 19. new: Solicita al cargador de clases correspondiente, un objeto de esa clase.

• 20. this: Hace referencia el objeto actual o al constructor del objeto actual.

• 21. catch: Atrapa excepciones dentro de un bloque try• 22. float : Tipo de Dato primitivo de punto flotante (64

bits).• 23. package: Especifica el paquete al que pertenece esa

clase o interfase.

Page 16: Unidad 1 POO

• 24. throw: Lanza una excepción mediante código.• 25. char: Tipo de Dato primitivo que almacena hasta un

caracter UNICODE (16 bits).• 26. for: Estructura de control cíclica.• 27. private: Modificador de visibilidad de atributos y

métodos limitándolos a la propia clase.• 28. throws: Especifica la(s) exceocione(es) que podría

lanzar el método.• 29. class: Declara clases• 30. goto: Palabra reservada que no es utilizada en el

lenguaje de programación Java.• 31. protected: Modificador de visibilidad de atributos y

métodos limitándolos a la propia clase, paquete e hijo(s).

Page 17: Unidad 1 POO

• 32. transient: Indica que el objeto no se debe serializar.• 33. const: Palabra reservada que no es utilizada en el

lenguaje de programación Java.• 34. if: Estructura de control condicional.• 35. public: Modificador de visibilidad de clases,

interfaces, attributos y métodos haciéndolo visible al universo.

• 36. try: Declara un bloque de código que posiblemente lanzará una excepción.

• 37. continue: Rompe el flujo normal del bloque de código actual.

• 38. implements: Indica que una clase implementa a una (o varias) interfase(s).

Page 18: Unidad 1 POO

• 39. return: Retorna (normalmente un valor) desde el método actual.

• 40. void: Indica que el método no retornará valor alguno.• 41. default: Modificador de visibilidad de clases,

interfases, atributos y métodos limitándolos a la clase y paquete.

• 42. import: Indica la(s) ruta(s) en la que se encuentran las clases y/o interfases usadas en el código

• 43. short: Tipo de Dato primitivo entero (16 bits).• 44. volatile: Indica que a la referencia de la variable

siempre se debería leer sin aplicar ningún tipo de optimizaciones ya que el dato almacenado tiene alta probabilidad de cambiar muy frecuentemente.

Page 19: Unidad 1 POO

• 45. do: Estructura de control cíclica• 46. instanceof: Operador que determina si un objeto es

una instancia de una clase.• 47. static: Indica que el método, variable o atributo

pertenece a la clase y no a la instancia (objeto).• 48. while Estructura de control cíclica.

Page 20: Unidad 1 POO

1.4. Comentarios

Page 21: Unidad 1 POO

• Los comentarios en Java pueden hacerse de dos maneras:

Si sólo quiero comentario de una línea coloco // al inicio de es esta

// Este es el esqueleto de un programa en Java

class <nombre del Programa> {

// Definiciones globales

/* Este es el Método Principal*/

/* Otros Métodos*/

}

Si quiero comentario de mas de una línea coloco /* al inicio del comentario y */ al final

Page 22: Unidad 1 POO

1.5. Tipos de datos

Page 23: Unidad 1 POO

Los tipos de datos en Java pueden dividirse en dos categorías: simples y compuestos. Los simples son tipos nucleares que no se derivan de otros tipos, como los enteros, de coma flotante, booleanos y de carácter. Los tipos compuestos se basan en los tipos simples, e incluyen las cadenas, las matrices y tanto las clases como las interfaces, en general.

Page 24: Unidad 1 POO

Datos sismplesa.) Tipos de datos enteros

Se usan para representar números enteros con signo. Hay cuatro tipos: byte, short, int y long.

Tipo Tamaño

byte 1Byte (8 bits)

short 2 Bytes (16 bits)

int 4 Bytes (32 bits)

long 8 Bytes (64 bits)

Page 25: Unidad 1 POO

b.) Tipos de datos en coma flotante

Se usan para representar números con partes fraccionarias. Hay dos tipos de coma flotante: float y double. El primero reserva almacenamiento para un número de precisión simple de 4 bytes y el segundo lo hace para un numero de precisión doble de 8 bytes.

Tipo Tamaño

float 4 Byte (32 bits)

double 8 Bytes (64 bits)

Page 26: Unidad 1 POO

c.) Tipo de datos boolean

Se usa para almacenar variables que presenten dos estados, que serán representados por los valores true y false. Representan valores bi-estado, provenientes del denominado álgebra de Boole.

Page 27: Unidad 1 POO

d.) Tipo de datos carácter

Se usa para almacenar caracteres Unicode simples. Debido a que el conjunto de caracteres Unicode se compone de valores de 16 bits, el tipo de datos char se almacena en un entero sin signo de 16 bits.

Java a diferencia de C/C++ distingue entre matrices de caracteres y cadenas.

Page 28: Unidad 1 POO

Literales carácter

Representan un único carácter (de la tabla de caracteres Unicode 1.1) y aparecen dentro de un par de comillas simples. De forma similar que en C/C++. Los caracteres especiales (de control y no imprimibles) se representan con una barra invertida ('\') seguida del código carácter.

Page 29: Unidad 1 POO

Descripción Representación Valor Unicode

Caracter Unicode \udddd

Numero octal \ddd

Barra invertida \\ \u005C

Continuación \ \

Retroceso \b \u0008

Retorno de carro \r \u000D

Tabulación horizontal \t \u0009

Línea nueva \n \u000A

Comillas simples \’ \u0027

Comillas dobles \" \u0022

Números arábigos ASCII 0-9 \u0030 a \u0039

Alfabeto ASCII en mayúsculas A.-Z \u0041 a \u005A

Alfabeto ASCII en minúsculas a.-z \u0061 a \u007A

Page 30: Unidad 1 POO

Números arábigos ASCII 0-9 \u0030 a \u0039

Alfabeto ASCII en mayúsculas A.-Z \u0041 a \u005A

Alfabeto ASCII en minúsculas a.-z \u0061 a \u007A

Page 31: Unidad 1 POO

e. Conversión de tipos de datos

En Java es posible transformar el tipo de una variable u objeto en otro diferente al original con el que fue declarado. Este proceso se denomina "conversión", "moldeado" o "tipado". La conversión se lleva a cabo colocando el tipo destino entre paréntesis, a la izquierda del valor que queremos convertir.

Page 32: Unidad 1 POO

Por ello se establece la norma de que "en las conversiones el tipo destino siempre debe ser igual o mayor que el tipo fuente":

Tipo Origen Tipo Destino

byte double, float, long, int, char, short

Short double, float, long, int

Char double, float, long, int

int double, float, long

long double, float

float double

Page 33: Unidad 1 POO

Datos compuestosVectores y Matrices

Una matriz es una construcción que proporciona almacenaje a una lista de elementos del mismo tipo, ya sea simple o compuesto. Si la matriz tiene solo una dimensión, se la denomina vector.

En Java los vectores se declaran utilizando corchetes ( [ y ] ), tras la declaración del tipo de datos que contendrá el vector. Por ejemplo, esta sería la declaración de un vector de números enteros (int):

int vectorNumeros[ ]; // Vector de números

Page 34: Unidad 1 POO

Se observa la ausencia de un número que indique cuántos elementos componen el vector, debido a que Java no deja indicar el tamaño de un vector vacío cuando le declara. La asignación de memoria al vector se realiza de forma explícita en algún momento del programa.

Para ello o se utiliza el operador new:

int vectorNumeros = new int[ 5 ]; // Vector de 5 números

O se asigna una lista de elementos al vector:

int vectorIni = { 2, 5, 8};

Page 35: Unidad 1 POO

Cadenas

En Java se tratan como una clase especial llamada String. Las cadenas se gestionan internamente por medio de una instancia de la clase String. Una instancia de la clase String es un objeto que ha sido creado siguiendo la descripción de la clase.

Page 36: Unidad 1 POO

Cuando Java encuentra una constante de cadena, crea un caso de la clase String y define su estado, con los caracteres que aparecen dentro de las comillas dobles.

Vemos un ejemplo de cadena declarada con la clase String de Java:

String capitalUSA = "Washington D.C.";

String nombreBonito = "Amelia";

Page 37: Unidad 1 POO

1.6. Variables

Page 38: Unidad 1 POO

Declaracion de variables

• Ejemplo:

int a,b,c,d,e;

int a=56,b=90,c=23;

float promedio,sueldo;

double promedio=34.67,sueldo=34.6;

Page 39: Unidad 1 POO

1.7. Constantes.

Page 40: Unidad 1 POO

Todas las variables y constantes deben ser declaradas antes de su uso.

Para declarar constantes, se utiliza la palabra reservada final.

final <tipo> <identificador> [=] <valor>

Ej:

final float pi=3.14;

Page 41: Unidad 1 POO

1.8. Operadores.

Page 42: Unidad 1 POO

Operadores Aritméticos

El lenguaje Java soporta varios operadores aritéticos - incluyendo + (suma), - (resta), * (multiplicación), / (división), y % (módulo)-- en todos los números enteros y de coma flotante.

Operador Uso Descripcion

+ Op1+Op2 Suma op1 y op2

- Op1-Op2 Resta op2 de op1

* Op1*Op2 Multiplica op1 y op2

/ Op1/Op2 Divide op1 por op2

% Op1%Op2 Obtiene el resto de dividir op1 por op2

Page 43: Unidad 1 POO

Además, existen dos operadores de atajos aritméticos, ++ que incrementa en uno su operando, y -- que decrementa en uno el valor de su operando.

Operador Uso Descripcion

++ op++ evalúa el valor antes de incrementar

++ ++op evalúa el valor después de incrementar

-- op-- evalúa el valor antes de decrementar

-- --op evalúa el valor después de decrementar

Page 44: Unidad 1 POO

Ejemplo:

int x=0, a =1,b=2;

x=a+b--;

System.out.println(x);

System.out.println(a+","+b);

a=1;

b=2;

x=a+--b;

System.out.println(x);

System.out.println(a+","+b);

Page 45: Unidad 1 POO

Operadores Relacionales y Condicionales

Los valores relacionales comparan dos valores y determinan la relación entre ellos.

Operador Uso Devuelve true si

> op1 > op2 op1 es mayor que op2

>= op1 >= op2 op1 es mayor o igual que op2

< op1 < op2 op1 es menor que op2

<= op1 <= op2 op1 es menor o igual que op2

== op1 == op2 op1 y op2 son iguales

!= op1 != op2 op1 y op2 son distintos

Page 46: Unidad 1 POO

Operadores condicionales

Operador Uso Devuelve true si

&& op1 && op2 op1 y op2 son verdaderos

|| op1 || op2 uno de los dos es verdadero

! ! op op es falso

Page 47: Unidad 1 POO

Operadores de asignación y sus equivalentes.

Operador Uso Equivale a

+= op1 += op2 op1 = op1 + op2

-= op1 -= op2 op1 = op1 - op2

*= op1 *= op2 op1 = op1 * op2

/= op1 /= op2 op1 = op1 / op2

%= op1 %= op2 op1 = op1 % op2

&= op1 &= op2 op1 = op1 & op2

|= op1 |= op2 op1 = op1 | op2

^= op1 ^= op2 op1 = op1 ^ op2

Page 48: Unidad 1 POO

1.9. Sentencias.

Page 49: Unidad 1 POO

Una sentencia dentro del lenguaje Java terminará cuando se encuentre el simbolo “;”(punto y coma).

Esto indica al lenguaje que este es el final de dicha sentencia, a excepcion de las estructuras de control(p.e. If, do,switch, etc...) asi como el uso de algunas otras otras estructuras(p.e. Try, thread, e)tc...

Page 50: Unidad 1 POO

1.10. Conversión de tipos de datos (cast).

Page 51: Unidad 1 POO

En Java es posible realizar conversiones en todos los tipos básicos, con excepción de boolean, que es incompatible con el resto de los tipos.

Las conversiones de tipo pueden realizarse de dos maneras: implícitamente y explícitamente.

Page 52: Unidad 1 POO

Conversión implícita.

Las conversiones implícitas se realizan de manera automática, es decir, el valor o expresión que se va a asignar a una variable es convertido automáticamente por el compilador, antes de almacenarlo en la variable.

Ejemplo:

int i;

byte b = 30;

i = b;

En este ejemplo, el dato de tipo byte almacenado en la variable "b" es convertido en "int" antes de asignarlo a la variable "i".

Page 53: Unidad 1 POO

Conversiones explícitas.

Cuando no se cumplan las condiciones para una conversión implícita, ésta podrá realizarse de manera explícita utilizando la siguiente expresión:

variable_destino = (tipo_destino) dato_origen;

Con esta expresión obligamos al compilador que convierta "dato_origen" a "tipo_destino" para que pueda ser almacenado en "variable_destino".

P.Ejemplo:

Double d; Char c;

c = (char)d;

Page 54: Unidad 1 POO

1.11. Estructuras de control.

Page 55: Unidad 1 POO

Tarea: Investigar las estructuras de control en Java:

•If•If-else•Switch•For•While•Do-while