You are on page 1of 21

República Bolivariana de Venezuela

Ministerio Popular para la Educación

Instituto Universitario de Tecnología Readic

Mención: Informática

Cátedra: Programación I

Maracaibo – Estado Zulia

Realizado por:

Br. Colina Wilmer C.I. 18.426.845

Br. Kevyn Lamadrid C.I. 22.084.977

Br. Andrés Sánchez C.I. 23.447.801

Profesor: Hely Lujan

Maracaibo, Diciembre 2010


República Bolivariana de Venezuela

Ministerio Popular para la Educación

Instituto Universitario de Tecnología Readic

Mención: Informática

Cátedra: Programación I

Maracaibo – Estado Zulia

Realizado por:

Br. Colina Wilmer C.I. 18.426.845

Profesor: Hely Lujan

Maracaibo, Diciembre 2010


Esquema

1.- Generalidades del Lenguaje Java

• Características

• Compilación y ejecución de un programa en Java

2.- Elementos de una aplicación en Java

• Clases

• Objetos

• Tipos de datos

• Variables y Constantes

• Expresiones

• Palabras reservadas

• Operadores aritméticos, lógicos, relacionales y de asignación.

• Paquetes

• Comentarios: Definición y tipos

• Identificadores: Definición y reglas

3.- Sintaxis Básica

4.- Estructura de un programa en Java


1.- Generalidades del Lenguaje Java

• Características

1. Simple

Basado en el lenguaje C++ pero donde se eliminan muchas de las


características OOP que se utilizan esporádicamente y que creaban frecuentes
problemas a los programadores. Esta eliminación 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 múltiple.

* Maneja los comandos en línea de diferente manera que C++

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

* Java tiene un sistema automático de asignación y liberación de memoria


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

2. Orientado al objeto

Java da buen soporte a las técnicas de desarrollo OOP y en resumen a la


reutilización de componentes de software.

3. Distribuido

Java se ha diseñado para trabajar en ambiente de redes y contienen una gran


biblioteca de clases para la utilización del protocolo TCP/IP, incluyendo HTTP y
FTP. El código Java se puede manipular a través 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 código de bytes


(Bytecode), que puede ser interpretado por todas las máquinas que den soporte a
un visualizador de que funcione con Java. Este Bytecode no es especifico de una
máquina determinada, por lo que no se compila y enlaza como en el ciclo clásico,
sino que se interpreta.
5. Sólido

El código Java no se quiebra fácilmente ante errores de programación. Así el


relaje que existe en la declaración y manejo de tipos en C y C++ se torna en
restricciones en Java, donde no es posible la conversión 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 código. En resumen se eliminan muchas
de las posibilidades de "trucos" que ofrecían el C y C++.

6. Seguro

Como Java suele funcionar en ambiente de redes el tema de seguridad debe


interesar en sobremanera. Las mismas características antes descritas que evitan la
corrupción de código evitan su manipulación. Actualmente se esta trabajando en
encriptar el código.

7. Arquitectura neutral

El compilador crea códigos de byte (Bytecode) que se envía al visualizador


solicitado y se interpreta en la máquina que posee un intérprete de Java o dispone
de un visualizador que funciona con Java.

8. Portable

Al ser de arquitectura neutral es altamente portable, pero esta característica


puede verse de otra manera: Los tipos estándares (int, float ...) están igualmente
implementados en todas las máquinas por lo que las operaciones aritméticas
funcionaran igual en todas las máquinas.

9. Alto desempeño

al ser código interpretado, la ejecución no es tan rápida como el código


compilado para una plataforma particular. El compilador Java suele ofrecer la
posibilidad de compilar Bytecode en código máquina de determinadas plataformas, y
según Sun este código resultar de una eficacia similar a compilaciones de C y C++.

10. Multihilos

Java puede aplicarse a la realización de aplicaciones en las que ocurra más de


