Logo Studenta

Java

¡Este material tiene más páginas!

Vista previa del material en texto

AApprreennddaa JJaavvaa 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
By: Martín Alejandro Guerra Hernández 
 
 
 
 
Email: maghtin@yahoo.com.mx 
 
WebSite: http://mx.geoities.com/maghtin/ 
 
 
 
Jiquilpan, Michoacán. Enero del 2007 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
mailto:maghtin@yahoo.com.mx
http://mx.geoities.com/maghtin/
http://www.pdffactory.com
 
Índice Pagina 
 
Breve Historia de Java …………………………………………………………………… 1 
Introducción a Java……………………………………………………………………….. 1 
El Entorno de Desarrollo de Java ……………………………………………………….. 2 
Programación Orientada a Objetos …………………………………………………….. 3 
Programación en Java……………………………………………………………………. 4 
Palabras Reservadas ………………………………………………………………… 4 
Tipos de Variables…………………………………………………………………….. 4 
Visibilidad y Vida de las Variables………………………………………………….. 5 
Operadores de Java…………………………………………………………………... 7 
Sentencias de Entrada y Salida de Datos………………………………………….. 9 
Estructura de un Programa en Java………………………………………………… 10 
Estructuras de Control…………………………………………………………………….. 14 
Sentencia de Control if………………………………………………………………... 14 
Sentencia de Control switch………………………………………………………….. 16 
Bucles…………………………………………………………………………………… 19 
Bucle o ciclo while…………………………………………………………………. 19 
Bucle o ciclo for……………………………………………………………………. 22 
Bucle o ciclo do-while……………………………………………………………... 25 
Comparación de los Bucles………………………………………………………. 25 
Arreglos…………………………………………………………………………………….. 27 
Introducción a los Applet………………………………………………………………….. 31 
Estructura de un Applet……………………………………………………………….. 31 
Incrustar un Applet en una Pagina Web…………………………………………….. 32 
Clase Graphics…………………………………………………………………………….. 33 
Cuadros de Dialogo……………………………………………………………………….. 37 
Manejo de imágenes……………………………………………………………………… 39 
Herramientas Graficas de AWT………………………………………………………….. 40 
Control Label (etiquetas)……………………………………………………………... 40 
Clase TextField (cajas de texto)……………………………………………………... 41 
Control Button (botones)……………………………………………………………... 41 
Control Checkbox (casillas de verificación)………………………………………... 41 
Control List (lista desplegable)……………………………………………………… 42 
Control Scrollbar (barras de desplazamiento)…………………………………….. 43 
Referencias Bibliograficas……………………………………………………………….. 47 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
1 
BREVE HISTORIA DE JAVA 
Java surgió en 1991 cuando un grupo de ingenieros de Sun Microsystems trataron de 
diseñar un nuevo lenguaje de programación destinado a electrodomésticos. La reducida 
potencia de cálculo y memoria de los electrodomésticos llevó a desarrollar un lenguaje 
sencillo capaz de generar código de tamaño muy reducido. 
 
Debido a la existencia de distintos tipos de CPUs y a los continuos cambios, era importante 
conseguir una herramienta independiente del tipo de CPU utilizada. Desarrollaron un código 
“neutro” que no dependía del tipo de electrodoméstico, el cual se ejecutaba sobre una 
“máquina hipotética o virtual” denominada Java Virtual Machine (JVM). Era la JVM quien 
interpretaba el código neutro convirtiéndolo a código particular de la CPU utilizada. Esto 
permitía lo que luego se ha convertido en el principal lema del lenguaje: “Write Once, Run 
Everywhere”. A pesar de los esfuerzos realizados por sus creadores, ninguna empresa de 
electrodomésticos se interesó por el nuevo lenguaje. 
 
Como lenguaje de programación para computadores, Java se introdujo a finales de 1995. La 
clave fue la incorporación de un intérprete Java en la versión 2.0 del programa Netscape 
Navigator, produciendo una verdadera revolución en Internet. Java 1.1 apareció a principios 
de 1997, mejorando sustancialmente la primera versión del lenguaje. Java 1.2, más tarde 
rebautizado como Java 2, nació a finales de 1998, puede descargarlo de Sun Microsystems: 
http://java.sun.com/j2se/1.5.0/download.jsp 
 
Al programar en Java no se parte de cero. Cualquier aplicación que se desarrolle “cuelga” (o 
se apoya, según como se quiera ver) en un gran número de clases preexistentes. Algunas 
de ellas las ha podido hacer el propio usuario, otras pueden ser comerciales, pero siempre 
hay un número muy importante de clases que forman parte del propio lenguaje (el API o 
Application Programming Interface de Java). Java incorpora en el propio lenguaje muchos 
aspectos que en cualquier otro lenguaje son extensiones propiedad de empresas de software 
o fabricantes de ordenadores (threads, ejecución remota, componentes, seguridad, acceso a 
bases de datos, etc.). 
 
La compañía Sun describe el lenguaje Java como “simple, orientado a objetos, distribuido, 
interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, 
multitarea y dinámico”. 
 
 
INTRODUCCIÓN A JAVA 
Los programas desarrollados en Java presentan diversas ventajas frente a los desarrollados 
en otros lenguajes como C/C++. La ejecución de programas en Java tiene muchas 
posibilidades: ejecución como aplicación independiente (Stand-alone Application), 
ejecución como applet, ejecución como servlet, etc. Un applet es una aplicación especial 
que se ejecuta dentro de un navegador o browser (por ejemplo Netscape Navigator o Internet 
Explorer) al cargar una página HTML desde un servidor Web. El applet se descarga desde el 
servidor y no requiere instalación en el ordenador donde se encuentra el browser. Un servlet 
es una aplicación sin interface gráfica que se ejecuta en un servidor de Internet. La ejecución 
como aplicación independiente es análoga a los programas desarrollados con otros 
lenguajes. 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://java.sun.com/j2se/1.5.0/download.jsp
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
2 
Además de incorporar la ejecución como Applet, Java permite fácilmente el desarrollo tanto 
de arquitecturas cliente-servidor como de aplicaciones distribuidas, consistentes en crear 
aplicaciones capaces de conectarse a otros ordenadores y ejecutar tareas en varios 
ordenadores simultáneamente, repartiendo por lo tanto el trabajo. Aunque también otros 
lenguajes de programación permiten crear aplicaciones de este tipo, Java incorpora en su 
propio API estas funcionalidades. La versión 1.3 contenía 76 packages y aproximadamente 
2000 elementos entre clases, interfaces, excepciones, etc. 
 
 
EL ENTORNO DE DESARROLLO DE JAVA 
Existen distintos programas comerciales que permiten desarrollar código Java. La compañía 
Sun, creadora de Java, distribuye gratuitamente el Java Development Kit (JDK). Se trata de 
un conjunto de programas y librerías que permiten desarrollar, compilar y ejecutar programas 
en Java. Incorpora además la posibilidad de ejecutar parcialmente el programa, deteniendo 
la ejecución en el punto deseado y estudiando en cada momento el valor de cada una de las 
variables (con el denominado Debugger), destinado a la detección y corrección de errores. 
 
El compilador de Java, es de una de las herramientas de desarrollo incluidas en el JDK. 
Realiza un análisis de sintaxis del código escrito en los archivos fuente de Java (extensión 
*.java). Si no encuentra errores en el código genera los archivos compilados (extensión 
*.class). En otro caso muestra la(s) línea(s) errónea(s).Dicho compilador se llama javac.exe 
 
La Java Virtual Machine, se planteó la necesidad de conseguir un código capaz de 
ejecutarse en cualquier tipo de máquina. Una vez compilado no debería ser necesaria 
ninguna modificación por el hecho de cambiar de procesador o de ejecutarlo en otra 
máquina. La clave consistió en desarrollar un código “neutro” el cual estuviera preparado 
para serejecutado sobre una “máquina hipotética o virtual”, denominada Java Virtual 
Machina (JVM). Es esta JVM quien interpreta este código neutro convirtiéndolo a código 
particular de la CPU utilizada. Se evita tener que realizar un programa diferente para cada 
CPU o plataforma. La JVM es el intérprete de Java. Ejecuta los “bytecodes” (archivos 
compilados con extensión *.class) creados por el compilador de Java (javac.exe). 
 
Las variables PATH y CLASSPATH, el desarrollo y ejecución de aplicaciones en Java 
exige que las herramientas para compilar (javac.exe) y ejecutar (java.exe) se encuentren 
accesibles. La computadora, desde una ventana de comandos de MS-DOS, sólo es capaz de 
ejecutar los programas que se encuentran en los directorios indicados en la variable PATH 
de la computadora (o en el directorio activo). Si se desea compilar o ejecutar código en Java, 
el directorio donde se encuentran estos programas (java.exe y javac.exe) deberá 
encontrarse en el PATH. 
 
