primitivas de codificación tipos básicos de datos

91
Primitivas de codificación Tipos básicos de datos

Upload: carmen-escobar-tebar

Post on 29-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Primitivas de codificación Tipos básicos de datos

Primitivas de codificación

Tipos básicos de datos

Page 2: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

2

¿Qué es un “tipo” de datos?

Los tipos de datos son categorías de características asociadas a un grupo de valores en particular.

Por ejemplo: los números enteros, los números reales, los caracteres, las hileras de texto tienen un tipo de dato asociado.

De esta forma la información puede ser clasificada de acuerdo al uso que se le da a la misma.

Page 3: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

3

¿Cuales características son las que determina un tipo de datos?

En un lenguaje de programación cada tipo determina aspectos asociados a la información y a su representación, incluyendo:

– El conjunto de valores que se le asocia (si son valores numéricos, caracteres o lógicos).

– El rango de valores válidos para el tipo.– El tamaño necesario para representar cada valor en la

memoria de la computadora (medido en bytes).

Page 4: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

4

Los tipos permiten categorizar la información

‘a’‘b’‘c’‘d’

caracter

“Casa”“Escuela”

“Perro”“Línea”

hileras de texto

Verdadero

Falso

booleano123

1.5 3.79 2.18

Tipo numéricoentero real

Page 5: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

5

¿Cuáles son los tipos primitivos?

Los tipos primitivos son los más simples y elementales.

Toda la información que maneja un lenguaje puede representarse directamente o mediante combinaciones de estos.

Note que una hilera de texto se compone de “caracteres” o letras individuales por lo que la “hilera” no es un tipo primitivo.

Page 6: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

6

Ejemplos de tipos de dato primitivos

En un lenguaje orientado a objetos normalmente existen tipos de dato para representar valores: – lógicos o “booleanos”. – numéricos enteros.– numéricos de punto flotante. – caracteres.

Los valores específicos de cada tipo se representan mediante “literales” específicos.

Page 7: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

7

¿Qué es un literal?

Es una representación explícita de algún valor dentro del código de un programa.

Ejemplo:– Un 1 es un literal de un número de tipo entero.– Una ‘a’ es un literal de caracter.– Un 3.14 es un literal de un número de tipo real o

de punto flotante.

Page 8: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

8

¿Para que sirven los tipos de datos lógicos o booleanos?

Se utilizan para representar condiciones lógicas que toman uno de dos posibles valores:

falso ó verdadero.

La palabra “Booleano” proviene del nombre del matemático George Boole (Boole, 1848) quien formalizó el álgebra sobre dos valores lógicos.

Page 9: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

9

¿Cómo se pueden representar datos booleanos en Java?

El verdadero se representa con el literal true. El falso se representa con el literal false.

Page 10: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

10

¿Cómo se pueden representar tipos de datos numéricos enteros en Java?

Tipo Nombre Tamaño Rango

Byte byte 8 bits Desde -128 hasta +127

Entero corto

short 16 bits Desde -32768

hasta +32767

Entero int 32 bits Desde -2 147 483 648

hasta +2 147 483 548

Entero largo

long 64 bits Desde -9 223 372 036 854 775 808 hasta + 9 223 372 036 854 775 807

Los tipos de dato enteros en Java son:

Page 11: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

11

¿Cómo se pueden representar tipos de datos numéricos reales en Java?

Tipo Nombre Tamaño Rango

Punto flotante simple

float 32 bits Desde -3.4028234663852886E+38 Hasta -1.40129846432481707E-45 Desde +1.40129846432481707E-45 Hasta +3.4028234663852886E+38

Punto flotante doble

double 64 bits Desde -1.7976931348626157E+308

Hasta -4.94065645841246544E-324 Desde +4.94065645841246544E-324

Hasta +1.7976931348626157E+308

Los tipos de datos de punto flotante son:

Page 12: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

12

¿Cómo se representan los literales de datos numéricos en Java?

* Note que al long y al float se les coloca una letra al final del literal (“l” o “f” respectivamente).

Tipo de dato Ejemplos

int 100, -219300, 0, 500

long 100l, -219300l, 0l, 500l

