Elementos Java

22
1 Elementos Elementos del del Lenguaje Lenguaje Profesora Yasna Meza Hidalgo mailto: [email protected] Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 2 Introducción – Primer programa en Java /* * Primer programa escrito en Java * Objetivo - Mostrar al alumno la sintaxis del lenguaje * Versión - Marzo 2006 - Yasna Meza Hidalgo */ public class Primero { /* Método que se autoejecuta */ public static void main(String args[]) { /* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */ System.out.println("Hola Mundo!!!!"); } }

description

Slides revisadas en clases

Transcript of Elementos Java

1

ElementosElementos del del LenguajeLenguajeProfesora Yasna Meza Hidalgo

mailto: [email protected]

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 2

Introducción – Primer programa en Java/* * Primer programa escrito en Java* Objetivo - Mostrar al alumno la sintaxis del lenguaje* Versión - Marzo 2006 - Yasna Meza Hidalgo*/public class Primero{

/* Método que se autoejecuta */public static void main(String args[]){

/* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */System.out.println("Hola Mundo!!!!");

}}

2

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 3

Introducción – Primer programa en Java/* * Primer programa escrito en Java* Objetivo - Mostrar al alumno la sintaxis del lenguaje* Versión - Marzo 2006 - Yasna Meza Hidalgo*/public class Primero{

/* Método que se autoejecuta */public static void main(String args[]){

/* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */System.out.println("Hola Mundo!!!!");

}}

Comentarios / Documentación

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 4

Introducción – Primer programa en Java/* * Primer programa escrito en Java* Objetivo - Mostrar al alumno la sintaxis del lenguaje* Versión - Marzo 2006 - Yasna Meza Hidalgo*/public class Primero{

/* Método que se autoejecuta */public static void main(String args[]){

/* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */System.out.println("Hola Mundo!!!!");

}}

Palabras reservadas – Se deben separar por espacios

3

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 5

Introducción – Primer programa en Java/* * Primer programa escrito en Java* Objetivo - Mostrar al alumno la sintaxis del lenguaje* Versión - Marzo 2006 - Yasna Meza Hidalgo*/public class Primero{

/* Método que se autoejecuta */public static void main(String args[]){

/* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */

System.out.println("Hola Mundo!!!!");}

}

Punto y coma (;) indica el fin de la instrucción

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 6

Introducción – Primer programa en Java/* * Primer programa escrito en Java* Objetivo - Mostrar al alumno la sintaxis del lenguaje* Versión - Marzo 2006 - Yasna Meza Hidalgo*/public class Primero

{/* Método que se autoejecuta */public static void main(String args[])

{/* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */System.out.println("Hola Mundo!!!!");

}}

Llaves {} - encierran bloques de código o grupos de instrucciones

4

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 7

Introducción – Primer programa en Java/* * Primer programa escrito en Java* Objetivo - Mostrar al alumno la sintaxis del lenguaje* Versión - Marzo 2006 - Yasna Meza Hidalgo*/public class Primero{

/* Método que se autoejecuta */

public static void main(String args[]){

/* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */

System.out.println("Hola Mundo!!!!");}

}

Paréntesis () - encierran parámetros para un método

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 8

Introducción – Primer programa en Java/* * Primer programa escrito en Java* Objetivo - Mostrar al alumno la sintaxis del lenguaje* Versión - Marzo 2006 - Yasna Meza Hidalgo*/public class Primero{

/* Método que se autoejecuta */public static void main(String args[]){

/* Muestra en la salida estándar (pantalla) * el texto que se indica entre "" */

System.out.println("Hola Mundo!!!!");

}}

Operador . es usado para definir una cadena de acciones

5

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 9

Introducción – Primer programa en Java

¿Cómo puedo compilar mi primer programa

en Java?

Paso 1 - Abrir la consola

Paso 2 - Verificar la versión de la JVM que se encuentra disponible

java -version

Paso 3 – Ubicar el directorio en donde se encuentra el programa.