Una forma general de indicar estas dos variables es crear un archivo por lotes de MS-DOS 
(*.bat) donde se indiquen dichos valores. Cada vez que se ejecute MS-DOS será necesario 
ejecutar este archivo *.bat para su asignación adecuada. Un archivo sería jdk115.bat: ? 
set JAVAPATH=C:\ jdk1.1.5 
set PATH=.;%JAVAPATH%\bin;%PATH% 
set CLASSPATH=.\ ;%JAVAPATH%\l ib\classes.zip;%CLASSPATH% 
lo cual sería válido en el caso de que el JDK estuviera situado en el directorio C:\jdk1.1.5 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
3 
PROGRAMACIÓN ORIENTADA A OBJETOS (OOP) 
Los Objetos, son elementos declarados de una clase. Un objeto tiene una estructura y al 
igual que los objetos del mundo real comparten dos características: estado y 
comportamiento. El estado de un objeto son sus atributos (propiedades) y el comportamiento 
(operaciones). 
 
La Clase, es una agrupación de datos (variables o campos) y de funciones (métodos) que 
operan sobre esos datos. A estos datos y funciones pertenecientes a una clase se les 
denomina variables o métodos de instancia. 
 
Clase Objeto Estado Comportamiento 
Persona hombre, mujer nombre, altura, peso, edad comer, dormir, leer, hablar 
Animales perro, lobo, coyote nombre, color, raza ladrar, correr, oler 
Vehículos Automóvil, motocicleta ruedas, frenos, color, marca frenar, acelerar 
 
La Programación Orientada a Objetos se basa en la programación de clases. Un programa 
se construye a partir de un conjunto de clases. Se considera un método de implementación 
en el que los programas se organizan como colecciones cooperativas de objetos, cada uno 
de los cuales representa una instancia de alguna clase, y cuyas clases son, todas ellas 
miembros de una jerarquía de clases unidas mediante relaciones de herencia. 
 
En Java, las clases soportan 3 características fundamentales de la POO: encapsulación, 
herencia y polimorfismo 
 
Encapsulación, las clases pueden ser declaradas como públicas (public) y como package 
(accesibles sólo para otras clases del package). Las variables miembro y los métodos 
pueden ser public, private, protected. De esta forma se puede controlar el acceso y evitar un 
uso inadecuado. 
 
Herencia, una clase puede derivar de otra (extends), y en ese caso hereda todas sus 
variables y métodos. Una clase derivada puede añadir nuevas variables y métodos y/o 
redefinir las variables y métodos heredados. Ejemplo: 
class Nombre_Clase_Derivada extend Nombre_Clase_Base 
Clase: Figuras 
class Triangulo extend Figuras 
 
Polimorfismo, los objetos de distintas clases pertenecientes a una misma jerarquía o que 
implementen una misma interface pueden tratarse de una forma general e individualizada, al 
mismo tiempo. Ejemplo: 
class Circulo extend Figuras // Se apl ica la herencia 
{ … 
 publ ic void copiar(Figuras f) { … }; // Se apl ica el polimorfismo 
} 
class Triangulo extend Figuras // Se apl ica la herencia 
{ … 
 publ ic void copiar(Figuras f) { … }; // Se apl ica el polimorfismo 
} 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
4 
PROGRAMACIÓN EN JAVA 
En este apartado se presentan las características generales de Java como lenguaje de 
programación. Es muy similar a C/C++, lenguajes en los que está inspirado. 
 
Una variable es un nombre que contiene un valor que puede cambiar a lo largo del 
programa. Desde el punto de vista del papel o misión en el programa, las variables son: 
 
1. Variables miembro de una clase: Se definen en una clase, fuera de cualquier método; 
pueden ser tipos primitivos (char, byte, short, int, long, float, double, boolean) o 
referencias (arrays u objetos de una determinada clase). 
 
2. Variables locales: Se definen dentro de un método o más en general dentro de cualquier 
bloque entre llaves { }. Se crean en el interior del bloque y se destruyen al finalizar dicho 
bloque. Pueden ser también tipos primitivos o referencias. 
 
Nombres de Variables 
Los nombres de variables en Java se pueden crear con mucha libertad. Pueden ser 
cualquier conjunto de caracteres numéricos y alfanuméricos, sin algunos caracteres 
especiales utilizados por Java como operadores o separadores ( ,.+-*/ etc.). 
 
Existe una serie de palabras reservadas las cuales tienen un significado especial para Java 
y por lo tanto no se pueden utilizar como nombres de variables. Dichas palabras son: 
 
Abstract Boolean Break byte case Match 
Char Class Const continue default Do 
Double Else extends final finally Flota 
For Goto If implements import Instanceof 
Int Interface Long native new Null 
Package private protected public return Short 
Static super Switch synchronized this Throw 
Throws transient Try void volatile While 
 
Tipos Primitivos de Variables 
Se llaman tipos primitivos de variables de Java a aquellas variables sencillas que contienen 
los tipos de información más habituales: valores boolean, caracteres y valores numéricos 
enteros o de punto flotante. 
 
Java dispone de ocho tipos primitivos de variables: un tipo para almacenar valores true y 
false (boolean); un tipo para almacenar caracteres (char), y 6 tipos para guardar valores 
numéricos, cuatro tipos para enteros (byte, short, int y long) y dos para valores reales de 
punto flotante (float y double). Los rangos y la memoria que ocupa cada uno de estos tipos 
se muestran a continuación: 
 
Tipo de variable Descripción 
boolean 1 byte. Valores true y false 
char 2 bytes. Unicode. Comprende el código ASCII 
byte 1 byte. Valor entero entre -128 y 127 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
5 
Tipo de variable Descripción 
short 2 bytes. Valor entero entre -32768 y 32767 
int 4 bytes. Valor entero entre -2.147.483.648 y 2.147.483.647 
Long 8 bytes. Valor entre -9.223.372.036.854.775.808 y 
9.223.372.036.854.775.807 
float 4 bytes (entre 6 y 7 cifras decimales equivalentes). De -3.402823E38 a 
-1.401298E-45 y de 1.401298E-45 a 3.402823E38 
fouble 8 bytes (unas 15 cifras decimales equivalentes). De 
-1.79769313486232E308 a -4.94065645841247E-324 y de 
4.94065645841247E-324 a 1.79769313486232E308 
 
 
Cómo se definen e inicializan las variables 
Una variable se define especificando el tipo y el nombre de dicha variable. Estas variables 
pueden ser tanto de tipos primitivos como referencias a objetos de alguna clase 
perteneciente al API de Java o generada por el usuario. Si no se especificaun valor en su 
declaración, las variable primitivas se inicializan a cero (salvo boolean y char, que se 
inicializan a false y '\0'). Análogamente las variables de tipo referencia son inicializadas por 
defecto a un valor especial: null. 
 
Un tipo particular de referencias son los arrays o vectores, sean éstos de variables primitivas 
(por ejemplo, un vector de enteros) o de objetos. En la declaración de una referencia de tipo 
array hay que incluir los corchetes []. En los siguientes ejemplos aparece cómo crear un 
vector de 10 números enteros y cómo crear un vector de elementos MyClass. Java garantiza 
que los elementos del vector son inicializados a null o a cero (según el tipo de dato) en caso 
de no indicar otro valor. 
 
Ejemplos de declaración e inicialización de variables: 
int x; // Declaración de la variable primitiva x. Se inicializa a 0 
int y = 5; // Declaración de la variable primitiva y. Se inicializa a 5 
unaRef = new MyClass(); // La referencia “apunta” al nuevo objeto creado 
// Se ha utilizado el constructor por defecto 
int [ ] vector; // Declaración de un array. Se inicializa a null 
vector = new int[10]; // Vector de 10 enteros, inicializados a 0 
double [ ] v = {1.0, 2.65, 3.1}; // Declaración e inicialización de un vector de 3 
// elementos con los valores entre llaves 
MyClass [ ] lista=new MyClass[5];// Se crea un vector de 5 referencias a objetos 
// Las 5 referencias son inicializadas a null 
 
 
VISIBILIDAD Y VIDA DE LAS VARIABLES 
Dependiendo del lugar donde se definan las variables de Java, estas se pueden utilizar en la 
totalidad del programa, dentro de un método o solo temporalmente dentro de un bloque de 
sentencias. La zona de un programa en la que una variable está activa se denomina: ámbito, 
alcance o scope. El ámbito (alcance) de una variable se extiende desde la sentencia que la 
define hasta los límites del bloque que la contiene. Según el ámbito los tipos básicos son: 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
6 
Variables Locales, son aquellas definidas en el interior de un método y son visibles solo en 
ese método específico. Y se caracterizan por: no puede ser modificada por ninguna 
sentencia externa al método, los nombres de las variables locales no han de ser únicos (2 o 
mas métodos pueden definir la misma variable) cada variable pertenece al método que esta 
declarada, no existen en memoria hasta que se ejecuta el método. Lo cual permite ahorrar 
memoria. 
 
Variables de Clase, los miembros de una clase son métodos o variables, las variables de 
clase se declaran en una clase, fuera de los métodos; al menos son visibles desde cualquier 
método de la clase y se referencian simplemente con su nombre. Y se caracteriza por: se le 
asigna memoria cuando se crea el objeto de la clase y permanece hasta que el objeto es 
liberado o termina la ejecución del programa. 
 
? Ejemplo: 
class Numeros 
{ 
 int num1, num2; // Declaración de variables Miembro de la Clase 
 double promedio() 
 { 
 double x; // Declaración de variable Local 
 num1 = 21; // Esta variable es visible por ser Miembro de la Clase 
 } 
 double sumas() 
 { 
 float x; // Declaración de variable Local. Note que es igual a la del otro método. 
 num2 = 22; // Esta variable es visible por ser Miembro de la Clase 
 } 
} 
 