float 3.1414f, -124.30f, 0.0f

double 3.1414, -124.30, 0.0

Page 13: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

13

¿Qué son los tipos de dato caracter?

Son aquellos que se utilizan para representar: letras, dígitos, símbolos especiales y caracteres de escape.

Page 14: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

14

¿Cómo se representan los literales de caracter en Java?

Los caracteres se representan con una notación especial para no confundirlos con otros elementos del lenguaje.

En Java, un caracter se representa mediante un símbolo encerrado entre comillas simples.

Ejemplos: ‘a’, ‘A’, ‘9’. También existen caracteres especiales

conocidos como secuencias de escape.

Page 15: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

15

¿Qué son secuencias de escape?

Algunos caracteres especiales (el cambio de línea, por ejemplo) requieren de una representación distinta.

Esta representación es llamada secuencia de escape.

En Java, los caracteres de escape van precedidos por un “backslash” \.

Page 16: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

16

Caracteres de escape en Java

Secuencia Significado

‘\n’ Cambio de línea

‘\t’ Tabulador

‘\\’ El caracter \

“\”” El caracter “

‘\uXXXX’ El caracter UNICODE asociado al valor XXXX

Page 17: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

17

¿Qué es UNICODE?

UNICODE es un conjunto de caracteres estándares creados para asociar cada caracter a un valor específico.

En UNICODE un caracter ocupa 16 bits de memoria (2 bytes).

Su rango va desde el hexadecimal 0000 hasta el hexadecimal FFFF.

Page 18: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

18

¿Para qué se utilizan los literales con valor UNICODE explícito ‘\uXXXX’?

Caracteres de la forma ‘\uXXXX’, donde XXXX es un valor UNICODE, sirven para representar símbolos especiales y caracteres en otros idiomas, tales como: Árabe, Chino, Japonés.

Ejemplos en Java: – ‘\u0040’ equivale al valor decimal 64 que es ‘@’.– ‘\u00D1’ y ‘\u00F1’ equivalen a Ñ y ñ, cuyos

valores decimales son 209 y 241. Otros lenguajes utilizan representaciones de

caracteres con códigos ASCII.

Page 19: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

19

¿En qué se diferencian ASCII y UNICODE?

ASCII (“American Standard Code for Information Interchange”) es un código de 7 bits (128 valores) creado por el ANSI o “American National Standard Institute”.

UNICODE es el conjunto de caracteres de la ISO “International Standards Organization” que es una red de 148 institutos nacionales dedicados al establecimiento de estándares.

El conjunto UNICODE incluye a los 128 caracteres ASCII.

Page 20: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

20

¿Entonces todos los caracteres ASCII son iguales en UNICODE?

¡Sí, … pero hay que tener cuidado! Aunque UNICODE incluye el ASCII, algunos

confunden el ASCII con el Extended ASCII que es otro conjunto de caracteres.

Extended ASCII es un código de 8 bits que incluye al ASCII.

Pero UNICODE y Extended ASCII son diferentes para valores entre 128 y 255.

Por ejemplo la Ñ en Extended ASCII es el 165 pero en UNICODE es el 209.

Page 21: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

21

¿Cómo se representan hileras de caracteres?

Todos los lenguajes orientados a objetos poseen una representación de las hileras de caracteres.

Debido a que una hilera está “compuesta” de varios caracteres, normalmente no son consideradas como tipos primitivos.

Sin embargo se busca que su manejo sea tan simple como el manejo de tipos primitivos.

Además, se pueden representar en forma de literales dentro de algunos lenguajes.

Page 22: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

22

¿Cómo se representan los literales de hileras de caracteres en Java?

En Java las hileras de caracteres se conocen como “String”.

Los literales se representan con caracteres encerrados por comillas dobles. Ej: “¡Hola Mundo!”.

String no es un tipo primitivo, sino que se rige por las reglas asociadas a los objetos.

El String también soporta secuencias de escape en su contenido.

Page 23: Primitivas de codificación Tipos básicos de datos

EJEMPLO 1 – Efecto de los caracteres especiales al imprimir

Ir al ejemplo

Page 24: Primitivas de codificación Tipos básicos de datos