Paso 4 - Ejecutar el compilador

javac Primero.java

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 10

Introducción – Primer programa en Java

¿Cómo genero la documentación de mi primer programa en

Java?

Paso 1 - Abrir la consola

Paso 2 – Ubicar el directorio en donde se encuentra el programa.

Paso 3 – Ejecutar la herramienta javadoc

javadoc –D docs Primero.java

6

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 11

Introducción – Primer programa en Java

¿Cuál es el resultado del procedimiento

anterior?

� En el directorio en donde se encuentra el programa se ha generado un directorio llamado docs, dentro de ese directorio se encuentra un conjunto de archivos .HTML.

� Al abrir el archivo Primero.html se encuentra la documentación asociada al programa.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 12

Introducción – Primer programa en Java

¿Cómo puedo averiguar más acerca de la

herramienta javadoc?

� Visitando http://java.sun.com/javadoc

7

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 13

Palabras reservadas

� Conjunto de palabras que conforman el vocabulario del lenguaje:

� Estructuras de control� if, else, else if, try, catch, case, break, continue

� Modificadores� public, protected, private

� Operadores� new, instanceof

� Representaciones de tipos de datos (literales)� true, false, 1,2,3, null

� Símbolos� [] ; , () {}

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 14

Palabras reservadas

nullsynchronizedgoto

packagecontinueswitchnewconst

forwhilethissupernative

floatclasslongfinallychar

voidstaticinterfacefinalcatch

tryshortintextendscase

transientreturninstanceofelsebyte

throwspublicimportdoublebreak

throwprotectedimplementsdoboolean

thisprivateifdefaultabstract

8

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 15

Identificadores

� Etiquetas que el programador utiliza para nombrar

clases, métodos, atributos, otras variables.

¿Existe alguna regla que establezca la creación de

identificadores?

� Utilizar la representación de caracteres UNICODE.

� DEBEN comenzar con una letra.

� NO DEBEN contener los caracteres # y %

� EVITAR el uso de los caracteres & y $

� NO DEBEN tener espacios

� NO PUEDEN SER PALABRAS RESERVADAS DEL LENGUAJE

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 16

���������������� ���

�������������������

������������������ ��

� ������ �����

��� ��� �������

Almacenamiento de datos

9

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 17

Dato - Elementos

OK, ya me ha quedado claro dónde se almacenan los datos, pero ¿qué implica hablar de un

DATO?

� Localización de almacenamiento, eso implica dispositivo y ubicación dentro de mismo.

� Tamaño de almacenamiento, lo que se traduce en el número de bits para almacenar el valor de un

TIPO DE DATO especifico.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 18

Tipo de Dato - Clasificación

¿Qué es un tipo de dato?

� Tipos de datos primitivos

� Referencias

� Es una especie de MOLDE que define el rango de valores que puede tomar el dato

y las operaciones válidas sobre el dato.

¿Qué tipos de dato existen?

10

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 19

Tipo de Dato - Clasificación

¿Cuáles son los primitivos?

64double

32float

64long

32int

16short

8byte

16char

1boolean

Longitud (en bits)Tipo de dato

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 20

Tipo de Dato - Clasificación

64double

32float

64long

32int

16short

8byte

16char

1boolean

Longitud (en bits)Tipo de dato

Numéricos -Integrales

11

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 21

Tipo de Dato - Clasificación

64double

32float

64long

32int

16short

8byte

16char

1boolean

Longitud (en bits)Tipo de dato

Numéricos –Punto flotante

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 22

Tipo de Dato - Clasificación

¿Qué es una referencia?

� En Java la mayoría de los elementos con los que se trabaja son objetos, EXCEPTO

los tipos de datos primitivos.

� Corresponde a la dirección de un objeto.

mmmm, ¿Objeto?

12

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 23

Paradigma OO

¿Datos?

Edad

Raza

Color

¿Procesos?

Ladrar

Morder

Comer

Dormir

