Siguiente: 3 Operadores
Subir: Introducción a Java y
Anterior: 1 Primer programa en
Índice General
Subsecciones
- Java es un lenguaje fuertemente tipado:
- Cada variable tiene un tipo, cada expresión tiene un tipo y cada tipo está definido estrictamente.
- En todas las asignaciones (directas o a través de parámetros) se comprueba la compatibilidad de los tipos.
- Java es más estricto que C en asignaciones y paso de parámetros.
- No son orientados a objetos y son análogos a los de C (por razones de eficiencia).
- Todos los tipos de datos tienen un rango definido estrictamente a diferencia de C (por razones de portabilidad).
Enteros
Todos los tipos son enteros con signo.
- byte: 8 bits.
- short: 16 bits.
- int: 32 bits.
- long: 64 bits.
Tipos en coma flotante
Sólo disponibles en la versión 1.1 de CLDC.
- float: 32 bits.
- double: 64 bits.
Caracteres
Booleanos
boolean: Puede tomar los valores true o false
Enteros
- Base decimal: , , , etc
- Base octal:
- Hexadecimal: Se antepone o .
- Long: Se añade L. Ej:
Coma flotante
Sólo disponibles en la versión 1.1 de CLDC.
Son de doble precisión por defecto (double).
- Notación estándar: , ,
- Notación científica:
- Añadiendo al final F se considera float, y añadiendo D double.
Booleanos: true y false
Carácter
- Se encierran entre comillas simples.
- Se pueden usar secuencias de escape:
\141
(3 dígitos): Código en octal de la letra a
\u0061
(4 dígitos): Código en hexadecimal (carácter Unicode) de la letra a
\'
: Comilla simple
\\
: Barra invertida
\r
: Retorno de carro
\t
: Tabulador
\b
: Retroceso
Cadena: Entre comillas dobles
- La forma básica de declaración de variables es:
tipo identificador [=valor][,identificador[=valor]...];
tipo
es un tipo básico, nombre de una clase o de un interfaz.
- Los inicializadores pueden ser dinámicos:
double a=3.0, b=4.0;
double c=Math.sqrt(a*a + b*b)
El anterior código usa operaciones en coma flotante, que sólo están disponibles en CLDC 1.1
- Java permite declarar variables dentro de cualquier bloque.
- Java tiene dos tipos de ámbito
- Los ámbitos se pueden anidar aunque las variables de un bloque interior no pueden tener el mismo nombre de alguna de un bloque exterior.
- Dentro de un bloque, las variables pueden declararse en cualquier momento pero sólo pueden usarse después de declararse.
Funciona de forma parecida a C++
Conversión automática de Java
- La conversión automática de tipos se hace si:
- Los dos tipos son compatibles. Ejemplo: se puede asignar int a un long
- El tipo destino es más grande que el tipo origen
- Los tipos char y boolean no son compatibles con el resto.
Conversión de tipos incompatibles
Cuando queramos asignar a un tipo pequeño, otro mayor haremos uso de una conversión explícita:
int a;
byte b;
// ...
b = (byte) a;
Promoción de tipo automática en expresiones
Además de las asignaciones, también se pueden producir ciertas conversiones automáticas de tipo en las expresiones.
- short y byte promocionan a int en expresiones para hacer los cálculos.
- Si un operador es long todo se promociona a long
- Si un operador es float todo se promociona a float
- Si un operador es double todo se promociona a double
Ejemplo de código con error de compilación:
byte b=50;
b = b*2; //Error, no se puede asignar un int a un byte
Hay algunas diferencias en el funcionamiento de los vectores y matrices respecto a C y C++
- Declaración
tipo nombre-vector[];
Esto sólo declara nombre-vector
como vector de tipo
, y le asigna null.
- Reserva de la memoria
nombre-vector=new tipo[tamaño]
Esto hace que se inicialicen a 0 todos los elementos.
- Declaración y reserva al mismo tiempo
int vector_int[]=new int[12];
- Inicialización al declarar el vector
int vector_int[]={3,2,7}
- El intérprete de Java comprueba siempre que no nos salimos de los índices del vector.
tipo[] nombre-matriz;
Ejemplo:
int[] a2=new int[3];
char[][] twoD2=new char[3][4];
- Java no permite punteros que puedan ser accedidos y/o modificados por el programador, ya que eso permitiría que los applets rompieran el cortafuegos existente entre el entorno de ejecución y el host cliente.
Siguiente: 3 Operadores
Subir: Introducción a Java y
Anterior: 1 Primer programa en
Índice General
Andres Cano Utrera
2006-09-23