Está en la página 1de 19

Introduccin a Java

La tecnologa Java se usa para desarrollar aplicaciones para un amplio alcance de entornos,
desde dispositivos del consumidor hasta sistemas empresariales heterogneos.

Como cualquier lenguaje de programacin, el lenguaje Java tiene su propia estructura,


reglas de sintaxis y paradigma de programacin. El paradigma de programacin del
lenguaje Java se basa en el concepto de programacin orientada a objetos (OOP), que
las funciones del lenguaje soportan.
El lenguaje Java es un derivado del lenguaje C, por lo que sus reglas de sintaxis se
parecen mucho a C: por ejemplo, los bloques de cdigos se modularizan en mtodos y
se delimitan con llaves ({ y }) y las variables se declaran antes de que se usen.
Estructuralmente, el lenguaje Java comienza con paquetes. Un paquete es el mecanismo
de espacio de nombres del lenguaje Java. Dentro de los paquetes se encuentran las
clases y dentro de las clases se encuentran mtodos, variables, constantes, entre otros.

Caractersticas de Java como lenguaje de programacin


"Un lenguaje simple. Orientado al objeto, distribuido, interpretado, slido, seguro, de
arquitectura neutral, portable, de lato desempeo, de multihilos y dinmico"
1.

Simple
Basado en el lenguaje C++ pero donde se eliminan muchas de las caractersticas OOP
que se utilizan espordicamente y que creaban frecuentes problemas a los
programadores. Esta eliminacin de causas de error y problemas de mantenimiento
facilita y reduce el coste del desarrollo de software.

Java no da soporte a struct, union y pointer

Java no ofrece typedef ni #define

No permite la sobrecarga de operadores.

No ofrece herencia mltiple.

Maneja los comandos en lnea de diferente manera que C++

Java tienen una clase String, que permite un mejor manejo que los
arrays de terminacin nula del C y C++.

Java tiene un sistema automtico de asignacin y liberacin de


memoria (recolector de basura) que mejora mucho los sistemas del
C++

2.

Orientado al objeto
Java da buen soporte a las tcnicas de desarrollo OOP y en resumen a la reutilizacin
de componentes de software.

3.

Distribuido
Java se ha diseado para trabajar en ambiente de redes y contienen una gran biblioteca
de clases para la utilizacin del protocolo TCP/IP, incluyendo HTTP y FTP. El cdigo
Java se puede manipular a travs de recursos URL con la misma facilidad que C y C++
utilizan recursos locales (archivos).

4.

Interpretado
El compilador Java traduce cada fichero fuente de clases a cdigo de bytes (Bytecode),
que puede ser interpretado por todas las mquinas que den soporte a un visualizador de
que funcione con Java. Este Bytecode no es especifico de una mquina determinada,
por lo que no se compila y enlaza como en el ciclo clsico, sino que se interpreta.

5.

Slido
El cdigo Java no se quiebra fcilmente ante errores de programacin. As el relaje que
existe en la declaracin y manejo de tipos en C y C++ se torna en restricciones en Java,
donde no es posible la conversin forzada (cast) de enteros en punteros y no ofrece
soporte a los punteros que permitan saltarse reglas de manejo de tipos. As en Java no
es posible escribir en reas arbitrarias de memoria ni realizar operaciones que
corrompan el cdigo. En resumen se eliminan muchas de las posibilidades de "trucos"
que ofreca el C y C++.

6.

Seguro
Como Java suele funcionar en ambiente de redes el tema de seguridad debe interesar
en sobremanera. Las mismas caractersticas antes descritas que evitan la corrupcin de
cdigo evitan su manipulacin. Actualmente se esta trabajando en encriptar el cdigo.

7.

Arquitectura neutral
El compilador crea cdigos de byte (Bytecode) que se enva al visualizador solicitado
y se interpreta en la mquina que posee un interprete de Java o dispone de un
visualizador que funciona con Java.

8.

Portable
Al ser de arquitectura neutral es altamente portable, pero esta caracterstica puede
verse de otra manera: Los tipos estndares (int, float ...) estn igualmente
implementados en todas las mquinas por lo que las operaciones aritmticas
funcionaran igual en todas las mquinas.

9.

Alto desempeo
al ser cdigo interpretado, la ejecucin no es tan rpida como el cdigo compilado para
una plataforma particular. El compilador Java suele ofrecer la posibilidad de compilar
Bytecode en cdigo mquina de determinadas plataformas, y segn Sun este cdigo
resultar de una eficacia similar a compilaciones de C y C++.