OBJETOS = CARACTERÍSTICAS + COMPORTAMIENTO

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 24

Concepto de Objeto

¿Qué es un objeto?

� Un objeto es cualquier cosa real o abstracta de la cual almacenamos datos y

los métodos que controlan dichos datos.

Datos

Método-1 Método-2

Método-3

13

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 25

Concepto de Objeto

¿Es posible tener más de un objeto?, ¿Cómo se relacionan

entre ellos?

OBJETO A OBJETO B

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 26

Concepto de Objeto

OBJETO A OBJETO B

Datos

Método-1 Método-2

Método-3

14

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 27

Concepto de Objeto

Yo tengo un nombre y una edad

Yo tengo un nombre y una edad

Yo tengo un nombre y una edad

Yo tengo un nombre y una edad

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 28

Concepto de Objeto

¿Es posible agrupar a los personajes

anteriores?

� Sí, dado que tienen CARACTERÍSTICAS

COMUNES

¿Cuáles son esas características?

15

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 29

Concepto de Objeto

PERSONAS

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 30

Concepto de Objeto

¿Qué nombre reciben esas características

comunes?

� Datos o ATRIBUTOS

¿Tendrán algo más en común, fuera de los

datos?

� Las acciones que ellos pueden

realizar …

16

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 31

Concepto de Objeto - Operaciones

Yo puedo dar mi nombre y mi edad

Yo puedo dar mi nombre y mi edad

Yo puedo dar mi nombre y mi edad

Yo puedo dar mi nombre y mi edad

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 32

Concepto de Objeto

Yo puedo dar mi nombre y mi edad

Yo tengo un nombre y una edad

MUNDO REAL REPRESENTACIÓN

NombreEdad

darNombre()

darEdad()

17

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 33

Concepto de Objeto

Pero, ¿cómo se representa al conjunto

de Personas?

� A través del concepto de CLASE

PERSONA

NombreEdad

darNombredarEdad

Atributos

Métodos

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 34

Referencia a un Objeto

OK, creo que me queda claro el concepto de objeto, pero entonces,

¿qué es una referencia a un objeto?

Persona a;

PERSONA

NombreEdad

darNombredarEdad

a es una referencia a una instancia de Persona

18

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 35

Referencia a un Objeto

¿dónde se almacenan los objetos?

Ofrezco 10 puntos (escala de 1 a 100) para quien me diga, dónde se almacenan los objetos, sabiendo que un objeto es un dato, DEBERÁ justificar su

respuesta.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 36

Almacenamiento

STATIC CONSTANT

HEAP

STACK

Métodos y variables estáticas (de clase)

19

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 37

Almacenamiento

STATIC CONSTANT

HEAP

STACK

Atributos constantes en memoria

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 38

Almacenamiento

STATIC CONSTANT

HEAP

STACK

Objeto

Objeto

Objeto Objetos, creados con el operador new

20

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 39

Almacenamiento

STATIC CONSTANT

HEAP

STACK

Métodos y variables

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 40

Almacenamiento

Persona a, b; PERSONA

NombreEdad

darNombredarEdad

a y b son una referencia a una instancia de Persona

Nombre

Edad

Nombre

Edad

a b

21

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 41

Referencia a un Objeto

OK, una vez que he creado a los objetos ¿quévalores tienen los

atributos?

Tienen los valores por defecto, dependiendo del tipo de dato del que se trate

¿Y cuáles son los valores por defecto?

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 42

Tipo de Dato – Valores por defecto

nullReferencia

0,0double

0,0float

0long

0int

0short

0byte

/u0000 (UNICODE)char

Falseboolean

Valor por defectoTipo de dato

22

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 43

Datos de clase

Existe un área que se denomina STATIC, que almacena los datos de clase, ¿qué es

un dato de clase?

� Corresponden a los datos globales a la ejecución de una aplicación.

� Representan datos que son COMPARTIDOS por todas los objetos (instancias) de una clase.

¿Algún ejemplo?