EJERCICIO 1 – Efecto de los caracteres especiales al imprimir

Ir al ejercicio

Page 25: Primitivas de codificación Tipos básicos de datos

EJERCICIO 2 – Diferenciación de tipos de dato

Ir al ejercicio

Page 26: Primitivas de codificación Tipos básicos de datos

Primitivas de codificación

Variables

Page 27: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

27

¿Qué son las variables?

Las variables son espacios en memoria asignados para almacenar valores.

A cada variable se le asocia:– Nombre de la variable.– Tipo de dato.– Valor.– Tamaño o espacio que requiere en memoria.– Dirección de su ubicación en la memoria.

Page 28: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

28

¿Cuáles son las características de las variables?

98notaFinalDelCurso

dirección valor

nombre de la variable tamaño: 4 bytes (Java)

tipo: entero

Page 29: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

29

¿Cómo se crea una variable?

La creación de una variable requiere dos pasos: declarar la variable e inicializar la variable.

La declaración es la definición del tipo y del nombre de la variable.

La inicialización es la asignación del valor inicial.

Page 30: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

30

¿Cómo se declara una variable en Java?

Se debe escribir el tipo seguido del nombre que se le quiere dar. Por ejemplo:int variableEntera;

Se pueden declarar varias variables a la vez separadas por comas. Por ejemplo:char primeraLetra, segundaLetra;

Page 31: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

31

¿Cómo se lleva a cabo la inicialización de una variable en Java?

Para la inicialización, se debe escribir el nombre de la variable, seguido del operador de asignación “=“, seguido del valor a asignar. Por ejemplo:variableEntera = 234;primeraLetra = ‘a’;

En algunos casos, se puede mezclar la declaración y la inicialización. Por ejemplo:int variableEntera = 234;

Page 32: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

32

¿Qué sucede en la memoria al crear una variable?

Al crear la variable:double peso = 240.6;

Se crea en memoria una variable cuyo valor es la representación correspondiente a un 240.6.

240.6peso

Esta variable está ubicadaen algún lugar de la memoriaRAM y su contenido es unasecuencia de bits que correspondeal valor 240.6

Page 33: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

33

¿Qué sucede si una variable no es de un tipo primitivo?

Las variables pueden ser de tipo primitivo o pueden ser “referencias” a instancias.

La inicialización de las segundas se realiza por medio del comando new con el que se solicita la construcción de una instancia de la clase. Por ejemplo:

Carro miCarro = new Carro();

Page 34: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

34

¿Qué son entonces las referencias a objetos?

Las variables que se utilizan para “referirse” a objetos se conocen como “referencias”.

La referencia a un objeto es una variable que almacena “la dirección” donde se encuentra un objeto en memoria.

A diferencia de las variables de tipos primitivos, que almacenan el valor directamente dentro de ellos, las referencias lo que guardan es la dirección del lugar de memoria donde se encuentra la instancia.

Page 35: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

35

¿Qué sucede en la memoria al crear una referencia hacia un objeto?

Cuando se declara algo como lo siguiente:Carro miCarro;

se crea en memoria una referencia cuyo valor es nulo o “null”, o sea que se puede visualizar tal como lo muestra el siguiente diagrama.

null

miCarroesta variable está ubicadaen algún lugar de la memoriaRAM

Page 36: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

36

¿Cómo inicializar una referencia a objetos?

Cuando se solicita crear un nuevo objeto con la instrucción new, se crea en memoria una instancia de la clase especificada.

Por lo tanto con la asignación mediante el igual ( = ), se asigna su dirección dentro de la referencia.

Por ejemplo:Carro miCarro; // Declaración de la referenciamiCarro = new Carro(); // Inicialización

Lo anterior se puede visualizar en memoria de la siguiente forma…

Page 37: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

37

¿Qué sucede en memoria al crear una instancia?

El carro recién creado es accedido a través de la referencia llamada “miCarro”.

Carro miCarro = new Carro();

La referencia es una variable que tiene adentro la dirección donde está la instancia. Esta sería la manera de saber donde está el carro

La instancia es el objeto que fue creado

en la memoria. Este sería el carro en sí con

sus atributos y métodos.

miCarro