Visibilidad de las variables de una clase de menos accesible a más: 
private, solo accesible dentro de la clase. 
default (sin modificador), accesible por cualquier clase del paquete. 
protected, accesible en todo el paquete y en clases derivadas de otros paquetes. 
public, accesible desde cualquier clase. 
 
Uno de los aspectos más importantes en la programación orientada a objetos (OOP) es la 
forma en la cual son creados y eliminados los objetos. En Java la forma de crear nuevos 
objetos es utilizando el operador new. Cuando se utiliza el operador new, la variable de tipo 
referencia guarda la posición de memoria donde está almacenado este nuevo objeto. Para 
cada objeto se lleva cuenta de por cuántas variables de tipo referencia es apuntado. La 
eliminación de los objetos la realiza el programa denominado garbage collector, quien 
automáticamente libera o borra la memoria ocupada por un objeto cuando no existe ninguna 
referencia apuntando a ese objeto. Lo anterior significa que aunque una variable de tipo 
referencia deje de existir, el objeto al cual apunta no es eliminado si hay otras referencias 
apuntando a ese mismo objeto. 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
7 
OPERADORES DE JAVA 
Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++. Estos 
operadores se describen brevemente en los apartados siguientes. 
 
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 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: 
Operador Utilización Expresión equivalente 
+= op1 += op2 op1 = op1 + op2 
-= op1 -= op2 op1 = op1 - op2 
*= op1 *= op2 op1 = op1 * op2 
/= op1 /= op2 op1 = op1 / op2 
%= op1 %= op2 op1 = op1 % op2 
 
Operador instanceof 
El operador instanceof permite saber si un objeto pertenece o no a una determinada clase. 
Es un operador binario cuya forma general es, objectName instanceof ClassName y que 
devuelve true o false según el objeto pertenezca o no a la clase. 
 
Operadores incrementales 
Java dispone del operador incremento (++) y decremento (--). El operador (++) incrementa 
en una unidad la variable a la que se aplica, mientras que (--) la reduce en una unidad. Estos 
operadores se pueden utilizar de dos formas: 
 
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. La Tabla muestra los operadores relacionales de Java. 
Operador Utilización El resultado es true 
> op1 > op2 si op1 es mayor que op2 
>= op1 >= op2 si op1 es mayor o igual que op2 
< op1 < op2 si op1 es menor que op2 
<= op1 <= op2 si op1 es menor o igual que op2 
== op1 == op2 si op1 y op2 son iguales 
!= op1 != op2 si op1 y op2 son diferentes 
 
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 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
8 
operando no se evalúa porque ya 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. 
 
Operador Nombre Utilización Resultado 
&& AND op1 && op2 true si op1 y op2 son true. Si op1 es false ya no se 
evalúa op2 
|| OR op1 || op2 truesi op1 u op2 son true. Si op1 es true ya no se 
evalúa op2 
! negación ! op true si op es false y false si op es true 
& AND op1 & op2 true si op1 y op2 son true. Siempre se evalúa op2 
| OR op1 | op2 true si op1 u op2 son true. Siempre se evalúa op2 
 
Operador de concatenación de cadenas de caracteres (+) 
El operador más (+) se utiliza también para concatenar cadenas de caracteres. Por ejemplo, 
para escribir una cantidad con un rótulo y unas unidades puede utilizarse la sentencia: 
System.out.println("El total asciende a " + result + " unidades"); 
donde el operador de concatenación se utiliza dos veces para construir la cadena de 
caracteres que se desea imprimir por medio del método println(). La variable numérica 
result es convertida automáticamente por Java en cadena de caracteres para poderla 
concatenar. 
 
Precedencia de operadores 
El orden en que se realizan las operaciones es fundamental para determinar el resultado de 
una expresión. Por ejemplo, el resultado de x/y*z depende de qué operación (la división o el 
producto) se realice primero. La siguiente lista muestra el orden en que se ejecutan los 
distintos operadores en un sentencia, de mayor a menor precedencia: 
postfix operators [] . (params) expr++ expr-- 
unary operators ++expr --expr +expr -expr ~ ! 
creation or cast new (type)exp. 
multiplicative * / % 
Additive + - 
Shift << >> >>> 
Relational < > <= >= instanceof 
Equality == != 
Bitwise AND & 
Bitwise exclusive OR ^ 
Bitwise inclusive OR | 
Logical AND && 
Logical OR || 
Condicional ? : 
Assignment = += -= *= /= %= &= ^= |= <<= >>= >>>= 
 
En Java, todos los operadores binarios, excepto los operadores de asignación, se evalúan 
de izquierda a derecha. Los operadores de asignación se evalúan de derecha a izquierda, 
lo que significa que el valor de la derecha se copia sobre la variable de la izquierda. 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
9 
SENTENCIAS DE ENTRADA/SALIDA DE DATOS 
En Java, la entrada y salida se lee y escribe en flujos (streams). La fuente básica de entrada 
de datos es el teclado y la fuente de salida de datos es la pantalla. La clase System define 
dos referencias a objetos para la gestión de entrada y de salida: 
System.in para entrada por teclado 
System.out para la salida por pantalla 
 
Salida (System.out) 
El objeto out definido en la clase System esta asociado con el flujo de salida, que dirige los 
datos a consola y permite visualizarlos en la pantalla de su equipo: 
 
System.out es una referencia a un objeto de clase PrintStream, tiene métodos que se 
utilizarán con mucha frecuencia: 
print( ) transfiere una cadena de caracteres al buffer de pantalla. 
println( ) transfiere una cadena de caracteres y el carácter de fin de línea al buffer de la 
pantalla. 
? Ejemplo: 
System.out.print(“Este es un mensaje en java”); 
System.out.println(“Este es un mensaje en java y el cursor lo envía a la siguiente línea”); 
 
 
Entrada (System.in) 
El objeto esta asociado al flujo estándar de entrada, que por defecto es el teclado. Entre los 
metodos de clase se encuentran read(), que devuelve el carácter actual en el buffer de 
entrada. 
? Ejemplo: 
char letra; 
letra = (char) System.in.read(); 
 