una cosa a la vez. Java, apoyándose en un sistema de gestión de eventos basado
en el paradigma de condición y monitores C.A.R. permite apoyar la conducta en
tiempo real e interactivo en programas
11. Dinámico

Al contrario que C++ que exige se compile de nuevo la aplicación al cambiar una
clase madre Java utiliza un sistema de interfaces que permite aligerar esta
dependencia. Como resultado, los programas Java pueden permitir nuevos métodos
y variables en un objeto de biblioteca sin afectar a los objetos dependientes.

• Compilación y ejecución de un programa en Java

PASO 1: Con un editor de texto simple (incluso notepad sirve, aunque resulta poco
aconsejabe) creamos un archivo con el contenido siguiente:

package Programas.Ejemplo1;

class HolaMundo {

public static void main ( String [] args) {

System.out.println("Hola a todos");

Guardamos el fichero fuente con nombre HolaMundo.java en la carpeta:


C:\ApuntesJava\Programas\Ejemplo1.

PASO 2: Abrimos una ventana DOS y en ella:

C:> cd C:\ApuntesJava

C:\ApuntesJava>javac Programas\Ejemplo1\HolaMundo.java

Si no hay ningún error en el programa se producirá la compilación y el compilador


almacenará en el directorio C:\ApuntesJava\Programas\Ejemplo1 un fichero de
nombre HolaMundo.class, con el código ejecutable correspondiente a la clase
HolaMundo.
Recuerda que en Java las mayúsculas y minúsculas son significativas. No es lo
mismo la clase ejemplo1 que la clase Ejemplo1. Esto suele ser fuente de errores,
sobre todo al principio. Sin embargo, ten en cuenta que en algunos sistemas
operativos como Windows, o más concretamente en una ventana DOS, esta
distinción no existe. Puedes poner cd C:\ApuntesJava o cd C:\APUNTESJAVA
indistintamente: el resultado será el mismo (no así en cualquier UNIX, que sí
distingue unas y otras). Asegurate por tanto, de que las palabras están
correctamente escritas.

Cuando pones javac Programas\Ejemplo1\HolaMundo.java estás indicando al


compilador que busque un archivo de nombre HolaMundo.java en la ruta
Programas\Ejemplo1, a partir del directorio actual; es decir, estás especificando la
ruta de un archivo.

En el ejemplo se utiliza la clase del API de Java System. Sin embargo el programa
no tiene ningún import. No obstante el compilador no detecta ningún error y genera
el código ejecutable directamente. Esto se debe a que la clase System está definida
en el package java.lang, que es el único del que no es necesario hacer el import,
que es hecho implicitamente por el compilador. Para cualquier clase del API,
definida fuera de este package es necesario hacer el impor correspondiente.

PASO 3: Ejecutar el programa: Desde la ventana DOS.

C:\ApuntesJava>java Programas.Ejemplo1.HolaMundo

Se cargará la JVM, cargará la clase HolaMundo y llamará a su método main que


producirá en la ventana DOS la salida:

Hola a todos

Los archivos .class son invocables directamente desde la línea de comandos (con la
sintaxis java nombreDeClase) si tienen un método main definido tal como se vio en
un capítulo anterior.

Se puede indicar a la JVM que busque las clases en rutas alternativas al directorio
actual. Esto se hace con el parámetro -classpath (abreviadamente -cp) en la línea
de comandos. Por ejemplo si el directorio actual es otro, podemos invocar el
programa de ejemplo de la forma:

C:\Windows>java -cp C:\ApuntesJava Programas.Ejemplo1.HolaMundo

Con el parámetro -cp se puede especificar diversas rutas alternativas para la


búsqueda de clases separadas por ;.
Cuando pones java Programas.Ejemplo1.HolaMundo estás indicando a la JVM que
cargue y ejecute la clase HolaMundo del Package Programas, subpackage
Ejemplo1. Para cumplir está orden, expresada en términos Java de clases y
packages la JVM buscará el archivo HolaMundo.class en la ruta
Programas\Ejemplo1 que es algo expresado en términos del sistema de archivos, y
por tanto del Sistema Operativo.

2.- Elementos de una aplicación en Java

• Clases: Las clases son abstracciones que representan a un conjunto de objetos


con un comportamiento e interfaz común. Podemos definir una clase como "un
conjunto de cosas (físicas o abstractas) que tienen el mismo comportamiento y
características... Es la implementación de un tipo de objeto (considerando los
objetos como instancias de las clases)". > Una clase no es más que una plantilla
para la creación de objetos. Cuando se crea un objeto (LQVWDQFLDFLyQ) se
ha de especificar de qué clase es el objeto instanciado, para que el compilador
comprenda las características del objeto.

• Objetos: Podemos definir objeto como el "encapsulamiento de un conjunto de


operaciones (métodos) que pueden ser invocados externamente, y de un estado
que recuerda el efecto de los servicios". Un objeto además de un estado interno,
presenta una interfaz para poder interactuar con el exterior. Es por esto por lo
que se dice que en la programación orientada a objetos "se unen datos y
procesos", y no como en su predecesora, la programación estructurada, en la
que estaban separados en forma de variables y funciones.

• Tipos de datos:

A. Tipos de datos simples

Es uno de los conceptos fundamentales de cualquier lenguaje de programación.


Estos definen los métodos de almacenamiento disponibles para representar
información, junto con la manera en que dicha información ha de ser
interpretada.

Para crear una variable (de un tipo simple) en memoria debe declararse
indicando su tipo de variable y su identificador que la identificará de forma única.
La sintaxis de declaración de variables es la siguiente:

TipoSimple Identificador1, Identificador2;


Esta sentencia indica al compilador que reserve memoria para dos variables del
tipo simple TipoSimple con nombres Identificador1 e Identificador2.

Los tipos de datos en Java pueden dividirse en dos categorías: simples y


compuestos. Los simples son tipos nucleares que no se derivan de otros tipos,
como los enteros, de coma flotante, booleanos y de carácter. Los tipos
compuestos se basan en los tipos simples, e incluyen las cadenas, las matrices y
tanto las clases como las interfaces, en general.

Cada tipo de datos simple soporta un conjunto de literales que le pueden ser
asignados, para darles valor. En este apartado se explican los tipos de datos
simples (o primitivos) que presenta Java, así como los literales que soporta
(sintaxis de los valores que se les puede asignar).

a.) Tipos de datos enteros

Se usan para representar números enteros con signo. Hay cuatro tipos: byte,
short, int y long. Literales enteros

Son básicos en la programación en Java y presentan tres formatos:

• Decimal: Los literales decimales aparecen como números ordinarios sin


ninguna notación especial.
• Hexadecimal: Los hexadecimales (base 16) aparecen con un 0x ó 0X inicial,
notación similar a la utilizada en C y C++.
• Octal: Los octales aparecen con un 0 inicial delante de los dígitos.

Por ejemplo, un literal entero para el número decimal 12 se representa en Java


como 12 en decimal, como 0xC en hexadecimal, y como 014 en octal.

Los literales enteros se almacenan por defecto en el tipo int, (4 bytes con signo),
o si se trabaja con números muy grandes, con el tipo long, (8 bytes con signo),
añadiendo una L ó l al final del número.

La declaración de variables enteras es muy sencilla. Un ejemplo de ello sería:

long numeroLargo = 0xC; // Por defecto vale 12

b.) Tipos de datos en coma flotante

