You are on page 1of 76

ava es un nuevo lenguaje orientado a objetos que esta recibiendo

mucha atención tanto del mundo industrial como del académico.


Java fue desarrollado por James Gosling y su equipo en
Sun Microsystems California. El lenguaje se basa en C y C++
y se pensó originalmente para escribir programas para controlar
dispositivos electrodomésticos tales como tostadoras, hornos
de microondas y otros.

El lenguaje se llamo originalmente Oak, denominado así por el tipo de


roble que existia fuera de las oficinas de Gosling pero el nombre
ya estaba ocupado comercialmente por lo que el equipo lo
renombró Java.
ava se define originalmente como un lenguaje de programación
para La web, debido a que se usa para escribir programas
denominados M  los cuales se ejecutan en un navegador web.
Es decir, es necesario tener un navegador web para ejecutar los applets
de java. Sin embargo Java no está limitado a la escritura de applets.
Se pueden escribir también aplicaciones Java.

Una aplicación Java es un programa completo y autónomo que no


necesita un navegador web. Una aplicación Java es análoga a un
programa escrito en cualquier otro lenguaje de programación.
a 

Cuando se escribe en la mayor parte de los lenguajes de programación


es necesario decidir el procesador y el sistema operativo en los
cuales se va a ejecutar el programa terminado. Entonces se incluyen
llamadas especificas de función a una biblioteca asociada al
sistema operativo de aquella plataforma de destino.

Por ejemplo, si se esta escribiendo para un entorno Windows, se


hace referencia a las ³Clases basadas en Microsoft´.

Si la máquina de destino es una Macintosh, se harán llamadas


a funciones en la ³Mac OS Toolbox´.
Archivo
ejecutable
1010 Programa en
compilador Linker 0100 ejecución
0000
Código
fuente Bibliotecas,
incluyendo
a las del
sistema
operativo

1010
0100

En la mayoria de los lenguajes se hacen llamadas directamente


al sistema operativo nativo.
Cuando se escribe en Java, no se necesita pensar en llamadas
a Windows, Mac OS u otras bibliotecas del sistema operativo.
Java contiene sus propias bibliotecas, llamadas M, los
cuales son independientes de la plataforma.

De esta misma forma, no es necesario preocuparse de si el


programa final va a ser ejecutado en un procesador Intel,
Motorola o SPARC. El compilador de Java no genera instrucciones
nativas. En su lugar, escribe código de byte para una máquina
que no existe realmente ³Java Virtual Machine´ (JVM).

Hoy en dia cualquier nuevo procesador o sistema operativo


tienen una implantación de JVM.

Archivos.class
Cuando se carga el archivo de código de byte (archivo de clase)
en la máquina de destino (PC o MAC) se ejecuta su JVM.

JVM
Archivo
Compilador Ejecutable
1010
java 0100
Código Archivo Windows
fuente de clase Mac


  

Los programas de Java autosuficientes son conocidos como


 M
, mientras que los que se ejecutan con la ayuda
de otro programa (generalmente un browser), son conocidos
como applets.
a     

      

Java es un lenguaje de programación concurrente, orientado a


objetos con capacidades cliente/servidor.

Actualmente el ÿ    M  M
M (HTML) y los
lenguajes como Javascript o Vbscript, ocupan el lugar que tenía
Basic en los años 70¶s.
A diferencia de Javascript, Java es un lenguaje de programación
diseñado para uso de programadores profesionales. Si es un
diseñador profesional tiene que encontrar pocas dificultades
para aprenderlo.
   
     

En general, los ingenieros de software se ven envueltos en cinco


actividades durante su desarrollo:
‡ Análisis
‡ Diseño
‡ Implementación
‡ Prueba
‡ Mantenimiento

Durante el M
 orientado a objetos se recomienda que vea
el dominio de la aplicación como un conjunto de clases
relacionadas.
Durante el  orientado a objetos se identifican todas las
clases, clasificandolas en una jerarquía.
Ô  
 
     

La POO es un modelo de programación que utiliza objetos, ligados


mediante mensajes, para la solución de problemas.