10. Multihilos
Java puede aplicarse a la realizacin de aplicaciones en las que ocurra ms de una cosa
a la vez. Java, apoyndose en un sistema de gestin de eventos basado en el paradigma
de condicin y monitores C.A.R. permite apoyar la conducta en tiempo real e
interactiva en programas

11. Dinmico
al contrario que C++ que exige se compile de nuevo la aplicacin al cambiar una clase
madre Java utiliza un sistema de interfaces que permite aligerar esta dependencia.
Como resultado, los programas Java pueden permitir nuevos mtodos y variables en un
objeto de biblioteca sin afectar a los objetos dependientes.

Estructura de una aplicacin bsica en Java


1.- Programas de lotes
Estos se ejecutan tpicamente desde una lnea de comando o automticamente desde otra
aplicacin y tienden al siguiente patrn

Inicializacin interna de los datos

Lectura de los datos ingresados

Procesamiento de los datos

Visualizacin o ejecucin de los resultados

2.- Programas controlados por eventos


La mayor parte de las interfaces responden a eventos
Los programas controlados por eventos son generalmente as:

Inicializacin interna de los datos

Espera de los eventos

Identificacin de los eventos y actuacin en consecuencia

Estructura lgica.
Desde el punto de vista lgico, puede considerarse que los programas comprenden dos tipos de
elementos diferentes: estructuras de datos y algoritmos. O dicho en otras palabras: datos, e
instrucciones para su manipulacin. Su representacin codificada adopta dos formas: una
entendible por la mquina (ejecutable y ficheros de datos) y otra entendible por el humano
(fuente). Para el conjunto de ambas puede considerarse una escala conceptual que, si vamos de
lo general a lo particular, podemos representarla como sigue:

Traduccin de un programa
Compilacin y ejecucin de un programa en Java
Una vez escritos, pueden ser ejecutados de diversas formas:
Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este
proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intrpretes.
Ejemplos de esto son bash, clsico en estaciones Unix y que fue escrito para el proyecto GNU o
Python, cuya peculiaridad adems de ser multipropsito, est en su facilidad de uso y
productividad y de hecho, es usado en parte de los proyectos Google y YouTube.[3]
Traduciendo el cdigo escrito del programa (lo que se denomina cdigo fuente), a su
equivalente en lenguaje mquina. A este proceso se le llama compilar y al programa traductor
se le denomina compilador. Ejemplos de esto son: Ellenguaje C, que combina en su sintaxis
caractersticas de medio y bajo nivel y el compilador gcc usado en el proyecto GNU.
Programas que se auto-modifican
Un programa en ejecucin se trata de forma diferente que los datos en los cuales opera. De
cualquier forma, en algunos casos sta distincin es ambigua, especialmente cuando un
programa se modifica a s mismo. El programa modificado es secuencialmente ejecutado como
parte del mismo programa. Se pueden escribir programas auto-modificables en lenguajes
como Lisp, COBOL y Prol
Ejecucin y almacenamiento de los programas
Tpicamente, los programas se almacenan en una memoria no voltil (por ejemplo un disco),
para que luego el usuario de la computadora, directa o indirectamente, solicite su ejecucin. Al
momento de dicha solicitud, el programa es cargado en la memoria de acceso aleatorio o RAM
del equipo, bajo el control del software llamado sistema operativo, el cual puede acceder
directamente al procesador. El procesador ejecuta (corre) el programa, instruccin por
instruccin hasta que termina. A un programa en ejecucin se le suele llamar tambin proceso.
Un programa puede terminar su ejecucin en forma normal o por causa de un error, dicho
error puede ser de software o de hardware.

Pasos para la elaboracin y Ejecucin de un programa:


Los pasos a seguir los podemos resumir de la siguiente manera:
1 . Escribir el cdigo fuente, por ejemplo con el editor del EID.
2 . Compilar el fichero fuente
3 . Si se producen errores de sintaxis (o warnings) volver al editor y eliminar los errores de
sintaxis.
4 . Si no hay errores se obtendr el cdigo objeto y el enlazador construir el archivo
ejecutable.
6