Vocho (instancia)

Page 38: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

38

¿Cómo usar referencias a objetos?

A partir de ese momento se puede utilizar la referencia miCarro para acceder a la instancia recién creada.

Esto se lleva a cabo de formas diferentes según el lenguaje de programación que se utilice.

Tratar de acceder a una referencia que no ha sido inicializada es como ir a buscar a alguien a una dirección que no existe, ya que su valor es nulo.

Page 39: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

39

¿Cómo se definen los nombres de variables en Java?

Para los nombres de variables se puede usar los siguientes caracteres: ‘a’, ‘b’, ..., ‘z’, ‘A’, ‘B’, ..., ‘Z’, ‘0’, ‘1’, ..., ‘9’, ‘#’, ‘_’.

Para la primera letra del nombre de una variable no se puede utilizar un dígito.

Ejemplos:int variableEntera1, variableEntera2;double aproximacionDelValorPi;char letra2;

Page 40: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

40

Recomendaciones para nombrar variables

Inicie siempre los nombres de variable con una letra minúscula.

Utilice palabras significativas. Ponga con mayúscula la primera letra de

cada palabra significativa dentro del nombre, excepto la primera.

Page 41: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

41

¿Cuáles son algunos ejemplos de nombres de variables apropiados?

Note que los siguientes nombres dan una idea del uso que se pretende dar a cada una de las variables:double productoInternoBruto;

float saldoMensual;

int cantidadesEstudiantes;

char digitoInicialPlaca;

Page 42: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

42

¿Qué es una constante?

Las constantes son variables cuyo valor es asignado una única vez, y no puede ser cambiado posteriormente.

Su inicialización se debe llevar a cabo junto con su declaración.

Page 43: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

43

¿Cómo se declara una constante en Java?

Las constantes en Java se declaran con los calificativos static final. Ejemplo:static final double PI = 3.1415926536;

Se recomienda nombrar las constantes utilizando solamente letras mayúsculas.

Page 44: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

44

¿Es posible convertir un valor de un tipo de dato a otro ?

Se puede convertir un valor de un tipo de dato a otro mediante un mecanismo llamado “casting”.

Para convertir de un tipo a otro, se antepone, entre paréntesis, el nombre del tipo al que se desea convertir el valor.

Ejemplos:– (int) 32.24 produce el entero 32.– (double) 3 produce el double 3.0.– (byte) 120 produce el byte 120.

Page 45: Primitivas de codificación Tipos básicos de datos

EJERCICIO 3 – Declaración, inicialización y acceso de variables

Ir al ejercicio

Page 46: Primitivas de codificación Tipos básicos de datos

Primitivas de codificación

Variables como atributos de una clase

Page 47: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

47

¿Dónde se pueden utilizar variables?

Las variables pueden ser utilizadas tanto para declarar los atributos de un objeto como para crear variables “locales” dentro de los métodos.

Los atributos pueden ser “accesados” por todos los métodos de la instancia a la que pertenecen.

Si un método es declarado como estático, solamente puede utilizar atributos estáticos.

Page 48: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

48

¿Cuál es el ciclo de vida de una variable?

Las variables de instancia o atributos existen desde el momento que se crea la instancia con new hasta que se destruye la instancia.

Mientras que el objeto exista, el mismo puede guardar su “estado” dentro de sus variables de instancia. En otras palabras, los atributos conservan el valor mientras el objeto exista.

Page 49: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

49

¿Cuál es el ciclo de vida de una variable? (continuación)

Las variables locales a un método existen solamente mientras el método es ejecutado. Estas desaparecen en el momento en que el método finaliza su ejecución.

El main o método principal se comporta como un método más.

Page 50: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

50

Declaración de variables dentro de una clase en Java

class nombreClase {private tipo variableDeInstancia;...public método1() {

tipo variableLocal;...

}public static void main (String [] s) {

tipo variableLocal; ...

}}

Page 51: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

51

¿Qué significa público y privado?

En P.O.O. público y privado se refiere al nivel de acceso a los miembros (métodos y atributos) de una clase.

En la mayoría de los lenguajes de P.O.O, los miembros de una clase pueden ser (entre otros):