¿A que objetos nos referimos?

Si nos ponemos a pensar en un determinado problema que intentamos


resolver podremos identificar entidades de interés. Las cuales
pueden ser objetos potenciales que poseen un conjunto de propiedades
o atributos, y un conjunto de métodos mediante los cuales
muestran su comportamiento. Pero además de esto podremos
ver un conjunto de interrelaciones entre ellos conducidas por
mensajes a los que responden mediante métodos.
  

Considere una 


  bancaria. En ella identificamos entidades que
son cuentas: cuenta cliente 1, cuenta cliente 2, etc. Pues bien, una cuenta
puede verse como un objeto que tiene unos 
 

 ,
  
M y M y un conjunto de    asociados
como 
 M 
   M 
   M
 
M etc.

En el caso de una transferencia:

cuenta01.transferencia(cuenta02);

 M
 
M sería el mensaje que el objeto 
M envía al
objeto 
M, solicitando le sea hecha una transferencia, siendo
la respuesta a tal mensaje la ejecución del método  M
 
M.
á 
 
 Ô

Los mecanismos básicos de la POO son los siguientes:


objetos, mensajes, métodos y clases.

 

Un programa orientado a objetos se compone solamente de objetos,


entendiendo por objeto una encapsulación genérica de datos y
de los métodos para manipularlos.
³un objeto es una entidad que tiene atributos particulares,
las propiedades y unas formas de operar sobre ellos, los
métodos´.

³En Java, a un objeto se le llama instancia de una clase´


 

Un objeto es un elemento independiente de un programa de


computadora, que representa un grupo asociado de características
y esta diseñado para realizar tareas específicas. A los objetos
también se les conoce como instancias.
á 

Cuando se ejecuta un POO, los objetos están recibiendo,


interpretando y respondiendo a mensajes de otros objetos.
³Un mensaje esta asociado con un método´
objeto
mensajes Métodos

i   : Maximizar o minimizar una ventana en Windows


á  

Un método se implementa en una clase de objetos y determina


cómo tiene que actuar el objeto cuando recibe el mensaje
vinculado con ese método.

Los métodos son grupos de instrucciones asociadas en una


clase de objetos que actúan en si mimos y en otras clases de objetos.
Se usan para realizar tareas especificas, del mismo modo que las
funciones se usan en otros lenguajes de programación.
Según lo expuesto, podemos decir que la ejecución de un POO
realiza fundamentalmente tres cosas:

1. Crea los objetos necesarios


2. Los mensajes enviados a unos y a otros objetos dan
lugar a que se procese internamente la información.
3. Finalmente, cuando los objetos no son necesarios,
son borrados, liberándose la memoria ocupada por
los mismos.
R 

Una clase es un tipo de objetos definido por el usuario. Una clase


equivale a la generalización de un tipo específico de objetos.
Por ejemplo, piense en un molde para hacer flanes; el molde es
la clase y los flanes son los objetos.

molde flanes
(clase) (objetos)

Un objeto de una determinada clase se crea en el momento en que se


define una variable de dicha clase.
R 

Una clase es una plantilla que se utiliza para crear múltiples objetos
con características similares.
Las clases engloban todas las caracteristicas de un conjunto particular
de objetos. Cuando escribe un programa en un lenguaje OO, usted
no define objetos individuales, sino que define clases de objetos.
R 

Por ejemplo, usted podría tener una clase Tree que describiera todas
las características de los árboles en general:

‡ Tienen hojas y raices


‡ Crecen
‡ Producen Clorofila

La clase Tree sirve como modelo abstracto para el concepto del árbol.
Para tener verdaderamente un objeto que usted pueda manipular en un
programa, debe tener una instancia concreta de la clase Tree. Una clase
de este tipo se puede usar para crear muchos objetos Tree diferentes y
Cada uno podría tener caracteristicas diferentes:

‡ Bajo o alto
‡ Que da frutos o no
 

 
 !    



A continuación hay un ejemplo de aplicación Java. Escriba este código


En un archivo llamado app.java:

public class app


{
public static void main(String[] args)
{
System.out.println(³León Guanajuato´ );
}
}
 

 
 !    




  
