Tutorial de Java en español – Fundamentos del Lenguaje

Los tipos de datos enteros son :

int,short,byte,long, todos estos tienen signo.
El tipo char

Los tipos de datos char no tienen signo y son de 16 bits , su rango de valores es de 0 -> 65535 = 0 -> 2^16 -1 y el total de valores es 2^16
Almacenan literales que representan a caracteres Unicode.
Los caracteres Unicode son 65536 (incluyendo el cero), ocupan 16 bits y son representados con la siguiente notacion :
‘unnnn’ donde n puede ser cualquier valor hexadecimal.

Si los 9 primeros bits de la izquerda son ceros , entonces la codificacion coincide con ASCII que ocupa 7 bits y por lo tanto puede codificar 128 caracteres.
Ejemplo :

Caracter Unicode Binario Decimal
La arroba ‘u0040’ 0100 0000 64 decimal
El número 0 ‘u0030’ 0100 1001 48 decimal
El número 1 ‘u0031’ 0100 0001 49 decimal
El número 9 ‘u0039’ (0100 1001 57 decimal
La letra a (Mayúscula) ‘u0041’ 0100 0001 65 decimal
La letra p (Mayúscula) ‘u0050’ 0101 0000 80 decimal
La letra z (Mayúscula) ‘u005A’ 0101 1010 90 decimal
La letra a (minúscula) ‘u0061’ 0110 0001 97 decimal
La letra p (minúscula) ‘u0070’ 0111 0000 112 decimal
La letra z (minúscula) ‘u007A’ 0111 1010 122 decimal
El simbolo de la ñ ‘u007E’ 0111 1110 126 decimal

Este tipo de datos tambien puede almacenar valores en codificacion ASCII Extendido que ocupa 8 bits y por lo tanto puede codificar 256 caracteres.
Ejemplo :
Se debe recordar que si se usa el bit 7 (posicion 8) hasta el bit 0 (posicion 1) entonces la codificacion coincide con el ASCII Extendido.

Caracter Unicode Binario Decimal
La letra e (acentuada) ‘u0081’ 1000 0001 130 decimal
La letra a (acentuada) ‘u00A0’ 1010 0000 160 decimal
La letra i (acentuada) ‘u00A1’ 1010 0001 161 decimal
El caracter Ç ‘u0080’ 1000 0000 128 decimal

Algunos caracteres son no imprimibles como el caracter Ç
Una variable de tipo caracter puede recibir un mismo valor con los siguientes formatos de números:

char alfa;
//Asignaremos el valor A con diferente representacion de este valor:
//Asignación común de caracter ASCII
alfa = 'A';

//Valor decimal
alfa = 65;

//Valor en representacion hexadecimal
alfa = 0x41;

//Valor en representacion octal
alfa = 0101;

//En representacion Unicode
alfa = 'u0041';

//Este numero ocupa 20 bits
alfa = (char) 65601; // Produce el equivalente a 65 en int

//Este numero aclara el ejemplo anterior porque
//asigna el mismo valor ( de 20 bits ), en hexadecimal haciendo una cast
alfa = (char) 0x10041; // Produce 65 en int, pues el cast lo reduce a 16 bits

Asimismo como este tipo almacena valores enteros se pueden aplicar todas las operaciones que le son permitidas como : suma, resta multiplicacion, división, modulo :

char alfa = 'A';
char beta = 'B'
char desp = 3;
char res = 0;

//Si se suma A + 3 = D
//res = D
res= alfa + desp;

//Si se suma B + 3 = E
//res = E
res= beta + desp;

//Ahora se hace la suma con los caracteres directos
// res = D
res = 'A'+3;

//Ahora se hace la suma con los caracteres directos
//res = E
res = 'B'+3;

//Absurdo pero permitido
//Se debe hacer un cast al nro negativo para que se pueda hacer la suma
res = (char)-65536+'A';  // el numero negativo contiene solamente 0ss

//Tambien es posible
//A + espacio = a
res = 'A'+' '

//Equivalente al anterior
//a + espacio = A
res = 'a'+' '

Los tipos de datos de punto flotante son : float y double. de 32 y 64 bits respectivamente.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s