5 . Una vez tengamos el archivo ejecutable, ser el sistema operativo el encargado de colocar
el programa en la memoria central y ejecutarlo.
6 . Comprobar el funcionamiento del programa.
7 . Si se detecta errores o un mal funcionamiento del programa, activar el depurador para
trazar el programa y ejecutarlo sentencia a sentencia.
8 . Una vez que hayamos encontrado la causa del error, volveremos al editor y lo corregimos.
9 . El proceso de compilar, enlazar y ejecutar el programa lo repetiremos hasta que no se
produzcan errores.

Compilacin
Un compilador es un programa informtico que traduce un programa escrito en un lenguaje de
programacin a otro lenguaje de programacin, generando un programa equivalente que la
mquina ser capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de mquina,
pero tambin puede ser un cdigo intermedio (bytecode), o simplemente texto. Este proceso
de traduccin se conoce como compilacin.
El proceso de compilacin, es el proceso por el cual se traducen las instrucciones escritas en un
determinado lenguaje de programacin a lenguaje mquina. Adems de un traductor, se
pueden necesitar otros programas para crear un programa objeto ejecutable. Un programa
fuente se puede dividir en mdulos almacenados en archivos distintos. La tarea de reunir el
programa fuente a menudo se confa a un programa distinto, llamado preprocesador. El
preprocesador tambin puede expandir abreviaturas, llamadas a macros, a proposiciones del
lenguaje fuente.
Normalmente la creacin de un programa ejecutable (un tpico.exe para Microsoft Windows o
DOS) conlleva dos pasos. El primer paso se llama compilacin (propiamente dicho) y traduce el
cdigo fuente escrito en un lenguaje de programacin almacenado en un archivo a cdigo en
bajo nivel (normalmente en cdigo objeto, no directamente a lenguaje mquina). El segundo
paso se llama enlazado en el cual se enlaza el cdigo de bajo nivel generado de todos los
ficheros y subprogramas que se han mandado compilar y se aade el cdigo de las funciones
que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse
directamente con el sistema operativo, traduciendo as finalmente el cdigo objeto a cdigo
mquina, y generando un mdulo ejecutable.

Enlace de un programa
Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado directamente por
un ordenador, sino que debe ser traducido a lenguaje mquina.
Las etapas por las que debe pasar un programa escrito en un lenguaje de programacin, hasta
poder ser ejecutable son:

Programa fuente: Programa escrito en un lenguaje de alto nivel (texto ordinario que contiene
las sentencias del programa en un lenguaje de programacin). Necesita ser traducido a cdigo
mquina para poder ser ejecutado.
Compilador: Programa encargado de traducir los programas fuentes escritos en un lenguaje de
alto nivel a lenguaje mquina y de comprobar que las llamadas a las funciones de librera se
realizan correctamente.
Programa (o cdigo) objeto: Es el programa fuente traducido (por el compilador) a cdigo
mquina. An no es directamente ejecutable.
Programa Ejecutable: Traduccin completa a cdigo mquina, realizada por el enlazador, del
programa fuente y que ya es directamente ejecutable.
Montador o enlazador (Linker ): Es el programa encargado de insertar al programa objeto el
cdigo mquina de las funciones de las libreras (archivos de biblioteca) usadas en el programa
y realizar el proceso de montaje, que producir un programa ejecutable .exe. Las libreras son
una coleccin de cdigo (funciones) ya programado y traducido a cdigo mquina, listo para
utilizar en un programa y que facilita la labor del programador.

Errores en tiempo de compilacin


Si el programa fuente es sintcticamente correcto, el compilador generar el cdigo objeto, en
caso contrario mostrar una lista con los errores encontrados, no generndose ningn
programa objeto, para que procedamos a su depuracin.
Los compiladores emiten mensajes de error o de advertencia durante las fases de compilacin,
de enlace o de ejecucin de un programa:
o Los errores en tiempo de compilacin son los que se producen antes de la ejecucin del
programa, durante el proceso de compilacin del programa.

Los errores que se pueden producir en la fase de compilacin son:


Errores fatales: Son raros. Indican errores internos del compilador. Cuando ocurre la
compilacin se detiene inmediatamente.
Errores de sintaxis: Son los errores tpicos de sintaxis. No detienen la compilacin sino que al
finalizar sta se mostrar la lista con todos los errores encontrados. Algunos errores suelen ser
consecuencia de otros cometidos con anterioridad. Con este tipo de errores no se puede
obtener un programa objeto y por lo tanto tampoco el ejecutable.
Advertencias o avisos (warnings): Indican que hay lneas de cdigo sospechosas que a pesar
de no infringir ninguna regla sintctica, el compilador las encuentra susceptibles de provocar
un error. Cuando se detecta un warning la compilacin no se detiene. Si en un programa
fuente slo se detectan warnings, se podr obtener un programa objeto, que tras el linkado
dar lugar a un programa ejecutable.
8