Se usan para representar números con partes fraccionarias. Hay dos tipos de
coma flotante: float y double. El primero reserva almacenamiento para un número
de precisión simple de 4 bytes y el segundo lo hace para un numero de precisión
doble de 8 bytes.

Literales en coma flotante


Representan números decimales con partes fraccionarias. Pueden representarse
con notación estándar (563,84) o científica (5.6384e2).

De forma predeterminada son del tipo double (8 bytes). Existe la opción de usar
un tipo más corto (el tipo float de 4 bytes), especificándolo con una F ó f al final
del número.

La declaración de variables de coma flotante es muy similar a la de las variables


enteras. Por ejemplo:

double miPi = 314.16e-2 ; // Aproximadamente

float temperatura = (float)36.6; // Paciente sin fiebre

Se realiza un moldeado a temperatura, porque todos los literales con decimales


por defecto se consideran double.

c.) Tipo de datos boolean

Se usa para almacenar variables que presenten dos estados, que serán
representados por los valores true y false. Representan valores bi-estado,
provenientes del denominado álgebra de Boole.

Literales Booleanos

Java utiliza dos palabras clave para los estados: true (para verdadero) y false
(para falso). Este tipo de literales es nuevo respecto a C/C++, lenguajes en los
que el valor de falso se representaba por un 0 numérico, y verdadero cualquier
número que no fuese el 0.