Esta es la primer línea de app.java

public class app


{

Esta línea indica que estamos creando una clase de java nueva llamada
app. Después de que esta clase la transformemos a   la JVM
podrá crear objetos de esta clase y ejecutarlos.

Observe la palabra clave . Esta palabra es un especificador de


acceso que indica que esta clase esta disponible en cualquier parte
del programa que la utilice.
 

 
 !    



Observe ademas que si construye una clase pública, java le obliga a dar
un nombre al archivo. Es decir, sólo puede tener una clase pública
en un archivo con extensión Java. La razón de esto es que el compilador
de java traduce el archivo de extensión .java en un archivo  
con la extension .class, lo que significa que app.java se convertira en
app.class, y si JVM necesita la class app, sabra como mirar en el
archivo app.class. Dado que JVM utiliza el nombre del archivo para
determinar las clases publicas que hay en el, solo se puede tener una
en cada archivo. Por esa razon, el código para la clase app debe
estar en un archivo llamado app.java (observe que java es bastante
particular en esto y el uso d mayúsculas hay que tenerlo en cuenta).
R        

Según lo expuesto hasta ahora, un objeto contiene, por una parte,


atributos que definen su estado, y por ahora operaciones que
definen su comportamiento. También sabemos que un objeto
es la representación concreta y específica de una clase.
Como ejemplo vamos a crear una clase llamada
comp.
class  
{
// . . .
}
Observe que para declarar una clase hay que utilizar la palabra
reservada seguida del nombre de la clase y del cuerpo
de la misma.
El cuerpo incluye entre llaves { } los atributos y los métodos u
operaciones que definen su comportamiento.
Los atributos son caracteristicas individuales que diferencian un
objeto de otro.
En nuestro ejemplo el modelo de una computadora le distigue
de otros.

La clase   puede incluir los siguientes atributos:

‡ Marca: Mitac, Acer, Compac, etc.


‡ Procesador: Intel, AMD, SPARC, Motorola
‡ Pantalla: VGA, SPVA, UVGA

Los atributos también pueden incluir información sobre el estado


del objeto, por ejemplo si la computadora esta encendida o apagada.
Todos los atributos son definidos en la clase por variables:
M  

 
 M M
 
 M
 
 M
MM
 M
 !

M
 M

M"

Nota: Debe respetar las mayúsculas y las minúsculas.


º
"
    

La siguiente figura, muestra de forma esquemática lo que un usuario


de Java necesita y debe hacer para desarrollar un programa.

1. Editar el programa
2. Compilarlo Entorno de desarrollo
3. Ejecutarlo de Java
4. Depurarlo

Evidentemente, para poder escribir programas se necesita un entorno


de desarrollo Java. Sun Microsystems, propietario de Java,
proporciona uno de forma gratuita, M$M %$ 
 & (JDK)
que se puede obtener en la dirección de internet:

http://www.sun.com

Java 2 SDK versión 1.3 para Windows 9x.


Para instalar el JDK en la plataforma Windows hay que ejecutar el
archivo !'!()
* . De manera predeterminada el paquete
Será instalado en la carpeta *'*
Una vez finalizada la instalación, se puede obresvar el siguiente
contenido:
La carpeta contiene las herramientas de desarrollo. Esto es,
los programas para compilar ( M$M), ejecutar ( M$M), depurar ( )
y documentar ( M$M ). Además incluye otras herramientas
como el M $) para ejecutar y depurar M , M para
manipular archivos * M (colección clases java) y M$M+ que es un
archivo de cabecera para escribir métodos nativos.

La carpeta es el entorno de ejecución de Java utilizando el


SDK. Es similar al intérprete de Java. Además incluye la máquina
Virtual de Java, la biblioteca de clases, entre otros.

La carpeta contiene bibiotecas de clases adicionales.

La carpeta contiene los archivos de cabecera que dan


soporte para añadir a un programa Java código nativo (como C++).
Sólo falta un editor de código fuente Java. Es suficiente con un
editor de texto sin formato. Por ejemplo el bloc de notas de
Windows.
No obstante, todo el trabajo de edición seria más fácil si se utiliza
un entorno de desarrollo con interfaz gráfica para edición,
compilación, ejecución y depuración.