Fase de ejecucin de un programa


Una vez que tenemos el programa en lenguaje mquina, para poderlo ejecutar hay que
introducirlo en la memoria.
1. Una utilidad del S.O. llamada cargador colocar el programa, y sus datos de entrada, en
memoria principal, preparndolo para su ejecucin.
2. El S.O. le pasa el control a la C.P.U. para que comience la ejecucin del programa, realizando
la Unidad de Control los siguientes pasos (fases):
Captacin de la instruccin: Lee de la Memoria Principal la instruccin a ejecutar.
Ejecucin de la instruccin: Interpreta la instruccin leda y enva seales de control a las
unidades que deban intervenir en su ejecucin. Tras dicha ejecucin se establece cul ser la
siguiente instruccin a ejecutar.

La sintxis de un lenguaje define los elementos de dicho lenguaje y cmo se combinan para
formar un programa. Los elementos tpicos de cualquier lenguaje son los siguientes:

Identificadores: los nombres que se dan a las variables

Tipos de datos

Palabras reservadas: las palabras que utiliza el propio lenguaje

Sentencias

Bloques de cdigo

Comentarios

Expresiones

Operadores

A lo largo de las pginas que siguen examinaremos en detalle cada uno de estos elementos.

Identificadores
Un identificador es un nombre que identifica a una variable, a un mtodo o funcin miembro,
a una clase. Todos los lenguajes tienen ciertas reglas para componer los identificadores:

Todos los identificadores han de comenzar con una letra, el carcter subrayado ( _ ) o
el carcter dollar ( $ ).

Puede incluir, pero no comenzar por un nmero

No puede incluir el carcter espacio en blanco

Distingue entre letras maysculas y minsculas

No se pueden utilizar las plabras reservadas como identificadores

Adems de estas restricciones, hay ciertas convenciones que hacen que el programa sea ms
legible, pero que no afectan a la ejecucin del programa. La primera y fundamental es la de
encontrar un nombre que sea significativo, de modo que el programa sea lo ms legible
posible. El tiempo que se pretende ahorrar eligiendo nombres cortos y poco significativos se
pierde con creces cuando se revisa el programa despus de cierto tiempo.
Tipo de
identificador

Convencin

Ejemplo

nombre de una
clase

Comienza por letra


mayscula

String, Rectangulo,
CinematicaApplet

nombre de
funcin

comienza con letra


minscula

calcularArea, getValue,
setColor

nombre de
variable

comienza por letra


minscula

area, color, appletSize

nombre de
constante

En letras maysculas

PI, MAX_ANCHO

Comentarios
Un comentario es un texto adicional que se aade al cdigo para explicar su funcionalidad,
bien a otras personas que lean el programa, o al propio autor como recordatorio. Los
comentarios son una parte importante de la documentacin de un programa. Los comentarios
son ignorados por el compilador, por lo que no incrementan el tamao del archivo ejecutable;
se pueden por tanto, aadir libremente al cdigo para que pueda entenderse mejor.
La programacin orientada a objetos facilita mucho la lectura del cdigo, por lo que lo que no
se precisa hacer tanto uso de los comentarios como en los lenguajes estructurados. En Java
existen tres tipos de comentarios

Comentarios en una sola lnea

Comentarios de varias lneas

Comentarios de documentacin

10