Para declarar un dato del tipo booleano se utiliza la palabra reservada boolean:

boolean reciboPagado = false; // ¡¿Aun no nos han pagado?!

d.) Tipo de datos carácter

Se usa para almacenar caracteres Unicode simples. Debido a que el conjunto de


caracteres Unicode se compone de valores de 16 bits, el tipo de datos char se
almacena en un entero sin signo de 16 bits.

Java a diferencia de C/C++ distingue entre matrices de caracteres y cadenas.

Literales carácter

Representan un único carácter (de la tabla de caracteres Unicode 1.1) y


aparecen dentro de un par de comillas simples. De forma similar que en C/C++.
Los caracteres especiales (de control y no imprimibles) se representan con una
barra invertida ('\') seguida del código carácter.
Las variables de tipo char se declaran de la siguiente forma:

char letraMayuscula = 'A'; // Observe la necesidad de las ' '

char letraV = '\u0056'; // Letra 'V'

e.) Conversión de tipos de datos

En Java es posible transformar el tipo de una variable u objeto en otro diferente


al original con el que fue declarado. Este proceso se denomina "conversión",
"moldeado" o "tipado". La conversión se lleva a cabo colocando el tipo destino
entre paréntesis, a la izquierda del valor que queremos convertir de la forma
siguiente:

char c = (char)System.in.read();

La función read devuelve un valor int, que se convierte en un char debido a la


conversión (char), y el valor resultante se almacena en la variable de tipo
carácter c.

El tamaño de los tipos que queremos convertir es muy importante. No todos los
tipos se convertirán de forma segura. Por ejemplo, al convertir un long en un int,
el compilador corta los 32 bits superiores del long (de 64 bits), de forma que
encajen en los 32 bits del int, con lo que si contienen información útil, esta se
perderá.

Por ello se establece la norma de que "en las conversiones el tipo destino
siempre debe ser igual o mayor que el tipo fuente":

B. Vectores y Matrices

Una matriz es una construcción que proporciona almacenaje a una lista de


elementos del mismo tipo, ya sea simple o compuesto. Si la matriz tiene solo una
dimensión, se la denomina vector.

En Java los vectores se declaran utilizando corchetes ( [ y ] ), tras la declaración


del tipo de datos que contendrá el vector. Por ejemplo, esta sería la declaración
de un vector de números enteros (int):

int vectorNumeros[ ]; // Vector de números

Se observa la ausencia de un número que indique cuántos elementos componen


el vector, debido a que Java no deja indicar el tamaño de un vector vacío cuando
le declara. La asignación de memoria al vector se realiza de forma explícita en
algún momento del programa.
Para ello o se utiliza el operador new:

int vectorNumeros = new int[ 5 ]; // Vector de 5 números

O se asigna una lista de elementos al vector:

int vectorIni = { 2, 5, 8}; // == int vectorIni[3]=new int[3];