pcGRASP

R 
    

Después de editar un programa el siguiente paso es compilar el


programa mediante el JDK.
Previamente para que el sistema operativo encuentre la utilidad
Javac, utilizando la línea de ordenes hay que añadir a la variable
de entorno M+ la ruta de la carpeta donde se encuentra.
Por ejemplo M+ ,- *'-

Una vez establecida la ruta podrá compilar desde cualquier


Carpeta o subdirectorio de su sistema.
Observe que para compilar un programa hay que especificar
la extensión * M$M* El resultado de dicha compilación será
un archivo con extensión .M que contiene el código
de bytes que se ejecutará en una JVM.
Para ejecutar el archivo resultante de la compilación, invocaremos
desde la línea de comandos al intérprete de código de bytes de M$M
con el nombre del archivo como argumento, después presionamos
Enter para que se muestren los resultados.
Π  
Una vez ejecutado el programa, la solución puede ser incorrecta.
Este caso exige un ánalisis minucioso de cómo se comporta
el programa a lo largo de su ejecución; esto es, hay que
entrar en la fase de depuración del programa.

Para depurar el programa Java debe compilarlo con la opción


-g. Por ejemplo desde la línea de comandos se haría así:

Javac ±g aritmetica.java
    
 

Cuando se utiliza un entorno de desarrollo integrado lo primero que


hay que hacer es asegurarse que las opciones que indican las rutas
de herranientas Java, de las bibliotecas, de la documentación y de
las fuentes, o bien simplemente de la ruta donde se instalo el JDK,
están establecidas.

Dentro del entorno de desarrollo pcGRASP en el menú 


encontrará una orden . M /  
 que le permitirá
especificar la ruta de la carpeta donde ha instalado el JDK.
 #
Programa que crea una clase llamada 
M  y que manda una cadena
a pantalla mediante el método 

.

public class mensaje


{
/* Punto de entrada a la aplicación
args: matriz de parámetros pasados a
la aplicación mediante la linea de ordenes.
Puede estar vacía.
*/
public static void main(string[] args)
{
system.out.println(³Univesidad de León´);
}
}
El siguiente paso es compilar el programa; esto es, traducir el
programa fuente a código de byte para posteriormente ejecutarlo.

La función O  de lenguaje C le dice a la computadora que


visualice en pantalla la cadena de caracteres especificada. Lo
mismo podríamos decir del método O  de Java.

El método O  del objeto  de la clase  


de la
biblioteca Java, escribe como resultado la expresión que aparece
especificada entre comillas.

M 

M  
M0M 

   M1

System.out.println(³Universidad de León´);

clase objeto método


Cuando se ejecuta una aplicación, Java espera que haya un método

. Este método define el punto de entrada y de salida de
la aplicación.

$      




El programa editado está ahora en la memoria. Para que este trabajo


pueda tener continuidad, el programa debe guardarse en disco.
  M
: El nombre del programa fuente debe ser
el mismo que el de la clase que contiene, respetando
mayúsculas y minúsculas. En nuestro caso, el nombre de la clase
es 
M , por lo tanto el archivo debe guardarse con el nombre
de 
M * M$M.
 %
Programa que muestra el uso de los operadores aritméticos
básicos:
class aritmética
{
/*
operaciones aritméticas en java
*/
public static void main (String[] args)
{
int dato1, dato2, resultado;

dato1=20;
dato2=10;

//Suma resultado=dato1+dato2;
System.out.println(dato1 + " + " + dato2 + " = " + resultado);
Continuación....

//Resta
resultado=dato1-dato2;
System.out.println(dato1 + " - " + dato2 + " = " + resultado);

//Producto
resultado=dato1*dato2;
System.out.println(dato1 + " * " + dato2 + " = " + resultado);

//cociente resultado=dato1/dato2;
System.out.println(dato1 + " / " + dato2 + " = " + resultado);
}
}
    

 