– private: accesibles solo por medio de métodos dentro de la clase.

– public: accesibles directamente desde fuera de la clase.

Page 52: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

52

¿Qué debe ser privado y qué debe ser público?

Normalmente se recomienda lo siguiente:– Los atributos de una clase deben ser privados.– La interfaz debe ser pública para que otros

puedan utilizar la clase.

Seguir estas recomendaciones tiene una serie de ventajas…

Page 53: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

53

¿Cuáles son los beneficios de no dar acceso directo a los atributos de una clase?

Si se tiene un equipo de enfriamiento, la manera apropiada de cambiar y de ver la temperatura es a través de sus controles.

El usuario no manipula directamente los mecanismos internos que regulan la temperatura.

Si al equipo se le cambia su mecanismo interno, el usuario no tiene que aprender nuevamente cómo cambiar la temperatura.

Page 54: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

54

¿Cómo se puede acceder a los atributos de una clase?

Se recomienda que los atributos de una clase sean accedidos por medio de métodos utilizados para guardar su valor dentro de la instancia o recuperarlo.

A estos métodos se les asigna normalmente un nombre utilizando los términos en inglés (“set” y “get”) por la comodidad que da el hecho de ser palabras de solo tres letras con un significado directo (“asignar” y “recuperar”).

Page 55: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

55

¿Cómo se puede acceder a los atributos de una clase? (continuación)

Asignar o “set” se usa para tomar un valor desde fuera del objeto y guardarlo dentro de él.

Recuperar o “get” se usa para tomar el valor que tiene un atributo dentro del objeto y devolverlo a quien lo solicitó.

Page 56: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

56

¿Cómo se pueden crear los métodos set y get?

Si una clase tiene un atributo llamado edad. Entonces:– void setEdad(double edadAAsignar) se

puede crear para asignar un valor que viene desde fuera del objeto en el parámetro edadAAsignar para guardarlo dentro del atributo llamado edad.

– double getEdad() se puede crear para pedirle al objeto que proporcione una copia del valor del atributo edad.

Page 57: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

57

¿Cuál es el beneficio de crear métodos set y get?

Permiten la validación de los valores que se le están asignando a los atributos del objeto.

Por ejemplo: en una clase llamada Mes, el método setDia(int dia) puede validar que el día no tenga un valor mayor a 30 o 31 dependiendo el mes en cuestión.

Permiten que la estructura interna de una clase se modifique manteniendo la misma interfaz.

Por ejemplo: un conductor de un vehículo puede ver la velocidad del auto aunque haya cambiado el sistema del velocímetro.

Page 58: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

58

¿Cuál es el beneficio de crear métodos set y get? (continuación)

El uso de set y get genera independencia entre la interfaz y la implementación, lo cual es recomendable.

A pesar de que el programador puede ponerle otro nombre a métodos para guardar y recuperar, lo más utilizado es “set” y “get”.

Page 59: Primitivas de codificación Tipos básicos de datos

EJEMPLO 2 – Utilización de métodos set() y get()

Ir al ejemplo

Page 60: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

60

¿Qué significa estático?

Los miembros estáticos son aquellos que pertenecen a una clase pero no pertenecen a ninguna instancia específica.

Si un atributo es declarado como estático, todas las demás instancias de la misma clase pueden leer y escribir directamente en él.

Si un método es declarado como estático, éste se puede invocar sin necesidad de crear una instancia.

En Java se declaran con el calificativo static.

Page 61: Primitivas de codificación Tipos básicos de datos

EJERCICIO 4 – Accediendo a los atributos de una instancia

Ir al ejercicio

Page 62: Primitivas de codificación Tipos básicos de datos

EJEMPLO 3 – Diferenciación entre referencias e instancias

Ir al ejemplo

Page 63: Primitivas de codificación Tipos básicos de datos

Primitivas de codificación

Entrada / Salida básica

Page 64: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

64

¿Cómo se podría hacer un programa que interactúe con un humano?

Los programas frecuentemente requieren datos de entrada para realizar sus funciones.

También requieren mostrar los resultados de su ejecución.

La entrada / salida de los programas puede darse por muchos medios distintos: en consola, con ventanas, páginas web, la impresora o el sistema de archivos.