Se puede observar que los corchetes son opcionales en este tipo de declaración
de vector, tanto después del tipo de variable como después del identificador.

Si se utiliza la forma de new se establecerá el valor 0 a cada uno de los


elementos del vector.

C. Cadenas

En Java se tratan como una clase especial llamada String. Las cadenas se
gestionan internamente por medio de una instancia de la clase String. Una
instancia de la clase String es un objeto que ha sido creado siguiendo la
descripción de la clase.

Cadenas constantes

Representan múltiples caracteres y aparecen dentro de un par de comillas


dobles. Se implementan en Java con la clase String. Esta representación es muy
diferente de la de C/C++ de cadenas como una matriz de caracteres.

Cuando Java encuentra una constante de cadena, crea un caso de la clase


String y define su estado, con los caracteres que aparecen dentro de las comillas
dobles.

Vemos un ejemplo de cadena declarada con la clase String de Java:

String capitalUSA = "Washington D.C.";

String nombreBonito = "Amelia";

• Variables y Constantes: Las variables son valores modificables, es decir, son


nombres que representan un valor de cierto tipo y el valor asociado al nombre se
puede variar. Por ejemplo, si digo que X es una variable de tipo entero y después
digo que tiene valor 10, escribiendo la expresión 5 + X es como si escribiera la
expresión 5 + 10. De todas formas creo que todos vosotros tenéis familiaridad
con las variables porque son lo principal de cada lenguaje de programación.
Dicho esto, vamos a ver como Java trata las variables.
 Variables Miembro: Una clase en Java puede contener variables y métodos.
Las variables pueden ser tipos primitivos como int, char, etc. Los métodos son
funciones.

Por ejemplo, en el siguiente trozo de código podemos observarlo:

public class MiClase {


int i;

public MiClase() {
i = 10;
}
public void Suma_a_i( int j ) {
int suma;
suma = i + j;
}
}

La clase MiClase contiene una variable (i) y dos métodos, MiClase() que es el
constructor de la clase y Suma_a_i( int j ).

La declaración de una variable miembro aparece dentro del cuerpo de la clase,


pero fuera del cuerpo de cualquier método de esa clase. Si se declara dentro de
un método, será una variable local del método y no una variable miembro de la
clase. En el ejemplo anterior, i es una variable miembro de la clase y suma es
una variable local del método Suma_ a_i().

El tipo de una variable determina los valores que se le pueden asignar y las
operaciones que se pueden realizar con ella.

El nombre de una variable ha de ser un identificador válido en Java. Por


convenio, los programadores Java empiezan los nombres de variables con una
letra minúscula, pero no es imprescindible. Los nombres de las variables han de
ser únicos dentro de la clase y se permite que haya variables y métodos con el
mismo nombre, a diferencia de C++, en donde se produce un error de
compilación si se da este caso.

Para los programadores C++, se pueden señalar algunas diferencias entre Java
y C++ respecto a la sintaxis e interpretación en la declaración de variables
miembro de una clase, como son:

La sintaxis completa de la declaración de una variable miembro de una clase en


Java sería:

[especificador_de_acceso][static][final][transient][volatile]
tipo nombreVariable [= valor_inicial];
 Ambito de una Variable: Los bloques de sentencias compuestas en Java se
delimitan con dos llaves. Las variables de Java sólo son válidas desde el punto
donde están declaradas hasta el final de la sentencia compuesta que la engloba.
Se pueden anidar estas sentencias compuestas, y cada una puede contener su
propio conjunto de declaraciones de variables locales. Sin embargo, no se puede
declarar una variable con el mismo nombre que una de ámbito exterior.

El siguiente ejemplo intenta declarar dos variables separadas con el mismo


nombre. En C y C++ son distintas, porque están declaradas dentro de ámbitos
diferentes. En Java, esto es ilegal.