Como podemos observar un comentario en varias lneas es un bloque de texto situado entre el
smbolo de comienzo del bloque /*, y otro de terminacin del mismo*/. Teniendo encuentra
este hecho, los programadores disean comentarios como el siguiente:
/*--------------------------------|
| (C) Angel Franco Garca
| fecha: Marzo 1999

|
|

| programa: PrimeroApp.java

|---------------------------------*/
Los comentarios de documentacin es un bloque de texto situado entre el smbolo de
comienzo del bloque /**, y otro de terminacin del mismo */. El programajavadoc utiliza estos
comentarios para generar la documentacin del cdigo.
/** Este es el primer programa de una
serie dedicada a explicar los fundamentos del lenguaje Java */
Habitualmente, usaremos comentarios en una sola lnea //, ya que no tiene el inconveniente
de aprendernos los smbolos de comienzo y terminacin del bloque, u olvidarnos de poner
este ltimo, dando lugar a un error en el momento de la compilacin. En la ventana de edicin
del Entorno Integrado de Desarrollo (IDE) los comentarios se distinguen del resto del cdigo
por el color del texto.
public class PrimeroApp{
public static void main(String[] args) {
//imprime un mensaje
System.out.println("El primer programa");
}
}
Un procedimiento elemental de depuracin de un programa consiste en anular ciertas
sentencias de un programa mediante los delimitadores de comentarios. Por ejemplo, se puede
modificar el programa y anular la sentencia que imprime el mensaje, poniendo delante de ella
el delimitador de comentarios en una sola lnea.
//System.out.println("El primer programa");
Al correr el programa, observaremos que no imprime nada en la pantalla.
La sentencia System.out.println() imprime un mensaje en la consola, una ventana DOS que se
abre en el escritorio de Windows 95. La funcin println tiene un slo argumento una cadena de
caracteres u objeto de la clase String.
11

Sentencias
Una sentencia es una orden que se le da al programa para realizar una tarea especfica, esta
puede ser: mostrar un mensaje en la pantalla, declarar una variable (para reservar espacio en
memoria), inicializarla, llamar a una funcin, etc. Las sentencias acaban con ;. este carcter
separa una sentencia de la siguiente. Normalmente, las sentencias se ponen unas debajo de
otras, aunque sentencias cortas pueden colocarse en una misma lnea. He aqu algunos
ejemplos de sentencias
int i=1;
import java.awt.*;
System.out.println("El primer programa");
rect.mover(10, 20);
En el lenguaje Java, los caracteres espacio en blanco se pueden emplear libremente. Como
podremos ver en los sucesivos ejemplos, es muy importante para la legibilidad de un programa
la colocacin de unas lneas debajo de otras empleando tabuladores. El editor del IDE nos
ayudar plenamente en esta tarea sin apenas percibirlo.

Bloques de cdigo
Un bloque de cdigo es un grupo de sentencias que se comportan como una unidad. Un
bloque de cdigo est limitado por las llaves de apertura { y cierre }. Como ejemplos de
bloques de cdigo tenemos la definicin de una clase, la definicin de una funcin miembro,
una sentencia iterativa for, los bloques try ... catch, para el tratamiento de las excepciones,
etc.

Expresiones
Una expresin es todo aquello que se puede poner a la derecha del operador asignacin =. Por
ejemplo:
x=123;
y=(x+100)/4;
area=circulo.calcularArea(2.5);
Rectangulo r=new Rectangulo(10, 10, 200, 300);
La primera expresin asigna un valor a la variable x.
La segunda, realiza una operacin
12

La tercera, es una llamada a una funcin miembro calcularArea desde un objeto circulo de una
clase determinada
La cuarta, reserva espacio en memoria para un objeto de la clase Rectangulo mediante la
llamada a una funcin especial denominada constructor.

Variables
Una variable es un nombre que se asocia con una porcin de la memoria del ordenador, en la
que se guarda el valor asignado a dicha variable. Hay varios tipos de variables que requieren
distintas cantidades de memoria para guardar datos.
Todas las variables han de declararse antes de usarlas, la declaracin consiste en una sentencia
en la que figura el tipo de dato y el nombre que asignamos a la variable. Una vez declarada se
le podr asignar valores.
Java tiene tres tipos de variables:

de instancia

de clase

locales

Las variables de instancia o miembros dato como veremos ms adelante, se usan para guardar
los atributos de un objeto particular.
Las variables de clase o miembros dato estticos son similares a las variables de instancia, con
la excepcin de que los valores que guardan son los mismos para todos los objetos de una
determinada clase. En el siguiente ejemplo, PI es una variable de clase y radio es una variable
de instancia. PI guarda el mismo valor para todos los objetos de la clase Circulo, pero el radio
de cada crculo puede ser diferente
class Circulo{
static final double PI=3.1416;
double radio;
//...
}

13