Page 65: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

65

¿Cómo se lleva a cabo la entrada y salida básica de datos en Java?

Existen mecanismos de entrada/salida tanto para tiras de caracteres (String) como para flujos de bytes.

Dado que en una hilera se puede representar un literal de cualquier tipo primitivo, una opción utilizada en Java es leer cualquier valor como String y posteriormente convertirlo al tipo específico de la variable que lo va a almacenar.

Page 66: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

66

¿Cómo se escriben hileras de caracteres en pantalla con Java?

En Java existe un objeto del sistema llamado System.out que representa el punto de salida de información hacia el usuario.

Los métodos print y println de System.out se utilizan para la impresión de tiras de caracteres hacia la pantalla de consola.

También existe System.err que es utilizado para salida de mensajes de error.

Page 67: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

67

¿Cuál es la diferencia entre print y println en Java?

println imprime el String y cambia de línea. Ejemplo:System.out.println(“Hola mundo!”);

print imprime el String sin cambiar a la siguiente línea. Ejemplo:System.out.print(“Hola mundo!”);

Page 68: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

68

¿Cómo se pueden leer datos en Java?

System.in sirve para leer cadenas de bytes, sin embargo es común utilizar componentes de más alto nivel para la lectura de caracteres digitados por el usuario.

Por ejemplo se pueden utilizar las ventanas de interacción que existen en una clase llamada JOptionPane.

Page 69: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

69

¿Qué es la clase JOptionPane?

JOptionPane es una clase de Java que tiene varios tipos de pantalla de diálogo y que sirve tanto para leer como para desplegar datos:– El InputDialog lee datos digitados por el usuario.– El MessageDialog despliega mensajes en

ventanas independientes.

Page 70: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

70

¿Cómo se pueden leer datos con JOptionPane?

La entrada de datos se puede llevar a cabo con el método showInputDialog que presenta una pantalla para entrada de datos.

Page 71: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

71

¿Cómo se ve una pantalla de diálogo para entrada de datos?

String nombre = JOptionPane.showInputDialog(" Digite su nombre");

Page 72: Primitivas de codificación Tipos básicos de datos

EJEMPLO 4 – Demostración del uso de paneles para entrada de datos

Ir al ejemplo

Page 73: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

73

¿Cómo se pueden escribir datos con JOptionPane?

La entrada de datos se puede llevar a cabo con el método showMessageDialog que presenta una pantalla para despliegue de datos.

Page 74: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

74

¿Cómo funciona el JOptionPane.showMessageDialog(…)?

JOptionPane.showMessageDialog(null, “salida”, “titulo”, JOptionPane.tipoDeMensaje);

– null en el primer parámetro indica que no se relacionará esta ventana con ninguna otra.

– “salida” es el String que va a presentarse con la salida deseada.

– “titulo” es el título que aparece en el borde de la ventana.– tipoDeMensaje determina las opciones o botones, y el

icono o dibujo, que tendrá la ventana.

Page 75: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

75

¿Cómo se ve una pantalla de mensajes?

JOptionPane.showMessageDialog(null,"¿ Desea continuar?", "PREGUNTA", JOptionPane.QUESTION_MESSAGE);

Page 76: Primitivas de codificación Tipos básicos de datos

EJEMPLO 5 – Demostración del uso de paneles con mensajes de salida

Ir al ejemplo

Page 77: Primitivas de codificación Tipos básicos de datos

Primitivas de codificación

Operadores aritméticos

Page 78: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

78

¿Qué operaciones pueden ser llevadas a cabo con valores numéricos?

Los tipos numéricos primitivos permiten realizar las operaciones aritméticas básicas sobre ellos.

Estas son: suma, resta, producto, división y módulo (o residuo).

Page 79: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

79

¿Cuáles son los operadores aritméticos con enteros en Java?

Operador Ejemplo Resultado

Suma + a = 1 + 2 a vale 3

Resta - a = 7 – 2 a vale 5

Producto * a = 2 * 7 a vale 14

División / a = 35 / 4 a vale 8

Residuo % a = 35 % 4 a vale 3

Page 80: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

80