class Ambito {
int i = 1; // ámbito exterior
{ // crea un nuevo ámbito
int i = 2; // error de compilación
}
}

 Variables de Instancia: La declaración de una variable miembro dentro de la


definición de una clase sin anteponerle la palabra clave static, hace que sea una
variable de instancia en todos los objetos de la clase. El significado de variable
de instancia sería, más o menos, que cualquier objeto instanciado de esa clase
contiene su propia copia de toda variable de instancia. Si se examinara la zona
de memoria reservada a cada objeto de la clase, se encontraría la reserva
realizada para todas las variables de instancia de la clase. En otras palabras,
como un objeto es una instancia de una clase, y como cada objeto tiene su
propia copia de un dato miembro particular de la clase, entonces se puede
denominar a ese dato miembro como variable de instancia.

En Java, se accede a las variables de instancia asociadas a un objeto


determinado utilizando el nombre del objeto, el operador punto (.) y el nombre de
la variable:

miObjeto.miVariableDeInstancia;

 Variables Estáticas: La declaración de un dato miembro de una clase usando


static, crea una variable de clase o variable estática de la clase. El significado de
variable estática es que todas las instancias de la clase (todos los objetos
instanciados de la clase) contienen las mismas variables de clase o estáticas. En
otras palabras, en un momento determinado se puede querer crear una clase en
la que el valor de una variable de instancia sea el mismo (y de hecho sea la
misma variable) para todos los objetos instanciados a partir de esa clase. Es
decir, que exista una única copia de la variable de instancia, entonces es cuando
debe usarse la palabra clave static.

class Documento extends Pagina {


static int version = 10;
}
El valor de la variable version será el mismo para cualquier objeto instanciado de
la clase Documento. Siempre que un objeto instanciado de Documento cambie la
variable version, ésta cambiará para todos los objetos.

En Java, a las variables de clase se accede utilizando el nombre de la clase, el


nombre de la variable y el operador punto (.). La siguiente línea de código, ya
archivista, se utiliza para acceder a la variable out de la clase System. En el
proceso, se accede al método println() de la variable de clase que presenta una
cadena en el dispositivo estándar de salida.

System.out.println( "Hola, Mundo" );

Es importante recordar que todos los objetos de la clase comparten las mismas
variables de clase, porque si alguno de ellos modifica alguna de esas variables
de clase, quedarán modificadas para todos los objetos de la clase. Esto puede
utilizarse como una forma de comunicación entre objetos.

Constantes

En Java, se utiliza la palabra clave final para indicar que una variable debe
comportarse como si fuese constante, significando con esto que no se permite su
modificación una vez que haya sido declarada e inicializada.

Como es una constante, se le ha de proporcionar un valor en el momento en que


se declare, por ejemplo:

class Elipse {
final float PI = 3.14159;
...
}

Si se intenta modificar el valor de una variable final desde el código de la


aplicación, se generará un error de compilación.

Si se usa la palabra clave final con una variable o clase estática, se pueden crear
constantes de clase, haciendo de esto modo un uso altamente eficiente de la
memoria, porque no se necesitarían múltiples copias de las constantes.

La palabra clave final también se puede aplicar a métodos, significando en este


caso que los métodos no pueden ser sobrescritos.

• Expresiones: Los operadores, variables y las llamadas a métodos pueden ser


combinadas en secuencias conocidas como expresiones. El comportamiento real
de un programa Java se logra a través de expresiones, que se agrupan para
crear sentencias. Una expresión es una serie de variables, operadores y
llamadas a métodos (construida conforme a la sintaxis del lenguaje) que se
evalúa a un único valor. Entre otras cosas, las expresiones son utilizadas para
realizar cálculos, para asignar valores a variables, y para ayudar a controlar la
ejecución del flujo del programa. La tarea de una expresión se compone de dos
partes: realiza el cálculo indicado por los elementos de la expresión y devuelve el
valor obtenido como resultado del cálculo. Los operadores devuelven un valor,
por lo que el uso de un operador es una expresión.