Las variables locales se utilizan dentro de las funciones miembro o mtodos. En el siguiente
ejemplo area es una variable local a la funcin calcularArea en la que se guarda el valor del
rea de un objeto de la clase Circulo. Una variable local existe desde el momento de su
definicin hasta el final del bloque en el que se encuentra.
class Circulo{
//...
double calcularArea(){
double area=PI*radio*radio;
return area;
}
}
En el lenguaje Java, las variables locales se declaran en el momento en el que son necesarias.
Es una buena costumbre inicializar las variables en el momento en el que son declaradas.
Veamos algunos ejemplos de declaracin de algunas variables
int x=0;
String nombre="Angel";
double a=3.5, b=0.0, c=-2.4;
boolean bNuevo=true;
int[] datos;
Delante del nombre de cada variable se ha de especificar el tipo de variable que hemos
destacado en letra negrita. Las variables pueden ser

Un tipo de dato primitivo

El nombre de una clase

Un array

El lenguaje Java utiliza el conjunto de caracteres Unicode, que incluye no solamente el


conjunto ASCII sino tambin carateres especficos de la mayora de los alfabetos. As, podemos
declarar una variable que contenga la letra
int ao=1999;
Se ha de poner nombres significativos a las variables, generalmente formados por varias
palabras combinadas, la primera empieza por minscula, pero las que le siguen llevan la letra
inicial en maysculas. Se debe evitar en todos los casos nombres de variables cortos
como xx, i, etc.
14

double radioCirculo=3.2;
Las variables son uno de los elementos bsicos de un programa, y se deben

Declarar

Inicializar

Usar

Tipos de datos primitivos


Tipo

Descripcion

boolean

Tiene dos valores true o false.

char

Caracteres Unicode de 16 bits Los caracteres alfa-numricos son los mismos que los ASCII
con el bit alto puesto a 0. El intervalo de valores va desde 0 hasta 65535 (valores de 16-bits
sin signo).

byte

Tamao 8 bits. El intervalo de valores va desde -27 hasta 27 -1 (-128 a 127)

short

Tamao 16 bits. El intervalo de valores va desde -215 hasta 215-1 (-32768 a 32767)

int

Tamao 32 bits. El intervalo de valores va desde -231 hasta 231-1 (-2147483648 a


2147483647)

long

Tamao 64 bits. El intervalo de valores va desde -263 hasta 263-1 (-9223372036854775808


a 9223372036854775807)

float

Tamao 32 bits. Nmeros en coma flotante de simple precisin. Estndar IEEE 754-1985
(de 1.40239846e45f a 3.40282347e+38f)

double

Tamao 64 bits. Nmeros en coma flotante de doble precisin. Estndar IEEE 754-1985.
(de 4.94065645841246544e324d a 1.7976931348623157e+308d.)

Los tipos bsicos que utilizaremos en la mayor parte de los programas


sern boolean, int y double.
Caracteres
En Java los caracteres no estn restringidos a los ASCII sino son Unicode. Un carcter est
siempre rodeado de comillas simples como 'A', '9', '', etc. El tipo de dato char sirve para
guardar estos caracteres.
Un tipo especial de carcter es la secuencia de escape, similares a las del lenguaje C/C++, que
se utilizan para representar caracteres de control o caracteres que no se imprimen. Una

15

secuencia de escape est formada por la barra invertida (\) y un carcter. En la siguiente tabla
se dan las secuencias de escape ms utilizadas.
Carcter

Secuencia de escape

retorno de
carro

\r

tabulador
horizontal

\t

nueva lnea

\n

barra invertida \\

Variables booleanas
En el lenguaje C/C++ el valor 0 se toma como falso y el 1 como verdadero. En el lenguaje Java
existe el tipo de dato boolean. Una variable booleana solamente puede guardar uno de los dos
posibles valores: true (verdadero) y false (falso).
boolean encontrado=false;
{...}
encontrado=true;

Variables enteras
Una variable entera consiste en cualquier combinacin de cifras precedidos por el signo ms
(opcional), para los positivos, o el signo menos, para los negativos. Son ejemplos de nmeros
enteros:
12, -36, 0, 4687, -3598
Como ejemplos de declaracin de variable enteras tenemos:
int numero=1205;
int x,y;
long m=30L;
int es la palabra reservada para declarar una variable entera. En el primer caso, el compilador
reserva una porcin de 32 bits de memoria en el que guarda el nmero 1205. Se accede a
dicha porcin de memoria mediante el nombre de la variable, numero. En el segundo caso, las
porciones de memoria cuyos nombres son x e y, guardan cualquier valor entero si la variable
16