Puesto que Java es un lenguaje orientado a objetos, un programa


Java se compone solamente de objetos. Recuerde que un objeto
es la formalización de una clase y que una clase equivale a la
generalización de un tipo especifico de objetos.
La clase define los atributos del objeto asi como los métodos
para manipularlos.
Toda aplicación Java esta formada por al menos una clase que define
un método nombrado 
:
public class nombre
{
public static void main(String[] args)
{
// código a ejecutar
}
}
a   &


Java proporciona varios niveles de acceso: , ,


$M y un nivel predeterminado. Cualquiera que lo desee puede
Acceder a las clases y los miembros que seas *

Cuando se escribe una aplicación, es necesario declarar la clase


principal como de nivel , de manera que el entorno de Java
pueda encontrarla y ejecutar su método M
( ).

 M $  M


23 
45 M 6
La línea anterior es el punto de entrada a la aplicación.
args: es una matriz de parametros pasados a la aplicación
mediante la línea de ordenes. Puede estar vacía.
El entorno Java coloca cada argumento en un  
 y luego
pasa a M
la serie de strings.
aÔ 


Los métodos y variables que pertenecen a una clase, se
conocen como estáticos (M). El método M
2 6 de una aplicación
pertenece a una clase.

Π   a 


'(  
En Java todo esta en una clase y en Java se define una clase como
punto de partida para la creación de una aplicación.
ë   @ 
 O  

El objeto 3 contiene un miembro de datos llamado out, que


encierra el concepto de <<salida estándar>>. Out es un objeto que
soporta un método llamado 

( ).


( ) toma un parámetro, la cadena que se va a imprimir en la
salida estándar.

Aquí es donde se hace el trabajo de M


( ), en la línea

System.out.println(³Cadena de salida´);
     
En esta parte analizaremos los elementos que aporta Java
(caracteres, secuencias de escape, tipos de datos, operadores, etc.)
para escribir un programa.

Caracteres de Java
Los caracteres de Java pueden agruparse en letras, dígitos, espacios
en blanco, caracteres especiales, signos de puntuación y secuencias
de escape.

 M 7    


Estos caracteres son utilizados para formar las constantes, los
identificadores y las palabras claves de Java. Son los siguientes:

Mayúsculas: A ± Z (son válidas letras acentuadas y la Ñ)


Minúsculas: a ± z (Son válidas letras acentudas y la ñ)
Dígitos: 0 ± 9
Caracteres: ³_´, ³$´ y cualquier carácter Unicode.

El compilador Java trata las letras Mayúsculas y Minúsculas


como caracteres diferentes.
i M  
M
 1
Los espacios en blanco en exceso son ignorados por el compilador.

Líneas en blanco Espacios en blanco

public static void main (String[] args)


{

System.out.print (³Hola, como estas´);


}
RM M   M  
  
M"

Este grupo de caracteres se utiliza de diferentes formas: por ejemplo,


para indicar que un identificador es una función o un arreglo;
para especificar una determinada operación aritmética,
lógica o de relación.

, . ; : ? ¶³ ( ) [ ] { } < { ! | / \ + % & * - = >

3
M  M 
Cualquier carácter de los anteriores puede también ser representado
por una secuencia de escape. Una secuencia de escape esta formada
por el carácter \ seguido de una letra o de una combinación de
dígitos. Son utilizados para acciones como nueva línea, tabular y
para hacer referencia a caracteres no imprimibles.
 
Œ)


************
\n Ir al principio de la siguiente línea
\t Tabulador horizontal
\b Retroceso
\r Retorno de carro sin avance de línea
\f Alimentación de página
\¶ Comilla simple
\´ Comilla doble
\\ Barra invertida
_____________________________________
   M 1
Los tipos de de datos en Java se clasifican en: tipos primitivos
y tipos referenciados.

1. Tipos primitivos
Hay ocho tipos primitivos de datos que podemos clasificar en
tipos numéricos y el tipo   

enteros y reales True y false

 ) 
    



 
Cada tipo primitivo tiene un rango diferente de valores positivos
o negativos excepto el boolean.

Se les llama primitivos porque están integrados en el sistema y en


