TEMA 3: Datos Primitivos.
1.- Tipos de datos enteros: Long, int, short, byte.
DATOS NUMÉRICOS REALES
TIPOS DE DATOS (VARIABLES) EN JAVA.
Los primeros lenguajes de programación no usaban objetos, solo variables. Una variable podríamos decir que es un espacio de la memoria del ordenador a la que asignamos un contenido que puede ser un valor numérico (sólo números, con su valor de cálculo) o de tipo carácter o cadena de caracteres (valor alfanumérico que constará sólo de texto o de texto mezclado con números).
Como ejemplo podemos definir una variable a que contenga 32 y esto lo escribimos como a = 32. Posteriormente podemos cambiar el valor de a y hacer a = 78. O hacer “a” equivalente al valor de otra variable “b” así: a = b.
Dado que antes hemos dicho que un objeto también ocupa un espacio de memoria: ¿en qué se parecen y en qué se diferencia un objeto de una variable? Consideraremos que las variables son entidades elementales: un número, un carácter, un valor verdadero o falso… mientras que los objetos son entidades complejas que pueden estar formadas por la agrupación de muchas variables y métodos. Pero ambas cosas ocupan lo mismo: un espacio de memoria (que puede ser más o menos grande).
En los programas en Java puede ser necesario tanto el uso de datos elementales como de datos complejos. Por eso en Java se usa el término “Tipos de datos” para englobar a cualquier cosa que ocupa un espacio de memoria y que puede ir tomando distintos valores o características durante la ejecución del programa. Es decir, en vez de hablar de tipos de variables o de tipos de objetos, hablaremos simplemente de tipos de datos. Sin embargo, a veces “coloquialmente” no se utiliza la terminología de forma estricta: puedes encontrarte textos o páginas web donde se habla de una variable en alusión a un objeto.
En Java diferenciamos dos tipos de datos: por un lado, los tipos primitivos, que se corresponden con los tipos de variables en lenguajes como C y que son los datos elementales que hemos citado. Por otro lado, los tipos objeto (que normalmente incluyen métodos).
Veamos los tipos de datos en Java sobre un esquema de síntesis:
Esquema de síntesis de tipos de datos en Java
Este esquema no es necesario aprendérselo de memoria en todos sus detalles, aunque sí lo iremos memorizando poco a poco a medida que lo utilicemos, por lo menos hasta tener en nuestra cabeza los nombres de todos los tipos primitivos y envoltorio y sus características (si son objetos o no y su rango aproximado). A continuación mostramos el mismo esquema en formato de tabla:
TIPOS DE DATOS EN JAVA
|
NOMBRE
|
TIPO
|
OCUPA
|
RANGO APROXIMADO
| |
TIPOS PRIMITIVOS
(sin métodos; no son objetos; no necesitan una invocación para ser creados)
|
byte
|
Entero
|
1 byte
|
-128 a 127
| |
short
|
Entero
|
2 bytes
|
-32768 a 32767
| ||
int
|
Entero
|
4 bytes
|
2*109
| ||
long
|
Entero
|
8 bytes
|
Muy grande
| ||
float
|
Decimal simple
|
4 bytes
|
Muy grande
| ||
double
|
Decimal doble
|
8 bytes
|
Muy grande
| ||
char
|
Carácter simple
|
2 bytes
|
---
| ||
boolean
|
Valor true o false
|
1 byte
|
---
| ||
TIPOS OBJETO
(con métodos, necesitan una invocación para ser creados)
|
Tipos de la biblioteca estándar de Java
|
String (cadenas de texto)
Muchos otros (p.ej. Scanner, TreeSet, ArrayList…)
| |||
Tipos definidos por el programador / usuario
|
Cualquiera que se nos ocurra, por ejemplo Taxi, Autobus, Tranvia
| ||||
arrays
|
Serie de elementos o formación tipo vector o matriz. Lo consideraremos un objeto especial que carece de métodos.
| ||||
Tipos envoltorio o wrapper (Equivalentes a los tipos primitivos pero como objetos.)
|
Byte
| ||||
Short
| |||||
Integer
| |||||
Long
| |||||
Float
| |||||
Double
| |||||
Character
| |||||
Boolean
|
1.- Tipos con punto decimal: Double float.
float
|
Numérico en Coma flotante de precisión simple Norma IEEE 754
|
4
|
± 3.4x10-38 a ± 3.4x1038
|
0.0
|
Float
|
double
|
Numérico en Coma flotante de precisión doble Norma IEEE 754
|
8
|
± 1.8x10-308 a ± 1.8x10308
|
0.0
|
Double
|
DATOS NUMÉRICOS REALES
En Java los representan los tipos: float, double.
El tipo de dato numérico real es un subconjunto finito de los números reales. Siempre llevan un punto decimal y también pueden ser positivos o negativos. Los números reales tienen una parte entera y una parte decimal.
Por ejemplo: 0.08 -54.0001
Ejemplo de declaración de variables reales:
float peso;
double longitud;
float altura = 2.5F;
double area = 1.7E4; // equivale a 1.7 * 104
double z = .123; //si la parte entera es 0 se puede omitir
3.- Tipo carácter: Char.
char
|
Carácter Unicode
|
2
|
\u0000 a \uFFFF
|
\u0000
|
Character
|
DATOS DE TIPO CARÁCTER
En Java se representa con el tipo char.
Un dato de tipo carácter se utiliza para representar un carácter dentro del rango \u0000 a \uFFFF (números desde 0 hasta 65535) en Unicode.
En realidad un dato de tipo char contiene un número entero dentro del rango anterior que representa un carácter.
En Java se utiliza el código Unicode para la representación de caracteres. Este código actualmente representa los caracteres de la mayoría de idiomas escritos en todo el mundo.
Los 127 primeros caracteres de Unicode corresponden al código ASCII.
El Código ASCII (American Standard Code for Information Interchange o Código Estándar Americano para el Intercambio de Información) asigna valores numéricos a las letras, números, signos de puntuación y algunos otros caracteres especiales.
ASCII incluye 256 códigos divididos en dos conjuntos, estándar y extendido, de 128 cada uno. El conjunto ASCII básico, o estándar, utiliza 7 bitspara cada código, lo que da como resultado 128 códigos de caracteres desde 0 hasta 127.
El conjunto ASCII extendido utiliza 8 bits para cada código, dando como resultado 128 códigos adicionales, numerados desde el 128 hasta el 255.
En el conjunto de caracteres ASCII básico, los primeros 32 valores están asignados a los códigos de control de comunicaciones y de impresora (caracteres no imprimibles) empleados para controlar la forma en que la información es transferida desde una computadora a otra o desde una computadora a una impresora. En este grupo están los códigos correspondientes a la barra espaciadora (SP por space), la tecla ENTER de retorno de carro a un nuevo renglón (CR por carry return), etc. También existen caracteres de control usados en teleprocesamiento, como ser ACK (Acknowledge - aviso de mensaje recibido), BEL (bell - aviso por señal sonora), ETX (end of text – fin de texto), STX (start of text – comienzo de texto), etc.
Los 96 códigos restantes del código básico corresponden a los caracteres imprimibles y se asignan a los signos de puntuación corrientes, a los dígitos del 0 al 9 y a las letras mayúsculas y minúsculas del alfabeto latino.
Los códigos correspondientes al ASCII extendido, del 128 al 255, se asignan a aquellos caracteres que no pertenecen al alfabeto anglosajón, por ejemplo, las vocales con tilde, la ñ, y en general todos los caracteres especiales que utilizan los distintos lenguajes.
Debido a lo limitado de su tamaño, el código ASCII no es suficiente para representar caracteres de alfabetos como el Japonés, Chino o árabe. La solución a este problema ha sido crear un código más grande con el que poder representar cualquier carácter de cualquier idioma: el código Unicode.
El código UNICODE proporciona una única representación numérica para cada símbolo, independientemente del ordenador, el programa o el lenguaje de programación que se use.
La codificación Unicode se ha transformado en un estándar adoptado por las principales empresas de hardware y software. Java utiliza la codificación Unicode.
La descripción completa del estándar y las tablas de caracteres están disponibles en la página web oficial de Unicode http://www.unicode.org/. La referencia completa se publica, además, en forma de libro impreso cada vez que se libera una nueva versión principal. La versión digital de este libro está disponible de forma gratuita.
Ejemplo de declaración de variables de tipo carácter:
char car;
char letra1 = 'z';
char letra = '\u0061'; //código unicode del carácter ‘a’
4.- Tipo boolean(condicional) True Falso.
boolean
|
Dato lógico
|
-
|
true ó false
|
false
|
Boolean
|
DATOS DE TIPO LÓGICO
Se representan con el tipo boolean.
Los datos de este tipo sólo pueden contener dos valores: true (verdadero) ó false (falso).
Ejemplo de declaración de variables lógicas:
boolean primero;
boolean par = false;
Los tipos de datos lógicos son también conocidos como booleanos en honor del matemático inglés George Bool, que desarrolló la teoría conocida como álgebra de bool que fue la base para la representación de los circuitos lógicos.
Comentarios
Publicar un comentario