2.1. Tipos
2.2. Tipos primitivos
2.3. Variables
2.4. Literales
2.5. Operaciones sobre tipos primitivos
Java es un lenguaje con control fuerte de Tipos (Strongly Typed). Esto significa que cada variable y cada expresión tiene un Tipo que es conocido en el momento de la compilación. El Tipo limita los valores que una variable puede contener, limita las operaciones soportadas sobre esos valores y determina el significado de la operaciones. El control fuerte de tipos ayuda a detectar errores en tiempo de compilación.
En Java existen dos categorias de Tipos:
Tipos Primitivos | |
Referencias |
Las referencias se usan para manipular objetos. Se verán en una lección posterior.
Los tipos primitivos son los que permiten manmipular valores numéricos (con distintos grados de precisión), caracteres y valores booleanos (verdadero / falso). Los Tipos Primitivos son:
boolean : Puede contener los valores true o false. | |
byte : Enteros. Tamaño 8-bits. Valores entre -128 y 127. | |
short : Enteros. Tamaño 16-bits. Entre -32768 y 32767. | |
int : Enteros. Tamaño 32-bits. Entre -2147483648 y 2147483647. | |
long : Enteros. Tamaño 64-bits. Entre -9223372036854775808 y 9223372036854775807. | |
float : Números en coma flotante. Tamaño 32-bits. | |
double : Números en coma flotante. Tamaño 64-bits. | |
char : Caracteres. Tamaño 16-bits.
Unicode. Desde '\u0000' a '\uffff' inclusive. Esto
es desde 0 a 65535 |
El tamaño de los tipos de datos no depende de la implementación de Java. Son siempre los mismos.
Una variable es un área en memoria que tiene un nombre y un Tipo asociado. El Tipo es o bien un Tipo primitivo o una Referencia.
Es obligatorio declarar las variables antes de usarlas. Para declararlas se indica su nombre y su Tipo, de la siguiente forma:
tipo_variable nombre ;
Ejemplos:
int i; // Declaracion de un entero
char letra; // Declaracion de un caracter
boolean flag; // Declaracion de un booleano
El ; es el separador de sentencias en Java. | |
El símbolo // indica comentarios de línea. | |
En Java las mayúsculas y minúsculas son significativas. No es lo mismo el nombre letra que Letra. | |
Todas las palabras reservadas del lenguaje van en minúsculas. | |
Todas las palabras que forman parte del lenguaje van en negrita a lo largo de todos los apuntes. |
Se pueden asignar valores a las variables mediante la instrucción de asignación. Por ejemplo:
i = 5; // a la variable i se le asigna el valor 5
letra = 'c'; // a la variable letra se le asigna el valor 'c'
flag = false; // a la variable flag se le asigna el valor false
La declaración y la combinación se pueden combinar en una sola expresión:
int i = 5;
char letra = 'c';
boolean flag = false;
En los literales numéricos puede forzarse un tipo determinado con un sufijo:
Entero largo: l ó L. | |
Float: f ó F | |
Double: d ó D. |
Por ejemplo:
long l = 5L;
float numero = 5f;
En los literales numéricos para float y double puede usarse el exponente (10 elevado a...) de la forma: 1.5e3D (equivale a 1500)
Literales hexadecimales: Al valor en hexadecimal se antepone el símbolo 0x. Por ejemplo: 0xf (valor 15)
Literales booleanos: true (verdadero) y false (falso)
Literales caracter: Un caracter entre apóstrofes (') o bien una sequencia de escape (también entre '). Las secuencias de escape están formadas por el símbolo \ y una letra o un número. Algunas secuencias de escape útiles:
\n: Salto de línea | |
\t: Tabulador | |
\b: Backspace. | |
\r: Retorno de carro | |
\uxxxx: donde xxxx es el código Unicode del carácter. Por ejemplo \u0027 es el apostrofe (') |
La siguiente tabla muestra un resumen de los operadores existentes para las distrintas clases de tipos primitivos. El grupo 'Enteros' incluye byte, short, int, long y char. El grupo 'Coma flotante' incluye float and double.
Tipos | Grupo de operadores | Operadores |
Enteros | Operadores de comparación que devuelven un valor boolean | < (menor) , <= (menor o igual) , > (mayor), >= (mayor o igual), == (igual), != (distinto) |
Operadores numéricos, que devuelven un valor int o long | + (unario, positivo), - (unario, negativo), + (suma) , - (resta) , * (multiplicación), / (división), % (resto), ++ (incremento), --(decremento), <<, >>, >>> (rotación) , ~ (complemento a nivel de bits), & (AND a nivel de bits), | (OR a nivel de bits) ^(XOR a nivel de bits) | |
Coma flotante | Operadores de comparación que devuelven un valor boolean | < (menor) , <= (menor o igual) , > (mayor), >= (mayor o igual), == (igual), != (distinto) |
Operadores numéricos, que devuelven un valor float o double | + (unario, positivo), - (unario, negativo), + (suma) , - (resta) , * (multiplicación), / (división), % (resto), ++ (incremento), --(decremento). | |
Booleanos | Operadores booleanos | == (igual), != (distinto), ! (complemento), & (AND), | (OR), ^ (XOR), && (AND condicional), || (OR condicional) |
Antonio Bel Puchol - antonio@abelp.net