realidad no son objetos, lo cual hace su uso más eficiente.

u
Se utiliza para declarar datos enteros (-128 y +127).
Entero de 8 bits.
Ejemplo: byte b = 0;

Tipo de dato recomendable para inicializar toda variable que se


declare.
 
Declara enteros (-32768 y +32767).
Entero de 16 bits.
Ejemplo: short i = 0, j = 0;


Declara enteros (-2147483648 y + 2147483647).
Entero de 32 bits.
Ejemplo: int a = 2000;
int b = -30;
int c = 0xF003;


Declara enteros (-9223372036854775808 y +9223372036854775807).
Entero de 64 bits.
Ejemplo: long c = 0xF00230F;
 
El tipo char es utilizado para declarar datos enteros en el rango
\u0000 a \uFFFF, en Unicode de 0 a 65535. Los valores 0 a 127
del código ASCII. El ASCII conforma una pequeña parte del juego
de caracteres Unicode.
Ejemplo: char car = 0;

) 
Declara un dato en punto flotante de 32 bits. Almacenan valores
para una precisión simple aproximada de 7 dígitos. Para especificar
que una constante o literal es de este tipo, hay que añadir al final de
su valor una letra µf¶ o µF¶.
Ejemplos: float a = 3.14159F;
float b = 2.2e-5F
  
Declara un dato en punto flotante de 64 bits. Almacenan valores
con una precisión aproximada de 16 dígitos. Se añade al final del
valor la letra µd¶ o µD¶; por omisión una constante es de tipo double.
Ejemplo: double a = 3.14159;
double b = 2.2e+5;

  
Indica si el resultado de la evaluación de una expresión booleana
es V (true) o F (false).
2. Tipos referenciados
Hay tres clases de tipos referenciados: clases, interfaces y arreglos.
Todos ellos serán objeto de estudio en temas posteriores.

 M1
Una literal es la expresión de un valor de un tipo primitivo, de un
tipo string o la expresión  . Por ejemplo son literales:
5, 13, 3.4, µa¶, ³hola´ y  . Una literal en Java puede ser:
un entero, un real, un valor booleano, un carácter, una cadena
o un valor nulo. En realidad son constantes.

4326 //constante entera int


4326L //constante entera Long
17.24F //constante real de tipo float
17.24D //constante real de tipo Double
µ µ // espacio en blanco
³constante de caracteres´
³´ //cadena vacía

Las cadenas de caracteres se pueden concatenar empleando


el operador +.

Ejemplo: System.out.println(³Distancia: ³ + distancia + ³ Km.´);

 M: Si alguna de las expresiones no se corresponde con una


Cadena, Java la convierte de forma automatica en una cadena de
caracteres. Más adelante veremos porque.
%M M
 
M
 "M1
Declarar una constante simbólica significa decirle al compilador
Java el nombre de la constante y su valor. Esto se hace mediante
el calificador )
 y/o 

i   :

public class constantes


{
final static int ctel = 1;
final static string cte2 = ³pulse una tecla para continuar´;

void suma( )
{
final double cte3 = 3.14159;
}
}
cte1 y cte2 están definidas dentro del cuerpo de la clase fuera de todo
método y están calificadas además de con , con .

Cuando la constante sólo sea visible en un método y sólo exista


durante la ejecución del mismo, sólo se especifica el
calificador . Esto significa que la constante es local al método.

³Una constante local no puede ser declarada ´

¦    
M
* M$M
%M M"
 
M $M M1
Una variable representa una posición en memoria para almacenar
un valor de un tipo específico. La declaración de una variable
consiste en enunciar el nombre y asociarle un tipo.
Sintaxis:  !!M 
M  
M *****

La declaración o definición de una variable puede realizarse


a nivel de la clase o a nivel del método. Pero, la definición de un
método, siempre ocurre a nivel de la clase.

public class nombre_clase


{
declaración de variables;
public void nombre_metodo( )
Nivel de la clase
{
Nivel del método declaración de variables;
sentencias;
}
}
 !