No resulta practico el capturar carácter a carácter, es preferible hacerlo línea a línea. Para 
ello se utiliza la clase InputStreamReader, de la que se crea un objeto inicializado con 
System.in 
BufferedReader var iable = new BufferedReader(new InputStreamReader(System. in) ; 
 
? Ejemplo: 
String nombrex; 
BufferedReader entr = new BufferedReader(new InputStreamReader(System.in); 
System.out.print(“Nombre:”); 
nombrex = entr.readl ine(); 
System.out.println(“El Nombre Tecleado es: ” + nombrex); 
 
 
Paquete io (import java.io.*;) 
Este paquete se utiliza para entradas de datos por teclado y salidas de datos en pantalla. 
Entre los que destacan: System.out.print, BufferedReader, readLine,parseInt, parseFloat. 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
10 
Paquete util (import java.util.*;) 
Este paquete se utiliza para entradas de datos por teclado y salidas de datos en pantalla. 
Entre los que destacan: System.out.print, Scanner, nextLine, nextInt, nextFloat. 
 
Paquete *Clase/Metodo+ 
io +print 
util +print 
Transfiere una cadena de caracteres al buffer de pantalla. 
io *BufferedReader 
util *Scanner 
Permite inicializar los métodos para lectura de datos. 
io +readLine 
util +nextLine 
Se utiliza para la entrada de datos desde el teclado, devuelve 
un objeto cadena con los caracteres leídos hasta encontrar la 
marca de fin de línea. 
io +parseInt Tiene como argumento una cadena y devuelve el valor entero 
correspondiente a la conversión de dígitos de la cadena. 
util +nextInt Se utiliza para la entrada de datos desde el teclado, devuelve 
un objeto numérico entero. 
io +parseFloat Tiene como argumento una cadena y devuelve el valor numérico 
decimal correspondiente a la conversión de dígitos de la cadena. 
Util +nextFloat Se utiliza para la entrada de datos desde el teclado, devuelve 
un objeto numérico decimal. 
 
ESTRUCTURA DE UN PROGRAMA EN JAVA 
Un programa en Java se compone de una o más clases. Uno de los métodos de la clase 
principal debe ser obligatoriamente el main(). Un método en Java es un grupo de 
instrucciones que realiza una o más acciones. Asimismo, un programa contendrá una serie 
de declaraciones import que permitirán incluir en el mismo archivo que a su vez constarán 
de clases y datos predefinidos por ellos. 
 
import nombrePaquete.nombreClase; // Importación de las clases de los paquetes. 
public class nombreDelPrograma // Nombre de la clase principal 
{ 
 public static void main(String arg[]) //Método por el que inicia la ejecución del programa. 
 { 
 . . . 
 } 
} 
 
? Ejemplo 1, consiste en enviar un mensaje a la pantalla: 
import java.io.*; // Importación de la clase io de entrada/salida. 
 // * indica que debe importar todos los elementos del paquete java.io 
public class Mensaje1 // Nombre de la clase principal, en este caso Mensaje1 
{ // Inicia y define la clase principal 
 public static void main(String arg[]) //Método por el que inicia la ejecución del programa. 
 { // Inicia el método principal del programa 
 System.out.println(“Bienvenidos al Lenguaje Java”); //Envía el mensaje a pantalla. 
 } // Fin del método principal del programa 
} // Fin de la clase principal 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
11 
? Ejemplo 2, consiste en enviar mensajes a pantallas con salto de línea. 
import java.io.*; // Importación de la clase io de entrada/salida. 
public class MensajeSalto // Nombre de la clase principal, en este caso MensajeSalto 
{ // Inicia y define la clase principal 
 public static void main(String arg[]) //Método por el que inicia la ejecución del programa. 
 { // Inicia el método principal del programa 
 System.out.print(“Soy: Alejandro \n”); //Envía el mensaje con salto de línea 
 System.out.print(“Aprendiendo un poco \nde Java”); //Envía el mensaje en dos líneas 
 } // Fin del método principal del programa 
} // Fin de la clase principal 
 
 
? Ejemplo 3, consiste en declarar variables de texto y numéricas, asignarles valores e 
imprimir esos valores en pantalla. 
import java.io.*; // Importación dela clase io de entrada/salida. 
public class ValorVariables // Nombre de la clase principal, en este caso ValorVariables 
{ // Inicia y define la clase principal 
 public static void main(String arg[]) //Método por el que inicia la ejecución del programa. 
 { // Inicia el método principal del programa 
 int numero; // Declaración de variable local tipo numérica entera. 
 String nombrex; // Declaración de variable local tipo cadena. 
 nombrex=“Alejandro”; // Asignación de contenido de texto a la variable de tipo cadena. 
 numero=12; // Asignación del numero 12 a la variable de tipo numerica. 
 System.out.println(“Tu eres: ”+nombrex); //Muestra en pantalla el valor de la variable 
 System.out.println(“Tu numero de la suerte es: ” +numero); 
 } // Fin del método principal del programa 
} // Fin de la clase principal 
 
 
? Ejemplo 4, consiste en declarar variables numéricas, asignarles valores. Calcular la 
sumatoria y promedio e imprimir esos valores en pantalla. 
import java.io.*; // Importación de la clase io de entrada/salida. 
public class SumaPromedio // Nombre de la clase principal, en este caso SumaPromedio 
{ // Inicia y define la clase principal 
 public static void main(String arg[]) //Método por el que inicia la ejecución del programa. 
 { // Inicia el método principal del programa 
 int num1, num2, num3; // Declaración de variables locales tipo numérica entera. 
 int suma, promedio; // Declaración de variables locales tipo numérica entera. 
 num1=10; num2=7; num3=8; // Asignación de valores numéricos a las variables. 
 suma=(num1+num2+num3); // Calcula la suma de valores, almacenando el resultado en suma. 
 promedio=suma/3; // Calcula el promedio, almacenando el resultado en promedio 
 System.out.println(“La suma es: ”+suma); //Muestra en pantalla el resultado de la suma 
 System.out.println(“El promedio es: ” +promedio); //Muestra en pantalla el promedio 
 } // Fin del método principal del programa 
} // Fin de la clase principal 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
12 
? Ejemplo 5, consiste en capturar el Nombre y el año de nacimiento de una persona. Debe 
calcular la edad de la persona en segundos de vida. Mostrar en pantalla el nombre con su 
edad y el total de segundos de vida. Note que se utiliza la clase io . 
 
import java.io.*; // Importación de la clase io de entrada/salida 
public class NombreEdad // Nombre de la clase principal, en este caso NombreEdad 
{ // Inicia y define la clase principal 
 public static void main(String arg[]) //Método por el que inicia la ejecución del programa. 
 { // Inicia el método principal del programa 
 String nombre; // Declaración de variable local tipo cadena que almacenará el nombre. 
 int nacio,edad; // Declaración de variables locales tipo numérica entera. 
 // Almacenará el año de nacimiento y guardará el resultado del calculo. 
 String auxiliar; // Declaración de variable local tipo cadena que almacenará el año. 
 float segs; // Declaración de variable local tipo flotante que almacenará los segundos. 
 
 // Definida en la clase System, cuya referencia esta dada en el in . 
 // Inicializa el método para lectura de datos tipo cadena. 
 BufferedReader entrada=new BufferedReader(new InputStreamReader(System.in)); 
 
 System.out.println("Nombre"); //Muestra en pantalla el mensaje Nombre 
 
 // Método que permite la lectura de datos tipo cadena a través del objeto entrada. 
 nombre=entrada.readLine(); //El valor pulsado por teclado se almacenará en la variable nombre 
 System.out.println("Año de Nacimiento"); //Muestra en pantalla el mensaje Año de nacimiento 
 
 // Método que permite la lectura de datos tipo cadena a través del objeto entrada. 
 // Cabe destacar que a través de la clase io, solamente se pueden leer datos tipo cadena. 
 auxiliar=entrada.readLine(); 
 
 // Permite hacer la conversión del dato tipo texto a dato tipo numérico entero. 
 nacio=Integer.parseInt(auxiliar); 
 // Realiza el calculo de la edad de la persona, almacenando el valor en la variable edad 
 edad = 2006 - nacio; 
 
 // Realiza el calculo del total de segundos de vida, almacenando el valor en la variable segundos 
 segs = edad * 525600; 
 
 // Muestra en pantalla el nombre, la edad y el total de segundos de vida de la persona. 
 System.out.println("Tu eres"+nombre+" tu edad es:"+edad+ "equivale a"+segs+"seg. de vida" ); 
 } // Fin del método principal del programa 
} // Fin de la clase principal 
 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
13 
? Ejemplo 6, consiste en capturar el Nombre, el día y tres calificaciones de la Materia de 
Programación. Debe calcular el promedio de la materia. Debe mostrar en pantalla el día que 
se hizo la entrega, el promedio y el nombre del alumno. Note que se utiliza la clase util. 
 
import java.uti l .*; // Importación de la clase ut il de entrada/salida 
public class NombrePromedio // Nombre de la clase principal es: NombrePromedio 
{ // Inicia y define la clase principal 
 public static void main(String arg[]) //Método por el que inicia la ejecución del programa. 
 { // Inicia el método principal del programa 
 String nom; // Declaración de variable local tipo cadena que almacenará el nombre. 
 int dia; // Declaración de variable local tipo numérico que almacenará el día de la entrega 
 
 // Declaración de variables locales tipo flotante que almacenará 2 de las calificaciones. 
 f loat cal i f1,cali f2; 
 
 // Declaración de variables locales tipo double que almacenará 1 calificación y el promedio 
 double cali f3, prom; 
 
 // Creamos una clase in de tipo Scanner (del paquete java.util) 
 // que permite leer datos de tipo: texto, entero, flotante, double. 
 Scanner in = new Scanner(System.in); 
 
 System.out.print("Nombre:"); //Muestra en pantalla el mensaje Nombre 
 nom= in.nextLine(); // Lee un valor de tipo cadena y se lo asigna a la variable nom. 
 System.out.print("Dia:"); //Muestra en pantalla el mensaje Dia 
 dia = in.nextInt(); // Lee un valor de tipo entero y se lo asigna a la variable dia 
 System.out.println("Materia de Programacion"); 
 System.out.print("1era. Cal i ficacion:"); 
 cali f1= in.nextFloat(); // Lee un valor de tipo flotante y se lo asigna a la variable calif1 
 System.out.print("2da. Cal i ficacion:"); 
 cali f2= in.nextFloat(); // Lee un valor de tipo flotante y se lo asigna a la variable calif2 
 System.out.print("3era. Cal i ficacion:"); 
 cali f3= in.nextDouble(); // Lee un valor de tipo double y se lo asigna a la variable calif3 
 
 // Realiza el calculo del promedio y el resultado se lo asigna a la variable prom 
 prom=(cal i f1+cali f2+cali f3)/3; 
 
 // Muestra en pantalla el dia, el promedio y en otra linea el nombre del alumno(a) 
 System.out.println("El dia: "+dia+" se entrego el promedio de: "+prom); 
 System.out.println("al alumno(a): "+ nom); 
 } // Fin del método principal del programa 
} // Fin de la clase principal 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2By: m@gh 
By: m@gh 
 
14 
ESTRUCTURAS DE CONTROL 
 
Estas permiten controlar el comportamiento de un método o de un programa. Las estructuras 
de control permiten combinar instrucciones o sentencias individuales en una simple unidad 
lógica con un punto de entrada y un punto de salida. 
 
Las instrucciones o sentencias se organizan en tres tipos de estructuras de control que sirven 
para controlar el flujo de la ejecución: secuencia, selección (decisión) y repetición. Hasta este 
momento solo se han utilizado el flujo secuencial. Una sentencia compuesta es un conjunto 
de sentencias encerradas entre llaves que se utiliza para especificar un flujo secuencial. 
 
SENTENCIA DE CONTROL if 
En Java, la estructura de control de selección principal es la sentencia if. La sentencia if tiene 
dos alternativas o formatos posibles. El formato más sencillo tiene la siguiente sintaxis: 
i f (condición) sentencia; 
donde: la condición es una expresión logica y la sentencia representa la acción ejecutable, si 
la condición toma un valor verdadero. 
 
Otro formato de la sentencia if es la sentencia if-else. El formato tiene la siguiente sintaxis: 
i f (condición) acción1, else acción2 
donde: la condición es una expresión logica y la acción1 se ejecuta si la expresión logica es 
verdadera y la acción2 se ejecuta si la expresión logica es falsa. 
 
? Ejemplo 7, consiste en capturar la edad de la persona. Debe distinguir si esa persona 
tiene mayoría de edad o no. Debe mostrar en pantalla la edad y una frase que indique mayor 
o menor de edad. 
 
import java.uti l .*; 
public class MayoriaEdad 
{ 
 publ ic static void main(String arg[]) 
 { 
 int edad; 
 
 Scanner in = new Scanner(System.in); 
 System.out.println("Edad:"); 
 edad= in.nextInt(); 
 
 i f (edad >=18) 
 System.out.print("Eres mayor de edad, ya puedes votar"); 
 else 
 System.out.print("Eres menor de edad"); 
 } 
} 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
15 
? Ejemplo 8, consiste en capturar una serie de tres números. La aplicación debe distinguir 
cuál de los números es el mayor. Debe mostrar en pantalla el mayor de ellos. 
 
/* 
 
Autor: Mart ín Ale jandro Guerra Hernández / m@gh 
Descripción: Captura 3 Números, la aplicación debe deducir cuál es mayor de lo s 3 
Fecha: 2-01-07 
 
*/ 
 
 
import java.uti l .*; 
public class NumMayor 
{ 
 public static void main(String arg[]) 
 { 
 f loat num1, num2, num3, nummayor; 
 
 Scanner in = new Scanner(System.in); 
 
 System.out.println("Aplicacion que Lee 3 Numeros y deduce cual es mayor"); 
 System.out.println("1er. Numero:"); 
 num1= in.nextFloat(); 
 System.out.println("2do. Numero:"); 
 num2= in.nextFloat(); 
 System.out.println("3er. Numero:"); 
 num3= in.nextFloat(); 
 
 i f ((num1>num2) && (num1 >num3)) 
 System.out.print("El numero mayor es:"+num1); 
 
 else i f((num2 > num1) && (num2 > num3)) 
 System.out.print("El numero mayor es:"+num2); 
 
 else i f((num3 > num1) && (num3 > num1)) 
 System.out.print("El numero mayor es:"+num3); 
 
 else 
 System.out.print("Los Numeros Son Iguales"); 
 } 
} 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
16 
SENTENCIA DE CONTROL switch 
Es una sentencia de Java que se utiliza para seleccionar entre múltiples alternativas. La 
sentencia switch es especialmente útil cuando la selección se basa en el valor de una 
variable simple o de una expresión simple denominada expresión de control o selector. El 
valor de esta expresión puede ser de tipo int, char o boolean, pero no de tipo double, string o 
float. 
Su sintaxis 
 
switch(selector) 
{ 
 case etiqueta1: sentencias1; 
 break; 
 case etiqueta2: sentencias2; 
 break; 
 .. 
 .. 
 case etiquetan:sentenciasn; 
 break; 
 defaul t: sentenciasn; // Opcional 
 break; 
 
} 
 
donde, la expresión de control o selector se evalúa y se compara con cada una de las 
etiquetas del case. La expresión selector debe ser de tipo int, char o bolean, pero no double, 
string o flota. Cada etiqueta es un valor único, constante y cada etiqueta debe tener un valor 
diferente de los otros. Si el valor de la expresión selector es igual a una de las etiquetas case 
por ejemplo: case1, entonces la ejecución comenzará con la primera sentencia1 y continuará 
hasta que encuentre una sentencia break (o hasta encontrar el fin de la sentencia de control 
switch). 
 
Si el valor del selector no esta listado en ninguna etiqueta case, no se ejecutará ninguna de 
las opciones, a menos que especifique una acción por defecto (omisión). La omisión de una 
etiqueta default puede crear un error lógico difícil de prever. Aunque la etiqueta default es 
opcional, se recomienda su uso, a menos que este absolutamente seguro de que todos los 
valores de selector están incluidos en las etiquetas case. 
 
Una sentencia break consta de la palabra reservada break seguida por punto y coma. 
Cuando la computadora ejecuta las sentencias siguientes a una etiqueta case, continua 
hasta que se alcanza una sentencia break. Si la computadora encuentra una sentencia 
break, termina la sentencia switch. Si se omiten las sentencias break, después de ejecutar el 
código de case, la computadora ejecutará el código que sigue al siguiente case. 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
17 
? Ejemplo 9, consiste en mostrar un lista de opciones (menú) que simulan los días de la 
semana. La aplicación debe ser capaz de distinguir que opción eligió y mostrar en pantalla un 
mensaje indicando cual ha sido su elección. 
 
/* Autor: Mart ín Ale jandro Guerra Hernández / m@gh 
 Descripción: Visualiza los días, el usuar io elige opción y se muestra su elección 
 Fecha: 2-01-07 */ 
 
import java.uti l .*; 
public class MenuNum 
{ 
 public static void main(String arg[]) 
 { 
 int opc; 
 
 Scanner in = new Scanner(System.in); 
 System.out.println("* 1) Lunes *"); 
 System.out.println("* 2) Martes *"); 
 System.out.println("* 3) Miercoles *"); 
 System.out.println("* 4) Jueves *") ; 
 System.out.println("* 5) Viernes *"); 
 System.out.print("*El i je Opcion (1-5): "); 
 opc = in.nextInt(); 
 
 switch(opc) 
 { 
 case 1:System.out.println("Valor pulsado 1, corresponde al Lunes"); 
 break; 
 
 case 2:System.out.println("Valor pulsado 2, corresponde al Martes"); 
 break; 
 
 case 3:System.out.println("Valor pulsado 3, corresponde al Miércoles"); 
 break; 
 
 case 4:System.out.println("Valor pulsado 4, corresponde al Jueves"); 
 break; 
 
 case 5:System.out.println("Valor pulsado 5, corresponde al Viernes"); 
 break; 
 
 defaul t:System.out.println("Valor pulsado No val ido"); 
 break; 
 } 
 } 
} 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
18 
? Ejemplo 10, consiste en mostrar un lista de opciones (menú) que simulan losdías de la 
semana. La aplicación debe ser capaz de distinguir que opción eligió y mostrar en pantalla un 
mensaje indicando cual ha sido su elección. 
 
import java.io.*; 
public class DiasTxt 
{ 
 public static void main(String arg[]) 
 { 
 char opc; 
 
 System.out.println("* Menu de los días de la semana *"); 
 System.out.println("* A) Lunes *"); 
 System.out.println("* E) Martes *"); 
 System.out.println("* I) Miércoles *"); 
 System.out.println("* O) Jueves *"); 
 System.out.println("* U) Viernes *"); 
 System.out.print("*El i je Opcion:"); 
 
 opc = (char) System.in.read(); 
 
 switch(opc) 
 { 
 
 case 'A': case 'a' :System.out.println("Valor pulsado A, corresponde Lunes"); 
 break; 
 
 case 'E': case 'e' : System.out.println("Valor pulsado E, corresponde Martes"); 
 break; 
 
 case ' I ' : case ' i ' : System.out.println("Valor pulsado I, es Miércoles"); 
 break; 
 
 case 'O': case 'o' : System.out.println("Valor pulsado O, es Jueves"); 
 break; 
 
 case 'U': case 'u' : System.out.println("Valor pulsado U, es Viernes"); 
 break; 
 
 defaul t: System.out.println("Valor pulsado No val ido"); 
 break; 
 } 
 } 
} 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
19 
BUCLES 
Las estructuras de programación o estructuras de control permiten tomar decisiones y 
realizar un proceso repetidas veces. Son los denominados bifurcaciones y bucles. Dicho en 
otras palabras, es cualquier construcción de programa que repite una sentencia o secuencia 
de sentencias un número de veces. Las sentencias que se repiten en un bloque se denomina 
cuerpo del bucle y cada repetición del cuerpo del bucle se llama iteración del bucle. 
 
BUCLE O CICLO while 
Un bucle while tiene una condición del bucle (una expresión logica) que controla la secuencia 
de repetición. La posición de esta condición del bucle es delante del cuerpo del bucle y 
significa que un bucle while es un bucle pre-test, de modo que cuando se ejecuta el mismo, 
se evalua la condición antes de que se ejecute el cuerpo del bucle. Sintaxis: 
Forma 1: Forma 2: 
while(condicion_bucle) while(condicion_bucle) 
 sentencia; { 
 sentencia1; 
..... 
 sentencian; 
} 
donde, while es palabra reservada de Java. condicion_bucle, es la expresión logica. 
sentencia, es la sentencia simple o el conjunto de sentencias. 
 
El comportamiento o funcionamiento de un ciclo o bucle while, es el siguiente: 
1. Se evalúa la condicion_bucle 
2. Si la condición_bucle es verdadera: 
a. La sentencia especificada, denominada cuerpo del bucle se ejecuta. 
b. Vuelve el control al paso 1. 
3. En caso contrario: 
 El control se transfiere a la sentencia siguiente fuera del bucle o ciclo. 
 
Ejemplo: 
contador=0; // Inicialización 
whi le(contador<4) // Prueba/condición 
{ 
 System.out.println(“*”); 
 contador++; // Actualización (incremento) 
} 
La variable que representa la condición del bucle se denomina variable de control del bucle 
debido a que determina si el cuerpo del bucle se repite. La variable de control del bucle debe 
ser: inicializada, comprobada y actualizada para que el cuerpo del bucle se ejecute 
adecuadamente. Cada etapa se resume así: 
Inicialización, al contador se establece con un valor inicial, antes de que alcance el maximo 
valor. 
Prueba/condición, se comprueba el valor del contador antes de que comience la repetición 
de cada bucle (denominada iteración o pasada). 
Actualización, el contador se actualiza (su valor se incrementa en 1, mediante el operador 
++) durante cada iteración. 
cuerpo 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
20 
? Ejemplo 11, consiste en mostrar en pantalla los números primos de 1 hasta 30 utilizando 
el bucle while. 
import java.io.*; 
public class NumsImpares 
{ 
 public static void main(String arg[]) 
 { 
 int num; 
 System.out.println("Lista de Números Impares 1-30"); 
 num=1; 
 whi le(num<30) 
 { 
 System.out.println(num); 
 num=num+2; 
 } 
 } 
} 
 
 
? Ejemplo 12, aplicación que permite capturar una serie de números y finaliza la captura 
hasta que el usuario teclee el numero 0. Debe utilizar el bucle while, calcular el total de 
números capturados y la media de los números. Debe mostrar en pantalla el total y la media 
de los números. 
 
import java.uti l .*; 
public class SumaNums 
{ 
 publ ic static void main(String[] args) 
 { 
 int num, suma, media, cuenta; 
 Scanner lee = new Scanner(System.in); 
 num=1; cuenta=0; suma=0; media=0; 
 System.out.println("Captura Numeros, hasta que teclee 0"); 
 whi le(num!=0) 
 { 
 System.out.print("Numero:"); 
 num=lee.nextInt(); 
 cuenta++; 
 suma=suma+num; 
 } 
 media=suma/(cuenta-1); 
 System.out.println("Total de Números Capturados: "+(cuenta-1)); 
 System.out.println("La Media es: "+media); 
 } 
} 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
21 
? Ejemplo 13, aplicación que permite capturar “X” cantidad de números. Debe utilizar el 
bucle while, determinar el total de números capturados que sean pares y cuantos son 
impares. Debe mostrar en pantalla la cantidad total de los números pares e impares. 
 
/* 
 
Autor: Mart ín Ale jandro Guerra Hernández / m@gh 
Descripción: Captura una cant idad de números, la aplicación determina cuantos son 
 pares y cuantos son impares. 
Fecha: 2-01-07 
 
*/ 
 
 
import java.uti l .*; 
public class NumsParImpar 
{ 
 publ ic static void main(String[] args) 
 { 
 int num, aux, cuenta, cant; 
 int cantpar, cantimpar; 
 Scanner lee = new Scanner(System.in); 
 cuenta=0; aux=0; 
 cantpar=cantimpar=0; 
 System.out.print("Cantidad de Números a Capturar? "); 
 cant=lee.nextInt(); 
 whi le(cuenta<cant) 
 { 
 System.out.print("Numero:"); 
 num=lee.nextInt(); 
 cuenta++; 
 aux=num%2; 
 i f(aux==0) 
 cantpar++; 
 else 
 cantimpar++; 
 } 
 System.out.println("Total de Numeros Pares: "+cantpar); 
 System.out.println("Total de Numeros Impares: "+cantimpar); 
 } 
} 
 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
22 
BUCLE O CICLO for 
El bucle for es el más adecuado para implementar bucles controlados pro contador, que son 
bucles en los que un conjunto de sentencias se ejecutan una vez por cada valor de un rango 
específico. La sentencia for es la mejor forma de programar la ejecución de un bloque de 
sentencias de un numero fijo de veces. El bucle for, tiene la siguiente sintaxis: 
 
for( inicialización; condición _ i teración; incremento_decremento) 
 { 
 sentencia1; 
 sentencia2; 
 ….. 
 sentencian; 
 } 
 
El bucle for contiene cuatro partes: 
Parte de inicialización, que inicializa las variables de control del bucle. Se pueden utilizar 
variables de control del bucle simples o compuestas. Las variables de control pueden ser 
definidas en esta parte. 
Parte de condición_iteración, que contieneuna expresión lógica que hace que el bucle 
realice las iteraciones de las sentencias, mientras que la expresión sea verdadera. 
Parte de incrmento_decremento, es la parte del bucle que incrementa o decrementa la 
variable de control del bucle. 
Sentencias, son las acciones o sentencias que se ejecutarán en cada iteración del bucle. 
 
// Imprimir en pantalla 10 veces el mensaje hola 
 for( int i=1;i<10;i++) 
 System.out.println(“Hola”); 
 
 
? Ejemplo 14, consiste en mostrar en pantalla los números pares, comenzando con el 30 y 
terminando en 1, utilizando el bucle for. 
import java.io.*; 
public class NumsPares 
{ 
 public static void main(String arg[]) 
 { 
 int num; 
 System.out.println("Lista los Numeros Pares del 30-1"); 
 num=1; 
 for(num=30;num>1;num-=2) 
 { 
 System.out.println(num); 
 } 
 } 
} 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
23 
? Ejemplo 15, aplicación que permite capturar una serie de 5 números, utilizando el bucle 
for. Debe mostrar en pantalla el máximo número. Note que se utiliza la clase util. 
 
/* 
 
Autor: Mart ín Ale jandro Guerra Hernández / m@gh 
Descripción: Captura 5 números y determina cuál de ellos es el valor máximo. 
Fecha: 2-01-07 
 
*/ 
 
 
import java.uti l .*; 
public class NumMax 
{ 
 publ ic static void main(String[] args) 
 { 
 int num, max, cuenta; 
 Scanner in = new Scanner(System.in); 
 System.out.println("Captura 5 Numeros. Maximo Valor de la Lista"); 
 max=0; 
 for(cuenta=1;cuenta<=5;cuenta++) 
 { 
 System.out.print("Numero:"); 
 num=in.nextInt(); 
 i f(num>max) 
 max=num; 
 } 
 System.out.println("El Valor Máximo de la Lista es:"+max); 
 } 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
24 
? Ejemplo 16, aplicación que permite capturar 5 datos de una compra: nombre del 
producto, la cantidad y el precio. Debe calcular el importe por producto, el total de la compra. 
Además de otorgar un descuento si el importe de la compra es mayor a $5000 dar un 
descuento del 10%, si la compra esta entre $2500-$5000 dar un descuento del 5%, utilizando 
el bucle for. Debe mostrar en pantalla el importe total de la compra e indicar el descuento. 
 
import java.uti l .*; 
public class CicloCompraMcdo 
{ 
 publ ic static void main(String []arg) 
 { 
 Str ing pdto, obtenido, error; 
 f loat cant, precio, importe, subtotal , total , desc; 
 Scanner in = new Scanner(System.in); 
 System.out.println("Captura 5 Productos."); 
 importe=0.0f; subtotal=0.0f; total=0.0f; desc=0.0f; 
 for( int cuenta=1;cuenta<=5;cuenta++) 
 { 
 System.out.print("Producto: "); 
 pdto=in.nextLine(); 
 System.out.print("Cantidad: "); 
 cant=in.nextFloat(); 
 System.out.print("Precio:$ "); 
 precio=in.nextFloat(); 
 importe=cant*precio; 
 subtotal+=importe; 
 error=in.nextLine(); 
 } 
 i f(subtotal>5000) 
 { 
 desc=subtotal-(subtotal*.10f); 
 obtenido="10%"; 
 } 
 else i f((subtotal>2500) && (subtotal<=5000)) 
 { 
 desc=subtotal-(subtotal*.05f); 
 obtenido="5%"; 
 } 
 else 
 { 
 desc=subtotal ; 
 obtenido="0%"; 
 } 
 total=desc+(desc*.15f); 
 System.out .print ln("Total de la compra:$"+total+"con un descuento del:"+obtenido); 
 } 
} 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
25 
BUCLE O CICLO do-while 
La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al 
menos una vez. Esta situación se suele dar en algunas circunstancias en las que ha de tener 
la seguridad de que una determinada acción se ejecutará una o varias veces, pero al menos 
una vez. Su sintaxis es: 
do 
 { 
 sentencia1; 
 sentencia2; 
 ….. 
 sentencian; 
 }whi le(expresión) 
 
La construcción do comienza ejecutando las sentencias. Después se evalúa la expresión. Si 
la expresión es verdadera, entonces se repite la ejecución de las sentencias. Este proceso 
continua hasta que la expresión es falsa. 
 
 
? Ejemplo 17, aplicación que permite capturar texto hasta que el usuario pulse *. Se 
mostrará en pantalla todos los caracteres pulsados por el usuario. 
 
import java.io.*; 
public class CicloTexto 
{ 
 publ ic static void main(String []arg) throws IOException 
 { 
 char letra; 
 System.out .print ln("Teclee el Texto Deseado. Para terminar pulse * y Enter") ; 
 do 
 { 
 letra = (char) System.in.read(); 
 }whi le(letra!='*'); 
 } 
} 
 
 
COMPARACIÓN DE LOS BUCLES while, for y do-while. 
while, el uso más frecuente es cuando la repetición no esta controlada por contador, el test 
de condición le precede a cada repetición del bucle; el cuerpo del bucle puede no ser 
ejecutado. Se debe utilizar cuando se desea saltar el bucle si la condición es falsa. 
 
for, bucle de conteo, cuando el numero de repeticiones se conoce por anticipado y puede ser 
controlado por un contador; también es adecuado para bucles que implican control no 
contable del bucle con simples etapas de inicialización y de actualización; el test de la 
condición precede a la ejecución del cuerpo del bucle. 
 
do-while, es adecuada cuando se debe asegurar que al menos se ejecute el bucle una vez. 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
26 
? Ejemplo 18, aplicación que contiene un menú de las operaciones aritméticas, el cuál lo 
debe mostrar al menos una vez, para que el usuario elija la opción y si es necesario capture 
los números para realizar la operación. Debe mostrar en pantalla los números de la 
operación y el resultado. 
 
import java.uti l .*; 
public class CicloMenu 
{ 
 publ ic static void main(String []arg) 
 { 
 int opcion; 
 f loat num1, num2, resul t; 
 Scanner lee = new Scanner(System.in); 
 do 
 { 
 System.out.println("Menu:"); 
 System.out.println("1. Suma"); 
 System.out.println("2. Resta"); 
 System.out.println("3. Suma"); 
 System.out.println("4. Resta"); 
 System.out.println("5. Sali r"); 
 System.out.print("El i je Opcion:"); 
 opcion=lee.nextInt(); 
 i f(opcion==1) 
 { 
 System.out.println("Eli jio Suma "); 
 System.out.print("Numero "); 
 num1=lee.nextFloat(); 
 System.out.print("Numero "); 
 num2=lee.nextFloat(); 
 resul t=num1+num2; 
 System.out.println("El resul tado de: "+num1+" + "+num2+" = "+resul t); 
 } 
 
 i f(opcion==2) 
 { 
 System.out.println("Eli jio Resta "); 
 System.out.print("Numero "); 
 num1=lee.nextFloat(); 
 System.out.print("Numero "); 
 num2=lee.nextFloat(); 
 resul t=num1-num2; 
 System.out.println("El resul tado de: "+num1+" - "+num2+" = "+resul t); 
 } 
 }whi le(opcion!=5 || opcion!=5); 
 } 
} 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
27 
ARREGLOS (Arrays) 
Un array (lista o tabla) es una secuenciade datos del mismo tipo. Los datos se llaman 
elementos del array y se numeran consecutivamente de 0,1,2…..n. El tipo de de elementos 
almacenados en el array puede ser cualquier tipo de dato tales como: char, int o float. 
 
Un array puede contener, por ejemplo: la edad de los alumnos, las temperaturas de cada dia 
del mes de una ciudad, el total de personas de las ciudades del estado de Michoacán, etc. 
 
La declaración de un array es similar a otros tipos de datos, excepto que se debe indicar al 
compilador que es un array y esto se hace con los corchetes. Se pueden colocar de 2 formas 
tipo_dato [] identi ficador; 
t ipo_dato identi ficador[]; 
 
El primer formato indica que todos los identificadores son arrays del tipo de dato. El segundo 
formato es array solo el identificador al que le siguen los corchetes. 
Ejemplos: 
char cad[], txt; // cad es un array tipo char, txt es una variable de tipo char. 
int [] nums, sumas; // tanto nums como sumas son declarados arrays de tipo int. 
int [] edad = new int [4]; // edad contiene 5 elementos de tipo int 
f loat [] max,min = new float [4]; // tanto max como min contienen 5 elementos de tipo float 
 
Se deben asignar valores a los elementos de un array antes de utilizarlos, tal como se 
asignan valores a variables. Para asignar valores a cada elemento del array, como ejemplo: 
nums[0]=7; cad[ ]={'m', '@', 'g' , 'h'} 
nums[1]=6; 
 
Cuando se inicializa un array, el tamaño del array se puede determinar automáticamente por 
las constantes de inicialización. Estas constantes se separan por comas y se encierran entre 
llaves, como los siguientes ejemplos: 
int valores [ ]= {1,2,3,4,5} // define un array de 5 elementos de tipo int y se inicializa 
char txt[]= { 'm', 'g'} // define un array de 2 elementos de tipo char y se inicializa 
 
? Ejemplo 19, aplicación que por medio de un arreglo muestra una lista de colores. 
 
import java.uti l .*; 
public class ArrayColors 
{ 
 publ ic static void main(String []arg) 
 { 
 int cta; 
 Str ing colores [ ]= {"Azul", "Amari l lo", "Verde", "Blanco", "Rojo"}; 
 System.out.println("Lista los Colores"); 
 for(cta=0;cta<=4;cta++) 
 { System.out.println("Color en la Posicion: "+cta+" "+colores[cta]); 
 } 
 } 
} 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
28 
? Ejemplo 20, aplicación que le permite al usuario capturar texto y lo almacena en un 
arreglo. Posteriormente muestra en pantalla el texto tecleado. 
 
/* 
 
Autor: Mart ín Ale jandro Guerra Hernández / m@gh 
Descripción: Captura texto y el contenido lo guarda en arreglo 
Fecha: 2-01-07 
 
*/ 
 
import java.uti l .*; 
public class Editor 
{ 
 publ ic static void main(String []arg) 
 { 
 Str ing [ ]palabra= new String[100]; 
 Scanner in = new Scanner(System.in); 
 System.out.println("Aplicacion que Captura Palabras"); 
 System.out.println(" Hasta Que Teclee sal ir"); 
 for( int i=0;i<100;i++) 
 { 
 palabra[i ]=in.nextLine(); 
 i f(palabra[i ].equals("sal ir")) 
 break; 
 } 
 System.out.println("\nEste su texto:\n"); 
 for( int cta=0;cta<100;cta++) 
 { 
 i f(palabra[cta].equals("sali r")) 
 break; 
 System.out.println(palabra[cta]); 
 } 
 } 
} 
 
 
 
 
 
 
 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
29 
? Ejemplo 21, aplicación que almacena en un arreglo una lista de nombres. Posteriormente 
los ordena a través del método de ordenación de la burbuja. Muestra en pantalla la lista de 
los nombres ordenados en forma ascendente. 
 
/* 
 
Autor: Mart ín Ale jandro Guerra Hernández / m@gh 
Descripción: Lista de nombres almacenados en arreglo, poster iormente los ordena 
 a t ravés del Método de Ordenación de la Burbuja. 
Fecha: 2-01-07 
 
*/ 
 
import java.uti l .*; 
public class OrdenaNombres 
{ 
 publ ic static void main(String []arg) 
 { 
 Str ing nombres[ ]={"Martin","Ana","Elsa","Alejandro","Diana", "Luis"}; 
 System.out.println("Aplicacion que Ordena los Nombres de la Lista."); 
 for( int j=0; j<nombres.length; j++) 
 { 
 for( int i=j+1;i<nombres.length;i++) 
 { 
 i f(nombres[i ].compareTo(nombres[j])<0) 
 { 
 Str ing aux= nombres[ j]; 
 nombres[ j]= nombres[i ]; 
 nombres[i ]= aux; 
 } 
 } 
 } 
 
 for( int cta=0;cta<nombres.length;cta++) 
 { 
 System.out.println(nombres[cta]); 
 } 
 } 
} 
 
 
 
 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
30 
? Ejemplo 22, aplicación que almacena en un arreglo una lista de números. Posteriormente 
los ordena a través del método de ordenación de la burbuja. Muestra en pantalla la lista de 
los números ordenados en forma ascendente. 
 
import java.uti l .*; 
public class OrdenaNums 
{ 
 publ ic static void main(String []arg) 
 { 
 int total ; 
 int num[]= new int[10]; 
 Scanner in = new Scanner(System.in); 
 do 
 { 
 System.out.println("Cantidad de Numeros a Capturar? "); 
 total=in.nextInt(); 
 }whi le(total>10); 
 
 System.out.println("Captura de Numeros"); 
 for( int x=0;x<total ;x++) 
 { 
 System.out.print("Numero("+x+") :"); 
 num[x]=in.nextInt(); 
 } 
 
 for( int j=0; j<total ; j++) 
 { 
 for( int i=j+1;i<total ; i++) 
 { 
 i f(num[i ]< num[j]) 
 { 
 int aux= num[j]; 
 num[j]= num[i ]; 
 num[i ]= aux; 
 } 
 } 
 } 
 
 System.out.println("\n Lista de Numeros Ordenados:"); 
 for( int cta=0;cta<total ;cta++) 
 { 
 System.out.print("\t"+num[cta]); 
 } 
 } 
} 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
31 
INTRODUCCIÓN A LOS APPLETS 
Los applets son aplicaciones gráficas que aparecen en una zona de la ventana del 
navegador, dicho de otra forma es un programa basado en ventanas. Los applets son 
conducidos u orientados a eventos. Un applet espera a que ocurra un evento. El AWT 
(Abstract Windows Toolkit) notifica el evento al applet llamando a un gestor de eventos para 
que lo trate. Después el applet debe ejecutar la acción que desee el programador y devolver 
el control rápidamente al AWT. El usuario es el que debe iniciar una interacción con el applet. 
 
Todos los applets son subclases de la clase applet, Cualquier applet debe importar los 
paquetes java.applet y java.awt. Los applets son ejecutados por un navegador de internet o 
bien por un visor de applets (appleetviewer), incluido en JDK. La ejecución de un applet no 
comienza con el main(). Sino que es gestionada por varios métodos del AWT. Una vez que 
se ha compilado un applet, se incluye en un archivo HTML utilizando la etiqueta applet. 
 
Diferencias entre Aplicaciones y Applets 
Aplicaciones Sencillas en Java Applets en Java 
Permite desarrollar aplicaciones que se 
ejecutan en el intérprete local de JSDK, es 
decir desde la línea de comando. 
 Permite desarrollarmódulos descargables a 
través de una página web y ejecutable en la 
JVM del navegador. 
No permiten interfaz grafica, ni manejo de 
eventos. 
 Al ejecutarse desde un navegador, tiene la 
ventaja de la estructura: una ventana, manejo 
de eventos, gráficos e interfaz de usuario. 
 
ESTRUCTURA DE UN APPLET 
Casi todos los applets sobrescriben una serie de métodos que proporcionan el mecanismo 
básico mediante el que el navegador o el visor de applets conecta con el applet y control su 
ejecución. Cuatro de estos metodos son: ini t(), start(), stop(), destroy() los define el 
applet. El paint() lo define la clase Component. Como se muestra en esta estructura: 
 
import java.awt.*; // 
import java.applet.*; // 
public class Nombre_applet extends Applet 
{ public void ini t() 
 {// Código de inicialización} 
 
 publ ic void start() 
 {// Código que comienza o reanuda la ejecución } 
 
 publ ic void stop() 
 {// Código que detiene la ejecución} 
 
 // Se ejecuta cuando termina el applet. Es el último método que se ejecuta 
 publ ic void destroy() 
 {// Código para la final ización definit iva} 
 
 // Es llamado cuando se restaura la ventana del applet 
 publ ic void paint(Graphics g) 
 {// Código para dibujar el contenido en la ventana} 
} 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
32 
? Ejemplo 23, diseñamos un applet que envie a la ventana un mensaje en las posiciones 
especificadas (columna, renglón). 
 
import java.applet.Applet; 
import java.awt.*; 
public class HolaJava extends Applet 
{ 
 publ ic void paint(Graphics g) // Inicia lizamos el método Grafico 
 { 
 g.drawString("Mi 1er Applet",20,50); //Enviamos un mensaje a la ventana 
 / / en las coordenadas: Co l, Reng 
 } 
 } 
 
import java.applet.Applet; 
import java.awt.*; 
En nuestro applets deberemos, incluir como mínimo estas dos sentencias de importación. En 
la primera importamos la clase Applet, de la cual derivaremos nuestros applets. La segunda 
permite importar las clases de la librería AWT, que nos permitirán dibujar en el rectángulo 
asignado al applet. 
 
public class HolaJava extends Applet { 
} 
Nuestros applet siempre van a ser clases derivadas de Applet, pues en esta clase y en sus 
clases padre se definen los métodos que deberemos sobreescribir para que nuestros applets 
respondan a los eventos generados desde el navegador. 
 
public void paint(Graphics g) { 
 } 
Este es el método que debemos sobreescribir para dibujar en el rectángulo asignado a 
nuestro applet. Recibe un parámetro que es una referencia a una instancia de tipo Graphics. 
Esta clase permite definir lo que se suele denominar lienzo (o Canvas). El lienzo es 
precisamente ese rectángulo del que estamos hablando todo el rato. 
 
 g.drawString("Mi 1er Applet",20,50); 
La clase Graphics dispone de muchos métodos para dibujar en el lienzo. Éste, 
concretamente, nos permite dibujar un texto en la posición que queramos. En este caso el 
texto se pintará 20 píxeles a la derecha del borde izquierdo de la pantalla y otros 50 píxeles 
abajo del borde de superior. 
 
 
Incrustar un Applet en una Pagina Web 
La etiqueta applet se utiliza para arrancar un applet tanto desde un archivo HTML como 
desde un visor de applets. Un visor de applets ejecutará cada etiqueta applet que encuentre 
en una ventana independiente, mientras que navegadores como: Netscape Navigator, 
Internet Explorer, HotaJava, Mozilla Firefox permiten ejecutar varios applets en una unica 
pagina. La sintaxis para una etiqueta applet, lo que esta entre corchetes es opcional: 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
33 
<applet [codebase=url ] code=archivoClass [al t=texto_alternativo] 
 width=pixels height=pixels [al ign=tipoAl ineamiento]> 
</applet> 
 
codebase: 
es un atributo opcional que especifica el URL del código del applet, que es el directorio 
donde se buscará el archivo de clase ejecutable del applet. 
 
code: 
es un atributo necesario y proporciona el nombre del archivo que contiene el archivo 
compilado .class del applet. 
 
alt: 
 es un atributo opcional que especifica el mensaje que se debe visualizar en caso de que el 
navegador entienda la etiqueta applet pero no pueda ejecutar applets Java. Este es diferente 
al texto alternativo de HTML. 
 
width y height: 
 son atributos necesarios que dan el tamaño del area de visualización de un applet (en 
píxeles). 
 
align: 
es un atributo opcional que especifica la alineación del applet. Puede tomar los siguientes 
valores: left, right, top, bottom, middle, baseline, texttop, absmiddle, absbottom. 
 
 
Si desea incluir su applet en una página web. La página que desarrollaremos es la siguiente. 
Puedes utilizar un editor de páginas web o cualquier editor de texto, para nuestro ejemplo 
usaremos el Bloc de notas, haciendo clic en Inicio / Programas / Accesorios / Bloc de notas: 
 
<HTML> 
 <BODY> 
 <APPLET CODE="HolaJava.class" WIDTH="200" HEIGHT="70"> 
 </APPLET> 
 </BODY> 
</HTML> 
 
Cuando termines de teclear estas líneas de código, clic en Archivo / Guardar como. Del 
cuadro de dialogo: en el cuadro Tipo: Todos lo archivos. Y en el cuadro Nombre: Hola.html 
Ahora ingresa al Explorador de Windows o MiPC, busca el archivo: Hola.html has doble clic 
sobre este, se abre navegador con el contenido de esta pagina, para nuestro ejemplo, solo 
se visualizará el mensaje: Mi 1er Applet 
 
 
 
 
PDF created with pdfFactory Pro trial version www.pdffactory.com
http://www.pdffactory.com
Curso Básico de Java 2 By: m@gh 
By: m@gh 
 
34 
CLASE Graphics 
La clase Graphics dispone de más métodos aparte de drawString, que nos permitirán dibujar 
figuras e imágenes. 
Métodos de dibujo 
Mientras no se especifique, consideraremos que todos los parámetros son enteros: 
 
drawString(String texto,x,y) 
Escribe un texto a partir de las coordenadas (x,y), que representan columna, fila. 
 
drawLine(x1,y1,x2,y2) 
Dibuja una línea entre las coordenadas (x1,y1) y (x2,y2). 
 
drawRect(x,y,ancho,alto) 
fillRect(x,y,ancho,alto) 
clearRect(x,y,ancho.alto) 
Son tres métodos encargados de dibujar, rellenar y limpiar, respectivamente, un 
rectángulo cuya esquina superior izquierda está en las coordenadas (x,y) y tienen el 
ancho y alto especificados. 
 
drawRoundRect(x,y,ancho,alto,anchoArco,altoArco) 
fillRoundRect(x,y,ancho,alto,anchoArco,altoArco) 
Equivalentes a los anteriores, pero con las esquinas redondeadas. La forma y tamaño 
de dichas esquinas viene dada por los dos últimos parámetros. 
 
draw3DRect(x,y,ancho,alto,boolean elevado) 
fill3DRect(x,y,ancho,alto,boolean elevado) 
Equivalentes a los primeros, pero dibujan un borde para dar la sensación de que está 
elevado o hundido (dependiendo del valor del último parámetro). 
 
drawOval(x,y,ancho,alto) 
fillOval(x,y,ancho,alto) 
Dibujan una elipse con esquina izquierda superior en (x,y) y el ancho y alto 
especificados. Si son iguales dibujará un círculo. 
 
drawArc(x,y,ancho,alto,anguloInicio,anguloArco) 
fillArc(x,y,ancho,alto,anguloInicio,anguloArco) 
Dibuja una arco cuyo primer vértice está en (x,y) y el segundo en (x+ancho,y+alto). La 
forma del mismo vendrá dado por los dos últimos parámetros. 
 
drawPolygon(int[ ] coordenadasX,int[ ] coordenadasY,numCoordenadas) 
fillPolygon(int[ ] coordenadasX,int[ ] coordenadasY,numCoordenadas) 
Dibuja un polígono cerrado

Otros materiales

Materiales relacionados

320 pag.
Java_-_Jorge_Sanchez

ULT

User badge image

Manuel Rodrigues Monameo

207 pag.
Java-pdf

Albert Einstein

User badge image

FREDY PICHIHUA

172 pag.
JavaModulo2-2

Albert Einstein

User badge image

FREDY PICHIHUA

601 pag.
Java_8_Los_Fundamentos

SIN SIGLA

User badge image

luz angela Diaz