jueves, 28 de enero de 2010

Java - Variables primitivas

Variables en Java

Restricciones en los nombres de las variables

1) El primer carácter debe ser una letra, el carácter “_” ó el carácter “$”.

2) No se pueden utilizar palabras reservadas de Java.

3) No pueden contener espacios en blanco.

4) Hay CASE SENSITIVE, es decir, se distingue entre mayúsculas y minúsculas. Así la variable nombre es diferente a la variable NOMBRE.

Variables primitivas

· Tipo Entero:

byte (-128 a 127), byte

short (-32768 a 32767), entero corto

int (-2^31 a (2^31) – 1), entero

long (-2^63 a (2^63) – 1, entero largo

· Tipo Real:

float (±3.4x10^38 a ±3.4x10^-45), real simple precisión

double (±1.8x10^308 a ±4.9x10^-324), real doble precisión

· Tipo booleano:

true (verdadero)

false (falso)

· Tipo carácter:

char. Los caracteres se codifican según el formato UNICODE (16 bits, al contrario que ASCII, que solo usa 8 bits). A continuación se presentan los valores especiales del tipo char, esto es, los caracteres de control ó secuencias de escape:

‘\n’ Línea siguiente

‘\t’ Tabulador

‘\b’ Retroceso

‘\r’ Retorno de carro

‘\’’ Comillas simples

‘\\’ Contrabarra

‘\”’ Comillas dobles

‘\xxx’ Carácter en octal.

‘\0’ Carácter nulo (null)

‘\uxxxx’ Carácter en hexadecimal Unicode

Expresión de valores numéricos

Los valores numéricos pueden aparecer representados en base decimal, hexadecimal ú octal. En Java, cuando un valor de tipo entero aparece sin ninguna terminación especial, se trata de un int. Si un valor lleva decimales y sin terminación especial, se trata de un double. Las terminaciones especiales son las siguientes:

L ó l, entero largo. Ejemplo: long a = 400L

F ó f, flotante ó real de simple precisión. Ejemplo: float a = 5.443F

El casting es un procedimiento para transformar una variable primitiva de un tipo a otro, o transformar un objeto de una clase a otra clase siempre y cuando haya una relación de herencia entre ambas. Pasar de byte a short, de short a int, de byte a int, … es automático siempre y cuando el entero a convertir no supere el rango del tipo convertido; en definitiva, pasar de una variable primitiva de un tipo de la cadena de la siguiente línea a otra que se encuentre a su derecha es automático. Esto es:

byte-->short-->int-->long-->float-->double

Así, por ejemplo, si a una variable de tipo long se le asigna un valor entero perteneciente al rango de int, promociona automáticamente a long y no es necesario casting. En cambio, si se le pasa un entero que se sale fuera del rango de int, es necesario realizar un casting para que la llamada al método no provoque error al compilar. Veámoslo con el siguiente ejemplo. Si una variable de tipo short, llamada var_short queremos asignarle el valor de 30000, no se podría, ya que var_short tiene un rango de valores posibles de -32768 a 32767. Para ello habría que hacer un casting, del siguiente modo: var_short = (short)30000.

Ejemplo de variables primitivas:

class prueba2 {

public static void main(String arg[]) {

System.out.println("Ejemplo de variables primitivas") ;

// Declaramos variables

byte var_byte ;

short var_short ;

int var_int ;

long var_long ;

float var_float ;

double var_double ;

boolean var_true, var_false ;

char var_char ;

// Damos valores a las variables declaradas.

var_byte = 120 ;

var_short = 30000;

var_int = 50000 ;

var_long = 3000000000L ;

var_double = 4.56E+9D ;

var_float = 4.67F ;

var_true = true ;

var_false = false ;

var_char = 'h' ;

// Mostramos valores por pantalla.

System.out.println("Tipo byte. Valor de var_byte: " + var_byte) ;

System.out.println("Tipo short. Valor de var_short: " + var_short) ;

System.out.println("Tipo int. Valor de var_int: " + var_int) ;

System.out.println("Tipo long. Valor de var_long: " + var_long) ;

System.out.println("Tipo float. Valor de var_float: " + var_float) ;

System.out.println("Tipo double. Valor de var_double: " + var_double + " NOTA: 4.56E+9D equivale a 4.59 por 10^9") ;

System.out.println("Tipo boolean. Valor de var_true: " + var_true) ;

System.out.println("Tipo boolean. Valor de var_false: " + var_false) ;

System.out.println("Tipo char. Valor de var_char: " + var_char) ;

System.out.println("Incluimos 3 saltos de línea" + '\n' + '\n' + '\n') ;

}

}

No hay comentarios:

Publicar un comentario