public class elementos
{
Nivel de la clase
short dia, mes, año;
void Test( )
Nivel del método {
int contador = 0;
String nombre = ³ ³, Apellidos = ³ ³;
dia = 20;
Apellido = ³Salas´;
//.....
}
//......
}

En un método las definiciones o declaraciones pueden realizarse en


cualquier lugar; o mejor dicho, en el lugar justo donde se necesiten y
no necesariamente al principio del método.
Las variables M,  y año del ejemplo anterior son accesibles
desde todos los métodos no  
de la clase 
  .
Estas variables, declaradas en el bloque de la clase pero fuera de
cualquier otro bloque, se denominan $M M  de la
clase (atributos de la clase).

En cambio, las variables 


M 
  y M   han sido
declaradas en el bloque de código correspondiente al método .
Por lo tanto sólo serán accesibles en este bloque.
³Variables locales´.

M0M"
 
M $M M1
Las variables miembro de una clase son inicializadas por omisión
por el compilador para cada objeto que se declare en la misma:
Las variables numericas con 0
Los caracteres con µ\0¶
Las cadenas y referencias a objetos con  .
Las variables locales no son inicializadas por el compilador Java.
Por lo tanto es nuestra obligación inicializarlas, de lo contrario
el compilador visualizara un error en las sentencias que hagan
referencia a esas variables.
¦ 
M!$* M$M
  M 1
Los operadores son símbolos que nos indican como manipular datos.
Se pueden clasificar en los siguientes grupos: aritméticos, relacionales,
lógicos, unitarios, a nivel de bits, de asignación y operador
condicional.

 8 
Realizan las operaciones matemáticas básicas y son:

+ Los operandos pueden ser enteros o reales.


- ³ ³ ³
* ³ ³ ³
/ Los operandos pueden ser enteros o reales. Si ambos son enteros
el resultado es entero. El resto de los casos el resultado es real.
% Los operandos tienen que ser enteros.


: Realice una aplicación que verifique las siguientes
operaciones.

int a = 10, b = 3, c;
float x = 2.0F, y;

y = x + a; // el resultado es 12.0 de tipo float


c = a / b; // El resultado es 3 de tipo int.
c = a % b; // El resultado es 1 de tipo int.
y = a / b; // El resultado es 3 de tipo int. Se convierte a float
// para asignarlo a y.
c = (int)(x/y); // El resultado es 0.6666667 de tipo float. Se
// convierte a int para asignarlo a c (c=0).
Una aplicación Java consta de:

‡ Sentencias
 (para establecer vinculos con otras clases de la
biblioteca Java o realizadas por nosotros).
‡ Una clase aplicación pública (la que incluye el método 
)
‡ Otras clases no públicas.

Donde cada método consta de:

‡ Definiciones y/o declaraciones


‡ Sentencias a ejecutar.

 
En esta parte del curso usted aprenderá a escribir código para que
para que un programa tome decisiones y para que sea capaz de
ejecutar bloques de sentencias repetidas veces.

@


Esta sentencia le permite a un programa tomar una decisión para
ejecutar una acción u otra, basándose en el resultado V o F de una
expresión.

Sintaxis: if(condición)
sentencia 1;
[else
sentencia 2];

Donde condición es una expresión booleana, sentencia 1 y sentencia 2


representan una sentencia simple o compuesta.
¦ 

M!* M$M 

M!* M$M  
!'* M$M

!O
 
El operador condicional (? : ), llamado también operador ternario, se
utiliza en expresiones condicionales que tiene la siguiente forma:

operando1 ? operando2 : operando3

Este operando sustituye a una expresión que es evaluada sólo mediante


la sentencia if ± else.

La expresión operando1 debe ser una expresión booleana.


á  
Un método es una colección de sentencias que ejecutan una tarea
especifíca. En Java, un método siempre pertenece a una clase y
su definición nunca puede contener la definición de otro método.
³Java no permite métodos anidados´

Definición de un método
La definición de un método consta de una M M y del 
del método encerrado entre llaves.