es local o cero si la variable es de instancia o de clase. El uso de una variaable local antes de ser
convenientemente inicializada puede conducir a consecuencias desastrosas. Por tanto,
declarar e inicializar una variable es una prctica aconsejable.
En la tercera lnea 30 es un nmero de tipo int por defecto, le ponemos el sufijo L en
maysculas o minsculas para indicar que es de tipo long.
Existen como vemos en la tabla varios tipos de nmeros enteros (byte, short, int, long), y
tambin existe una clase denominada BigInteger cuyos objetos pueden guardar un nmero
entero arbitrariamente grande.
Variables en coma flotante
Las variables del tipo float o double (coma flotante) se usan para guardar nmeros en
memoria que tienen parte entera y parte decimal.
double PI=3.14159;
double g=9.7805, c=2.9979e8;
El primero es una aproximacin del nmero real p, el segundo es la aceleracin de la gravedad
a nivel del mar, el tercero es la velocidad de la luz en m/s, que es la forma de escribir 2.9979
108. El carcter punto '.', separa la parte entera de la parte decimal, en vez del carcter coma ','
que usamos habitualmente en nuestro idioma.
Otras ejemplos son los siguientes
float a=12.5f;
float b=7f;
double c=7.0;
double d=7d;
En la primera lnea 12.5 lleva el sufijo f, ya que por defecto 12.5 es double. En la segunda lnea
7 es un entero y por tanto 7f es un nmero de tipo float. Y as el resto de los ejemplos.
Conceptualmente, hay infinitos nmeros de valores entre dos nmeros reales. Ya que los
valores de las variables se guardan en un nmero prefijado de bits, algunos valores no se
pueden representar de forma precisa en memoria. Por tanto, los valores de las variables en
coma flotante en un ordenador solamente se aproximan a los verdaderos nmeros reales en
matemticas. La aproximacin es tanto mejor, cuanto mayor sea el tamao de la memoria que
reservamos para guardarlo. De este hecho, surgen las variables del tipo float y double. Para
nmeros de precisin arbitararia se emplea la clase BigDecimal.

17

Valores constantes
Cuando se declara una variable de tipo final, se ha de inicializar y cualquier intento de
modificarla en el curso de la ejecucin del programa da lugar a un error en tiempo de
compilacin.
Normalmente, las constantes de un programa se suelen poner en letras maysculas, para
distinguirlas de las que no son constantes. He aqu ejemplos de declaracin de constantes.
final double PI=3.141592653589793;
final int MAX_DATOS=150;
Las cadenas de caracteres o strings
Adems de los ocho tipos de datos primitivos, las variables en Java pueden ser declaradas para
guardar una instancia de una clase, como veremos en el siguiente captulo (Clases y objetos).
Las cadenas de caracteres o strings son distintas en Java y en el lenguaje C/C++, en este ltimo,
las cadenas son arrays de caracteres terminados en el carcter '\0'. Sin embargo, en Java son
objetos de la clase String.
String
mensaje="El primer programa";
Empleando strings, el primer programa quedara de la forma equivalente
public class PrimeroApp{
public static void main(String[] args) {
//imprime un mensaje
String
mensaje="El primer programa";

System.out.println
(mensaje);
}
}
En una cadena se pueden insertar caracteres especiales como el carcter tabulador '\t' o el de
nueva lnea '\n'
String texto="Un string con \t un carcter tabulador y \n un salto de lnea";

18

Palabras reservadas
En el siguiente cuadro se listan las palabras reservadas, aquellas que emplea el lenguaje Java, y
que el programador no puede utilizar como identificadores. Algunas de estas palabras le
resultarn familiares al programador del lenguaje C/C++. Las palabras reservadas sealadas
con un arterisco (*) no se utilizan.
abstract

boolean

break

byte

byvalue*

case

cast*

catch

char

class

const*

continue

default

do

double

else

extends

false

final

finally

float

for

future*

generic*

goto*

if

implements

import

inner*

instanceof

int

interface

long

native

new

null

operator*

outer*

package

private

protected

public

rest*

return

short

satatic

super

switch

synchronized

this

throw

transient

true

try

var*

void

volatile

while

Las palabras reservadas se pueden clasificar en las siguientes categoras:

Tipos de datos: boolean, float, double, int, char

Sentencias condicionales: if, else, switch

Sentencias iterativas: for, do, while, continue

Tratamiento de las excepciones: try, catch, finally, throw

Estructura de datos: class, interface, implements, extends

Modificadores y control de acceso: public, private, protected, transient

Otras: super, null, this.

19

También podría gustarte