Por ejemplo, la siguiente sentencia es una expresión:

int contador=1;

contador++;

La expresión contador++ en este caso particular se evalúa al valor 1, que era el


valor de la variable contador antes de que la operación ocurra, pero la variable
contador adquiere un valor de 2.

El tipo de datos del valor devuelto por una expresión depende de los elementos
utilizados en la expresión. La expresión contador++ devuelve un entero porque +
+ devuelve un valor del mismo tipo que su operando y contador es un entero.
Otras expresiones devuelven valores booleanos, cadenas.

• Palabras reservadas: Las palabras claves son aquellos identificadores


reservados por Java para un objetivo determinado y se usan sólo de la forma
limitada y específica. Java tiene un conjunto de palabras clave más rico que C o
que C++, por lo que sí está aprendiendo Java con conocimientos de C o C++,
asegúrese de que presta atención a las palabras clave de Java.
• Operadores aritméticos, lógicos, relacionales y de asignación:

Operadores aritméticos:

Son operadores binarios (requieren siempre dos operandos) que realizan las
operaciones aritméticas habituales: suma (+), resta (-), multiplicación (*), división
(/) y resto de la división (%).

Operadores lógicos

Los operadores lógicos se utilizan para construir expresiones lógicas,


combinando valores lógicos (true y/o false) o los resultados de los operadores
relacionales. La Tabla 2.4 muestra los operadores lógicos de Java. Debe notarse
que en ciertos casos el segundo operando no se evalúa porque no es necesario
(si ambos tienen que ser true y el primero es false ya se sabe que la condición de
que ambos sean true no se va a cumplir). Esto puede traer resultados no
deseados y por eso se han añadido los operadores (&) y (|) que garantizan que
los dos operandos se evalúan siempre.

Operadores relacionales

Los operadores relacionales sirven para realizar comparaciones de igualdad,


desigualdad y relación de menor o mayor. El resultado de estos operadores es
siempre un valor boolean (true o false) según se cumpla o no la relación
considerada.

Operadores de asignación

Los operadores de asignación permiten asignar un valor a una variable. El


operador de asignación por excelencia es el operador igual (=). La forma general
de las sentencias de asignación con este operador es:

variable = expression;

Java dispone de otros operadores de asignación. Se trata de versiones


abreviadas del operador (=) que realizan operaciones “acumulativas” sobre una
variable.

• Paquetes: Los paquetes son el mecanismo por el que Java permite agrupar
clases, interfaces, excepciones y constantes. De esta forma, se agrupan
conjuntos de estructuras de datos y de clases con algún tipo de relación en
común. Con la idea de mantener la reutilización y facilidad de uso de los
paquetes desarrollados es conveniente que las clases e interfaces contenidas en
los mismos tengan cierta relación funcional. De esta manera los desarrolladores
ya tendrán una idea de lo que están buscando y fácilmente sabrán qué pueden
encontrar dentro de un paquete.
• Comentarios (Definición y tipos): Existen dos formas diferentes de introducir
comentarios entre el código de Java (en realidad son tres, como pronto se verá).
Son similares a la forma de realizar comentarios en el lenguaje C++. Los
comentarios son tremendamente útiles para poder entender el código utilizado,
facilitando de ese modo futuras revisiones y correcciones. Además permite que
cualquier persona distinta al programador original pueda comprender el código
escrito de una forma más rápida. Se recomienda acostumbrarse a comentar el
código desarrollado. De esta forma se simplifica también la tarea de estudio y
revisión posteriores.
Java interpreta que todo lo que aparece a la derecha de dos barras “//” en una
línea cualquiera del código es un comentario del programador y no lo tiene en
cuenta. El comentario puede empezar al comienzo de la línea o a continuación
de una instrucción que debe ser ejecutada. La segunda forma de incluir
comentarios consiste en escribir el texto entre los símbolos /*…*/. Este segundo
método es válido para comentar más de una línea de código. Por ejemplo:

// Esta línea es un comentario


int a=1; // Comentario a la derecha de una sentencia
// Esta es la forma de comentar más de una línea utilizando
// las dos barras. Requiere incluir dos barras al comienzo de cada línea
/* Esta segunda forma es mucho más cómoda para comentar un número
elevado de líneas
ya que sólo requiere modificar el comienzo y el final. */

En Java existe además una forma especial de introducir los comentarios


(utilizando /**…*/ más algunos caracteres especiales) que permite generar
automáticamente la documentación sobre las clases y packages desarrollados
por el programador. Una vez introducidos los comentarios, el programa
javadoc.exe (incluido en el JDK) genera de forma automática la información de
forma similar a la presentada en la propia documentación del JDK. La sintaxis de
estos comentarios y la forma de utilizar el programa javadoc.exe se puede
encontrar en la información que viene con el JDK
.
• Identificadores (Definición y reglas): Los identificadores son nombres que se
les asignan a variables, métodos, clases… en el código fuente de un programa.
Los identificadores sólo existen en el código del programa fuente y no en el
programa objeto (resultado de la compilación del programa fuente). Todo nuevo
identificador que se emplee en un programa Java debe definirse previamente a
su utilización. Las normas para la construcción de un identificador empleando el
lenguaje de programación Java son las siguientes:

 Un identificador comienza por una letra, un carácter de subrayado (_) o un


carácter de dólar ($). Aunque no se recomienda emplear el carácter $, ya
que el compilador suele utilizarlos de forma interna para crear
identificadores propios.
 Los siguientes caracteres pueden ser también dígitos. Pero no pueden
emplearse espacios en blanco u otros caracteres como el signo de
interrogación (?) o el signo del tanto por ciento (%).

 No hay límite máximo de caracteres.

 En los identificadores del código fuente de un programa en Java se


distinguen las mayúsculas de las minúsculas. Por ejemplo, casa, CASA y
Casa son tres identificadores diferentes.

 Pueden incluir caracteres Unicode, con lo que se pueden emplear


secuencias de escape /uxxxx para representar estos caracteres.

 No puede emplearse el identificador de una variable o cualquier otro


elemento del código fuente del programa para otro ya existente en el
mismo bloque. Excepción: variable miembro y local con el mismo
identificador.

 Existe una serie de palabras reservadas que no pueden emplearse como


identificadores por el programador en el código fuente para otros usos.
Por ejemplo, la palabra “double” se utiliza para definir un tipo de dato real
y la palabra “for” se emplea para construir un tipo determinado de bucle.

3.- Sintaxis Básica

/**

* Write a description of class kk here.

* @author (your name)

* @version (a version number or a date)

*/

public class kk

// instance variables - replace the example below with your own

private int x;
/**

* Constructor for objects of class kk

*/

public kk()

// initialise instance variables

x = 0;

/**

* An example of a method - replace this comment with your own

* @param y a sample parameter for a method

* @return the sum of x and y

*/

public int sampleMethod(int y)

// put your code here

return x + y;

4.- Estructura de un programa en Java


Bibliografía

1.- http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/introduccion/primero.htm

2.-http://ocw.upm.es/lenguajes-y-sistemas-informaticos/programacion-en-java-
i/Contenidos/LecturaObligatoria/2-estructuradeunprogramaenjava.pdf

3.- http://www.infor.uva.es/~jmrr/2007/TGP/DOC/JAVA.html

4.- http://zarza.usal.es/~fgarcia/doc/tuto2/II_1.htm

5.- Aprenda Java como si estuviera en primero Javier García de Jalón; José Ignacio;
Rodríguez Iñigo Mingo; Aitor Imaz; Alfonso B rásales; Alberto Larzabal; Jesús Calleja;
Jon García

You might also like