3
M :
[modificador] tipo_resultado nombre_método([lista de parámetros])
{
declaración de variables locales;
sentencia(s);
[return [( ] expresión [ ) ] ];
}
Las variables declaradas en el cuerpo del método son locales a dicho
método y por definición son accesibles sólo a dicho método.

Un  M es una palabra clave que modifica el nivel de


protección predeterminado del método. Expuesto más adelante.

El tipo de resultado especifica qué tipo de valor retorna el método.


Puede ser cualquier tipo primitivo o referenciado. Para indicar que
no se devuelve nada, se utiliza la palabra reservada $ *

El resultado de un método es devuelto a la sentencia que lo invocó,


por medio de la siguiente sentencia:

return [ ( ] expresión [ ) ];

En caso de que un método no retorne un valor (void), se puede


omitir o especificar simplemente 
.
Ejemplo:

void Escribir( )
{
// ....
return;
}

La lista de parámetros de un método son las variables que reciben los


valores de los argumentos especificados cuando se invoca al mismo.

Ejemplo:

Public void Asignar(float numero)


{
// ....
}
R     

Las clases son como plantillas para crear objetos. Para crear un objeto
de una clase en Java hay que utilizar el operador
) análogamente
como se muestra en el siguiente ejemplo:

i
   9
) i
 2 6

La clase i
  instancia un objeto para permitir que sus
métodos puedan ser llamados
Elementos es un método, ya que toda clase tiene al menos un método
predeterminado especial llamado igual que ella, que es necesario
invocar para crear un objeto denominado constructor de la clase.

Para crear un objetode la clase i


  hay que especificar a
continuación del operador
) el nombre de la clase del objeto
seguido de paréntesis.
Cuando se crea un objeto utilizando
) Java asigna
automáticamente la cantidad de memoria necesaria para asignar ese
objeto si no hubiera suficiente espacio disponible, el operador

) lanzará una excepción !
   .

R     
  
Para acceder desde un método de la clase aplicación o de cualquier
otra clase a un miembro (atributo o método) de un objeto de otra
clase diferente se utiliza la sintaxis siguiente:

  *
Ejemplo:

Miobjeto.atributo;
Miobjeto.metodo([argumentos]);
ë 
+
 
La sentencia )+ permite ejecutar una de varias acciones, en
función del valor de una expresión. Es una sentencia especial para
decisiones múltiples. La sintaxis es:

switch ( "
)
{
case  "
(
M
 :
[

M ];
case  "
(
M
 :
[

M ];
:
:
case  "
(
M

:
[

M
];
default:
[

M];
}
Donde  "
puede ser entera de tipo char, byte, short o int y
 "
(
M
 es una constante también entera y de los
mismos tipos. Por último 

M es una sentencia simple o
compuesta.

La sentencia )+ evalúa la expresión entre parentésis y compara


Su valor con las constantes de cada M.

Para transferir el control fuera del bloque de )+ es necesario


la sentencia  M.

En una sentencia )+ es posible hacer declaraciones en el bloque


De cada M, igual que en cualquier otro bloque, pero no al principio
del bloque )+ antes de cada M.
Ejemplo

switch(m)
{
int n = 0, k = 2; // declaración no permitida
case 1:
int i = 0; // declaración permitida
//......
break;
case 2:
//.....
//...
}

El error presentado en el ejemplo anterior se corrige así:


int n = 0, k = 2;
Switch(m)
{ //...... }
   ,
La biblioteca de java proporciona tres flujos estandar, manipulados
por la clase @ 
del paquete de Java, que son automáticamente
abiertos cuando se inicia un programa y cerrados cuando éste finaliza:

‡ -
Hace referencia a la entrada estándar del sistema
(teclado). Se utiliza para leer datos introducidos por el
usuario.
‡ - Hace referencia a la salida estándar del sistema
(monitor). Se utiliza para mostrar datos al usuario.
‡ -Hace referencia a la salida estándar de error del sistema
(monitor). Se utiliza para mostrar mensajes de error
al usuario.
      
Este método devuelve un entero (int) correspondiente al valor ASCII
del carácter leido. Este valor puede ser convertido a otro tipo.

Sintaxis:
Variable = (tipo de dato) System.in.read();

You might also like