¿Cuáles son los operadores aritméticos con flotantes en Java?

Operador Ejemplo Resultado

Suma + a = 1.5 + 2.5 a vale 4.0

Resta - a = 7.5 – 2.3 a vale 5.2

Producto * a = 2.0 * 7.5 a vale 15.0

División / a = 34.0 / 4.0 a vale 8.5

Residuo % a = 34.5 % 4.0 a vale 2.5

Page 81: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

81

¿Cómo se lleva a cabo la evaluación de expresiones?

En la mayoría de los lenguajes toda expresión se evalúa hasta obtener un valor único.

Las expresiones siempre producen un valor de un tipo primitivo o son reducidas a una referencia hacia un objeto.

En una expresión, el nombre de una variable siempre será sustituido por el valor actual en memoria que tiene la variable.

Page 82: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

82

¿Cuál es la prioridad entre operadores aritméticos?

El orden de prioridad de los operadores aritméticos es el siguiente:

1. Paréntesis: ( )

2. Multiplicativos: *, /, %

3. Aditivos: +, -

Si existen varios operadores del mismo tipo al mismo nivel, estos se evalúan de izquierda a derecha.

Page 83: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

83

¿Cómo visualizar los pasos que sigue el compilador para evaluar una expresión?

y = ( (2 + 4 * 2) - 5 * (3 - 5)) / 3

Secuencia de evaluación:

y = ( (2 + 8) - 5 * (3 - 5) ) / 3

y = ( (10) - 5 * (3 - 5) ) / 3

y = ( 10 - 5 * (3 - 5) ) / 3

y = ( 10 - 5 * (-2) ) / 3

y = ( 10 - 5 * -2 ) / 3

y = ( 10 - -10 ) / 3

y = (20) / 3

y = 20 / 3

y = 6

y

6

Page 84: Primitivas de codificación Tipos básicos de datos

EJERCICIO 5 – Evaluación de expresiones aritméticas

Ir al ejercicio

Page 85: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

85

¿Existen otros tipos de operadores?

¡Sí! Existen operadores conocidos como

operadores unarios ya que involucran un único operando por operador.

Además existen operadores de asignación que sirven para modificar directamente una variable.

Page 86: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

86

¿Para que sirven los operadores unarios en Java?

Algunos operadores unarios sirven para sumar o restar directamente el valor de una variable.

El efecto de la operación es diferente si se coloca el símbolo antes o después de la variable. Por ejemplo:

– En el pre incremento y pre decremento primero modifican la variable y luego permiten tomar su valor

– En el post incremento y post decremento primero se usa el valor de la variable y luego la modifica la misma.

Page 87: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

87

Ejemplo del uso de operadores de incremento y decremento.

Suponga que c tiene un valor de 2.

Operador Ejemplo Resultado

Postincremento d = c++; d vale 2, c vale 3

Preincremento d = ++c; d vale 3, c vale 3

Postdecremento d = c--; d vale 2, c vale 1

Predecremento d = --c; d vale 1, c vale 1

Page 88: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

88

¿Existen otros operadores importantes en Java?

¡Sí! Existen operadores de asignación directa.

Estos operadores toman el valor de una variable como primer operando, le aplican una operación utilizando un valor dado como segundo operando, y finalmente dejan el resultado en la misma variable de donde se tomó el primer operando.

Page 89: Primitivas de codificación Tipos básicos de datos

Autor: Edgar Casasola M. Diseño: Jorge Villalobos S.

89

¿Cuáles son los operadores de asignación en Java?

Operador Valor previo Operación Resultado

= c vale 30 c = 15; c vale 15

+= c vale 10 c += 12; c vale 22

-= c vale 4 c -= 6; c vale -2

*= c vale 2 c *= 15; c vale 30

/= c vale 27 c /= 3; c vale 9

%= c vale 9 c %= 4; c vale 1

Page 90: Primitivas de codificación Tipos básicos de datos

EJEMPLO 6 – Utilización de expresiones aritméticas

Ir al ejemplo

Page 91: Primitivas de codificación Tipos básicos de datos

EJERCICIO 6 – Utilización de expresiones aritméticas

Ir al ejercicio