P. 1
Java

Java

|Views: 2.609|Likes:
Publicado porMrAlexis21

More info:

Published by: MrAlexis21 on Feb 07, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/21/2013

pdf

text

original

Sections

  • BREVE HISTORIA DE JAVA
  • INTRODUCCIÓN A JAVA
  • EL ENTORNO DE DESARROLLO DE JAVA
  • PROGRAMACIÓN EN JAVA
  • VISIBILIDAD Y VIDA DE LAS VARIABLES
  • OPERADORES DE JAVA
  • SENTENCIAS DE ENTRADA/SALIDA DE DATOS
  • ESTRUCTURA DE UN PROGRAMA EN JAVA
  • ESTRUCTURAS DE CONTROL
  • SENTENCIA DE CONTROL if
  • SENTENCIA DE CONTROL switch
  • BUCLES
  • BUCLE O CICLO while
  • BUCLE O CICLO for
  • BUCLE O CICLO do-while
  • INTRODUCCIÓN A LOS APPLETS
  • ESTRUCTURA DE UN APPLET
  • Incrustar un Applet en una Pagina Web
  • CUADROS DE DIALOGO
  • MANEJO DE IMÁGENES
  • Control Label (etiquetas)
  • Clase TextField (cajas de texto)
  • Control Button (botones)
  • Control Checkbox (casillas de verificación)
  • Control List (lista deplegable)
  • Control Scrollbar (barras de desplazamiento)
  • REFERENCIAS BIBLIOGRAFICAS:

Aprenda Java

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

Índice Breve Historia de Java …………………………………………………………………… Introducción a Java……………………………………………………………………….. El Entorno de Desarrollo de Java ……………………………………………………….. Programación Orientada a Objetos …………………………………………………….. Programación en Java……………………………………………………………………. Palabras Reservadas ………………………………………………………………… Tipos de Variables…………………………………………………………………….. Visibilidad y Vida de las Variables………………………………………………….. Operadores de Java…………………………………………………………………... Sentencias de Entrada y Salida de Datos………………………………………….. Estructura de un Programa en Java………………………………………………… Estructuras de Control…………………………………………………………………….. Sentencia de Control if………………………………………………………………... Sentencia de Control switch………………………………………………………….. Bucles…………………………………………………………………………………… Bucle o ciclo while…………………………………………………………………. Bucle o ciclo for……………………………………………………………………. Bucle o ciclo do-while……………………………………………………………... Comparación de los Bucles………………………………………………………. Arreglos…………………………………………………………………………………….. Introducción a los Applet………………………………………………………………….. Estructura de un Applet……………………………………………………………….. Incrustar un Applet en una Pagina Web…………………………………………….. Clase Graphics…………………………………………………………………………….. Cuadros de Dialogo……………………………………………………………………….. Manejo de imágenes……………………………………………………………………… Herramientas Graficas de AWT………………………………………………………….. Control Label (etiquetas)……………………………………………………………... Clase TextField (cajas de texto)……………………………………………………... Control Button (botones)……………………………………………………………... Control Checkbox (casillas de verificación)………………………………………... Control List (lista desplegable)……………………………………………………… Control Scrollbar (barras de desplazamiento)…………………………………….. Referencias Bibliograficas………………………………………………………………..

Pagina 1 1 2 3 4 4 4 5 7 9 10 14 14 16 19 19 22 25 25 27 31 31 32 33 37 39 40 40 41 41 41 42 43 47

PDF created with pdfFactory Pro trial version www.pdffactory.com

Curso Básico de Java 2

By: m @gh

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. By: m @ gh 1

PDF created with pdfFactory Pro trial version www.pdffactory.com

Curso Básico de Java 2

By: m @gh

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 ser ejecutado 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%\lib\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
By: m @ gh

2

PDF created with pdfFactory Pro trial version www.pdffactory.com

color. marca frenar. leer. todas ellas miembros de una jerarquía de clases unidas mediante relaciones de herencia. protected.pdffactory. private. 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. peso. frenos. y cuyas clases son. De esta forma se puede controlar el acceso y evitar un uso inadecuado. 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. motocicleta ruedas. En Java. las clases pueden ser declaradas como públicas (public) y como package (accesibles sólo para otras clases del package). Clase Objeto Estado Comportamiento Persona hombre. Una clase derivada puede añadir nuevas variables y métodos y/o redefinir las variables y métodos heredados. dormir.Curso Básico de Java 2 By: m @gh PROGRAMACIÓN ORIENTADA A OBJETOS (OOP) Los Objetos. lobo. Un objeto tiene una estructura y al igual que los objetos del mundo real comparten dos características: estado y comportamiento. Ejemplo: class Circulo extend Figuras // Se aplica la herencia { … public void copiar(Figuras f) { … }. Un programa se construye a partir de un conjunto de clases. cada uno de los cuales representa una instancia de alguna clase. hablar Animales perro. una clase puede derivar de otra (extends). color. raza ladrar. // Se aplica el polimorfismo } By: m @ gh 3 PDF created with pdfFactory Pro trial version www. Las variables miembro y los métodos pueden ser public. Herencia. al mismo tiempo. edad comer. mujer nombre. altura. coyote nombre. acelerar La Programación Orientada a Objetos se basa en la programación de clases. Ejemplo: class No mbre_Clase_Derivada extend No mbre_Clase_Base Clase: Figuras class Triangulo extend Figuras Polimorfismo. oler Vehículos Automóvil. herencia y polimorfismo Encapsulación. correr. El estado de un objeto son sus atributos (propiedades) y el comportamiento (operaciones). son elementos declarados de una clase. las clases soportan 3 características fundamentales de la POO: encapsulación. y en ese caso hereda todas sus variables y métodos. La Clase.com . Se considera un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos. // Se aplica el polimorfismo } class Triangulo extend Figuras // Se aplica la herencia { … public void copiar(Figuras f) { … }.

2. sin algunos caracteres especiales utilizados por Java como operadores o separadores ( . int. Unicode. int y long) y dos para valores reales de punto flotante (float y double). Nombres de Variables Los nombres de variables en Java se pueden crear con mucha libertad. short..Curso Básico de Java 2 By: m @gh PROGRAMACIÓN EN JAVA En este apartado se presentan las características generales de Java como lenguaje de programación. Variables locales: Se definen dentro de un método o más en general dentro de cualquier bloque entre llaves { }.). Pueden ser también tipos primitivos o referencias. fuera de cualquier método. y 6 tipos para guardar valores numéricos. Comprende el código ASCII byte 1 byte. 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 Char Double For Int Package Static Throws Boolean Class Else Goto Interface private super transient Break Const extends If Long protected Switch Try byte continue final implements native public synchronized void case default finally import new return this volatile Match Do Flota Instanceof Null Short Throw 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. un tipo para almacenar caracteres (char). Valor entero entre -128 y 127 By: m @ gh 4 PDF created with pdfFactory Pro trial version www. cuatro tipos para enteros (byte. caracteres y valores numéricos enteros o de punto flotante. double.com .pdffactory. Se crean en el interior del bloque y se destruyen al finalizar dicho bloque. las variables son: 1. Una variable es un nombre que contiene un valor que puede cambiar a lo largo del programa. Es muy similar a C/C++. float. pueden ser tipos primitivos (char. Valores true y false char 2 bytes. Java dispone de ocho tipos primitivos de variables: un tipo para almacenar valores true y false (boolean). boolean) o referencias (arrays u objetos de una determinada clase).+-*/ etc. lenguajes en los que está inspirado. long. Pueden ser cualquier conjunto de caracteres numéricos y alfanuméricos. Variables miembro de una clase: Se definen en una clase. 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. Desde el punto de vista del papel o misión en el programa. byte. short.

Se inicializa a 5 unaRef = new MyClass().483.1}.036. Se inicializa a 0 int y = 5. // Declaración de un array. Según el ámbito los tipos básicos son: By: m @ gh 5 PDF created with pdfFactory Pro trial version www. estas se pueden utilizar en la totalidad del programa.Curso Básico de Java 2 By: m @gh Tipo de variable Descripción short 2 bytes. que se inicializan a false y '\0').com . Valor entero entre -2.036. alcance o scope. En los siguientes ejemplos aparece cómo crear un vector de 10 números enteros y cómo crear un vector de elementos MyClass. // Declaración de la variable primitiva y. De -3. inicializados a 0 double [ ] v = {1. De -1.79769313486232E308 a -4.223.402823E38 fouble 8 bytes (unas 15 cifras decimales equivalentes). Un tipo particular de referencias son los arrays o vectores.483. Valor entre -9. un vector de enteros) o de objetos.647 Long 8 bytes. dentro de un método o solo temporalmente dentro de un bloque de sentencias.648 y 2. // Declaración de la variable primitiva x.pdffactory. // Declaración e inicialización de un vector de 3 // elementos con los valores entre llaves MyClass [ ] lista=new MyClass[5]. sean éstos de variables primitivas (por ejemplo. // La referencia “apunta” al nuevo objeto creado // Se ha utilizado el constructor por defecto int [ ] vector. La zona de un programa en la que una variable está activa se denomina: ámbito. 2. El ámbito (alcance) de una variable se extiende desde la sentencia que la define hasta los límites del bloque que la contiene.0.// 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.94065645841247E-324 a 1.401298E-45 a 3.401298E-45 y de 1.372. Análogamente las variables de tipo referencia son inicializadas por defecto a un valor especial: null.775.854.147. Se inicializa a null vector = new int[10].79769313486232E308 Cómo se definen e inicializan las variables Una variable se define especificando el tipo y el nombre de dicha variable. Si no se especifica un valor en su declaración.402823E38 a -1. Valor entero entre -32768 y 32767 int 4 bytes.807 float 4 bytes (entre 6 y 7 cifras decimales equivalentes).147.775. 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. En la declaración de una referencia de tipo array hay que incluir los corchetes [].808 y 9.372. Ejemplos de declaración e inicialización de variables: int x. 3.94065645841247E-324 y de 4. 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.223. las variable primitivas se inicializan a cero (salvo boolean y char.854.65. // Vector de 10 enteros.

Lo cual permite ahorrar memoria. accesible en todo el paquete y en clases derivadas de otros paquetes. la variable de tipo referencia guarda la posición de memoria donde está almacenado este nuevo objeto.Curso Básico de Java 2 By: m @gh Variables Locales. Para cada objeto se lleva cuenta de por cuántas variables de tipo referencia es apuntado. los miembros de una clase son métodos o variables. Note que es igual a la del otro método. solo accesible dentro de la clase. accesible por cualquier clase del paquete. fuera de los métodos. 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. default (sin modificador). Cuando se utiliza el operador new. al menos son visibles desde cualquier método de la clase y se referencian simplemente con su nombre. By: m @ gh 6 PDF created with pdfFactory Pro trial version www. las variables de clase se declaran en una clase. // Declaración de variable Local. protected. // Esta variable es visible por ser Miembro de la Clase } double sumas() { float x. son aquellas definidas en el interior de un método y son visibles solo en ese método específico. no existen en memoria hasta que se ejecuta el método. 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. La eliminación de los objetos la realiza el programa denominado garbage collector. Variables de Clase.com . // Declaración de variables Miembro de la Clase double promedio() { double x. public. Y se caracterizan por: no puede ser modificada por ninguna sentencia externa al método. num2. el objeto al cual apunta no es eliminado si hay otras referencias apuntando a ese mismo objeto. // Esta variable es visible por ser Miembro de la Clase } } Visibilidad de las variables de una clase de menos accesible a más: private. En Java la forma de crear nuevos objetos es utilizando el operador new. accesible desde cualquier clase. Lo anterior significa que aunque una variable de tipo referencia deje de existir. num2 = 22. // Declaración de variable Local num1 = 21.pdffactory. quien automáticamente libera o borra la memoria ocupada por un objeto cuando no existe ninguna referencia apuntando a ese objeto. ? Ejemplo: class Numeros { int num1. 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.

mientras que (--) la reduce en una unidad. 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. multiplicación (*). El operador de asignación por excelencia es el operador igual (=).4 muestra los operadores lógicos de Java.Curso Básico de Java 2 By: m @gh OPERADORES DE JAVA Java es un lenguaje rico en operadores. La Tabla 2. 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 . Estos operadores se describen brevemente en los apartados siguientes. Estos operadores se pueden utilizar de dos formas: Operadores relacionales Los operadores relacionales sirven para realizar comparaciones de igualdad. Operadores incrementales Java dispone del operador incremento (++) y decremento (--). que son casi idénticos a los de C/C++. resta (-). combinando valores lógicos (true y/o false) o los resultados de los operadores relacionales.pdffactory.com . Es un operador binario cuya forma general es.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. La Tabla muestra los operadores relacionales de Java. Operadores aritméticos Son operadores binarios (requieren siempre dos operandos) que realizan las operaciones aritméticas habituales: suma (+). Operadores de asignación Los operadores de asignación permiten asignar un valor a una variable. El operador (++) incrementa en una unidad la variable a la que se aplica. desigualdad y relación de menor o mayor. Debe notarse que en ciertos casos el segundo By: m @ gh 7 PDF created with pdfFactory Pro trial version www. división (/) y resto de la división (%). objectName instanceof ClassName y que devuelve true o false según el objeto pertenezca o no a la clase. El resultado de estos operadores es siempre un valor boolean (true o false) según se cumpla o no la relación considerada.

excepto los operadores de asignación.com . Si op1 es false ya no se evalúa op2 true si op1 u op2 son true. de mayor a menor precedencia: postfix operators [] . La variable numérica result es convertida automáticamente por Java en cadena de caracteres para poderla concatenar. para escribir una cantidad con un rótulo y unas unidades puede utilizarse la sentencia: System. Siempre se evalúa op2 negación ! op AND op1 & op2 OR op1 | op2 Operador de concatenación de cadenas de caracteres (+) El operador más (+) se utiliza también para concatenar cadenas de caracteres.pdffactory. 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(). 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.out. multiplicative */% Additive +Shift << >> >>> Relational < > <= >= instanceof Equality == != Bitwise AND & Bitwise exclusive OR ^ Bitwise inclusive OR | Logical AND && Logical OR || Condicional ?: Assignment = += -= *= /= %= &= ^= |= <<= >>= >>>= En Java. Por ejemplo.Curso Básico de Java 2 By: m @gh operando no se evalúa porque ya no es necesario (si ambos tienen que ser true y el primero es false. La siguiente lista muestra el orden en que se ejecutan los distintos operadores en un sentencia. ya se sabe que la condición de que ambos sean true no se va a cumplir). el resultado de x/y*z depende de qué operación (la división o el producto) se realice primero. Por ejemplo. lo que significa que el valor de la derecha se copia sobre la variable de la izquierda. Operador Nombre && AND || ! & | OR Utilización op1 && op2 op1 || op2 Resultado true si op1 y op2 son true. Si op1 es true ya no se evalúa op2 true si op es false y false si op es true true si op1 y op2 son true.println("El total asciende a " + result + " unidades"). (params) expr++ expr-unary operators ++expr --expr +expr -expr ~ ! creation or cast new (type)exp. By: m @ gh 8 PDF created with pdfFactory Pro trial version www. Los operadores de asignación se evalúan de derecha a izquierda. todos los operadores binarios. Siempre se evalúa op2 true si op1 u op2 son true. Precedencia de operadores El orden en que se realizan las operaciones es fundamental para determinar el resultado de una expresión. se evalúan de izquierda a derecha.

readline().print(“Nombre:”).println(“Este es un mensaje en java y el cursor lo envía a la siguiente línea”). La clase System define dos referencias a objetos para la gestión de entrada y de salida: Syste m.read().io.print.out para la salida por pantalla Salida (System. que por defecto es el teclado.i n) El objeto esta asociado al flujo estándar de entrada.*.out.out. BufferedReader entr = ne w BufferedRea der(new InputStrea mReader(Syste m. que dirige los datos a consola y permite visualizarlos en la pantalla de su equipo: Syste m. Paquete io (import java.out) El objeto out definido en la clase System esta asociado con el flujo de salida.com . Entre los metodos de clase se encuentran read(). La fuente básica de entrada de datos es el teclado y la fuente de salida de datos es la pantalla. Para ello se utiliza la clase InputStreamReader. que devuelve el carácter actual en el buffer de entrada. Syste m. in) .) Este paquete se utiliza para entradas de datos por teclado y salidas de datos en pantalla.parseInt.Curso Básico de Java 2 By: m @gh SENTENCIAS DE ENTRADA/SALIDA DE DATOS En Java.i n para entrada por teclado Syste m.in. es preferible hacerlo línea a línea.print(“Este es un mensaje en java”).out. ? Ejemplo: char letra. parseFloat. readLine.in). Ent rada (System. letra = (char) Syste m. la entrada y salida se lee y escribe en flujos (streams). ? Ejemplo: Syste m.out. Entre los que destacan: System.out es una referencia a un objeto de clase PrintStream. ? Eje mplo: String nombrex.println(“El Nombre Tecleado es: ” + nombrex). No resulta practico el capturar carácter a carácter. nombrex = ent r. de la que se crea un objeto inicializado con Syste m.out. Syste m. println( ) transfiere una cadena de caracteres y el carácter de fin de línea al buffer de la pantalla.pdffactory.in Bu ffer edReader var iable = new Bu fferedReader( new Input StreamReader(S yst em. tiene métodos que se utilizarán con mucha frecuencia: print( ) transfiere una cadena de caracteres al buffer de pantalla. Syste m. By: m @ gh 9 PDF created with pdfFactory Pro trial version www. BufferedReader.

io. Permite inicializar los métodos para lectura de datos. } } ? Ejemplo 1. Scanner. Tiene como argumento una cadena y devuelve el valor numérico decimal correspondiente a la conversión de dígitos de la cadena.io public class Mensa je1 // Nombre de la clase principal. nextInt. Se utiliza para la entrada de datos desde el teclado.) Este paquete se utiliza para entradas de datos por teclado y salidas de datos en pantalla. PDF created with pdfFactory Pro trial version www.no mbreClase. devuelve un objeto numérico decimal. public class nombreDelProgra ma // Nombre de la clase principal { public static void main(String arg[]) //Método por el que inicia la ejecución del programa. nextLine. { . devuelve un objeto cadena con los caracteres leídos hasta encontrar la marca de fin de línea.*. Paquete io util io util io util *Clase/Metodo+ +print +print *BufferedReader *Scanner +readLine +nextLine Transfiere una cadena de caracteres al buffer de pantalla. Se utiliza para la entrada de datos desde el teclado. Entre los que destacan: System. 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. Uno de los métodos de la clase principal debe ser obligatoriamente el main(). // * indica que debe importar todos los elementos del paquete java.. //Envía el mensaje a pantalla.out. import no mbrePaquete. // Importación de las clases de los paquetes.println(“Bienvenidos al Lenguaje Java”).com . consiste en enviar un mensaje a la pantalla: // Importación de la clase io de entrada/salida. Se utiliza para la entrada de datos desde el teclado.out.pdffactory. } // Fin del método principal del programa } // Fin de la clase principal By: m @ gh 10 import java. 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. Tiene como argumento una cadena y devuelve el valor entero correspondiente a la conversión de dígitos de la cadena.util. io util +parseInt +nextInt io Util +parseFloat +nextFloat ESTRUCTURA DE UN PROGRAMA EN JAVA Un programa en Java se compone de una o más clases. Un método en Java es un grupo de instrucciones que realiza una o más acciones. Asimismo.Curso Básico de Java 2 By: m @gh Paquete util (import java. { // Inicia el método principal del programa Syste m. devuelve un objeto numérico entero..print. *. nextFloat.

public class Mensa jeSalto // Nombre de la clase principal. // Declaración de variables locales tipo numérica entera. 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.out.out. import java.com . consiste en enviar mensajes a pantallas con salto de línea. //Envía el mensaje en dos líneas } // Fin del método principal del programa } // Fin de la clase principal ? Ejemplo 3.println(“Tu eres: ”+nombrex). // Declaración de variable local tipo cadena. import java.*. num2. // Importación de la clase io de entrada/salida.print(“Aprendiendo un poco \nde Java”). String nombrex.out. public class Su maPro medio // Nombre de la clase principal. public class ValorVariables // Nombre de la clase principal. // Calcula la suma de valores.println(“Tu numero de la suerte es: ” +numero). { // Inicia el método principal del programa int num1. asignarles valores. consiste en declarar variables de texto y numéricas. Calcular la sumatoria y promedio e imprimir esos valores en pantalla. { // Inicia el método principal del programa Syste m.pdffactory. // Declaración de variables locales tipo numérica entera.*.Curso Básico de Java 2 By: m @gh ? Ejemplo 2. 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. num3=8. //Muestra en pantalla el valor de la variable Syste m. almacenando el resultado en suma. // Asignación del numero 12 a la variable de tipo numerica. //Muestra en pantalla el promedio } // Fin del método principal del programa } // Fin de la clase principal By: m @ gh ? 11 PDF created with pdfFactory Pro trial version www.*.io. 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. num1=10. Syste m. int suma. // Asignación de valores numéricos a las variables. // Importación de la clase io de entrada/salida. num3. // Importación de la clase io de entrada/salida. // Calcula el promedio.out. suma=(num1+num2+num3).println(“La suma es: ”+suma).print(“Soy: Alejandro \n”).out.io. //Muestra en pantalla el resultado de la suma Syste m.io. import java.out. num2=7. asignarles valores e imprimir esos valores en pantalla. promedio. // Declaración de variable local tipo numérica entera. consiste en declarar variables numéricas. //Envía el mensaje con salto de línea Syste m.println(“El promedio es: ” +promedio). nombrex=“Alejandro”. // Asignación de contenido de texto a la variable de tipo cadena. } // Fin del método principal del programa } // Fin de la clase principal Ejemplo 4. almacenando el resultado en promedio Syste m. { // Inicia el método principal del programa int numero. promedio=suma/3. numero=12.

// Permite hacer la conversión del dato tipo texto a dato tipo numérico entero.nacio. // Cabe destacar que a través de la clase io.io. // Inicializa el método para lectura de datos tipo cadena. System. la edad y el total de segundos de vida de la persona. // Definida en la clase System.readLine(). Note que se utiliza la clase io. //Muestra en pantalla el mensaje Nombre // Método que permite la lectura de datos tipo cadena a través del objeto entrada.readLine(). int nacio.*.println("Tu eres"+nombre+" tu edad es:"+edad+ "equivale a"+segs+"seg.Curso Básico de Java 2 By: m @gh ? Ejemplo 5.parseInt(auxiliar). { // Inicia el método principal del programa String nombre.println("Año de Nacimiento"). // Declaración de variables locales tipo numérica entera.com . import java.in)). 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. //El valor pulsado por teclado se almacenará en la variable nombre System. // Declaración de variable local tipo cadena que almacenará el año. //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. almacenando el valor en la variable edad edad = 2006 .out. nacio=Integer. de vida" ). solamente se pueden leer datos tipo cadena. // Realiza el calculo del total de segundos de vida. almacenando el valor en la variable segundos segs = edad * 525600. Debe calcular la edad de la persona en segundos de vida. System. consiste en capturar el Nombre y el año de nacimiento de una persona. BufferedReader entrada=new BufferedReader(new InputStreamReader(S ystem.out. cuya referencia esta dada en el in . // Realiza el calculo de la edad de la persona.out. // Declaración de variable local tipo flotante que almacenará los segundos. Mostrar en pantalla el nombre con su edad y el total de segundos de vida.println("Nombre").edad.pdffactory. } // Fin del método principal del programa } // Fin de la clase principal By: m @ gh 12 PDF created with pdfFactory Pro trial version www. String auxiliar. nombre=entrada. // Importación de la clase io de entrada/salida public class No mbreEdad // Nombre de la clase principal. // Almacenará el año de nacimiento y guardará el resultado del calculo. float segs. // Declaración de variable local tipo cadena que almacenará el nombre. // Muestra en pantalla el nombre. auxiliar=entrada.

print("3era.print("Dia:").calif2. el promedio y el nombre del alumno. // Lee un valor de tipo cadena y se lo asigna a la variable nom.nextDouble(). import java.println("al alumno(a): "+ no m). // Lee un valor de tipo entero y se lo asigna a la variable dia Syste m. // 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=(calif1+calif2+calif3)/3.nextFloat().util) // que permite leer datos de tipo: texto. consiste en capturar el Nombre.out. el día y tres calificaciones de la Materia de Programación. calif2= in. prom. double. Syste m. // Lee un valor de tipo flotante y se lo asigna a la variable calif1 Syste m. Debe mostrar en pantalla el día que se hizo la entrega. // Importación de la clase ut il de entrada/salida public class No mbrePro medio // 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.print("No mbre:"). flotante. // Lee un valor de tipo flotante y se lo asigna a la variable calif2 Syste m.nextLine().print("2da. int dia.out. float calif1. // 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. // Creamos una clase in de tipo Scanner (del paquete java. // Declaración de variables locales tipo double que almacenará 1 calificación y el promedio double calif3. Syste m.out. Calificacion:"). //Muestra en pantalla el mensaje Nombre nom= in.in ). Note que se utiliza la clase util. entero.com . calif1= in. Syste m.nextInt().Curso Básico de Java 2 By: m @gh ? Ejemplo 6.out. { // Inicia el método principal del programa String nom.out.*.println("Materia de Progra macion"). //Muestra en pantalla el mensaje Dia dia = in.println("El dia: "+dia+" se entrego el promedio de: "+pro m). Calificacion:"). Scanner in = ne w Scanner(Syste m.out.print("1era.out. } // Fin del método principal del programa } // Fin de la clase principal By: m @ gh 13 PDF created with pdfFactory Pro trial version www. // Declaración de variable local tipo cadena que almacenará el nombre.pdffactory. el promedio y en otra linea el nombre del alumno(a) Syste m. // Muestra en pantalla el dia. calif3= in.out.util. Calificacion:"). Syste m.nextFloat(). Debe calcular el promedio de la materia.

El formato tiene la siguiente sintaxis: if (condición) acción 1 . else acción 2 donde: la condición es una expresión logica y la acción 1 se ejecuta si la expresión logica es verdadera y la acción 2 se ejecuta si la expresión logica es falsa. selección (decisión) y repetición. Debe mostrar en pantalla la edad y una frase que indique mayor o menor de edad. El formato más sencillo tiene la siguiente sintaxis: if (condición) sentencia. La sentencia if tiene dos alternativas o formatos posibles.out.nextInt(). consiste en capturar la edad de la persona. import java. Otro formato de la sentencia if es la sentencia if-else. Hasta este momento solo se han utilizado el flujo secuencial. if (edad >=18) Syste m. Las instrucciones o sentencias se organizan en tres tipos de estructuras de control que sirven para controlar el flujo de la ejecución: secuencia. ? Ejemplo 7. SENTENCIA DE CONTROL if En Java. ya puedes votar").Curso Básico de Java 2 By: m @gh ESTRUCTURAS DE CONTROL Estas permiten controlar el comportamiento de un método o de un programa. la estructura de control de selección principal es la sentencia if. Scanner in = new Scanner(Syste m.util.out. Una sentencia compuesta es un conjunto de sentencias encerradas entre llaves que se utiliza para especificar un flujo secuencial.com . donde: la condición es una expresión logica y la sentencia representa la acción ejecutable.pdffactory.out.print("Eres mayor de e dad. public class MayoriaEdad { public static void main(String arg[]) { int edad.print("Eres menor de e dad"). 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. Syste m. Debe distinguir si esa persona tiene mayoría de edad o no.in). edad= in.println("Edad:"). si la condición toma un valor verdadero. } } By: m @ gh 14 PDF created with pdfFactory Pro trial version www.*. else Syste m.

out.print("El numero mayor es:"+nu m2).print("El numero mayor es:"+nu m3).*.print("El numero mayor es:"+nu m1).pdffactory. Debe mostrar en pantalla el mayor de ellos. nu mmayor. num1 = in.nextFloat(). else if((num2 > nu m1) && (nu m2 > n u m3)) Syste m.out. Autor: Mart ín Ale jandro Guerra Hernández / m@gh Descripción: Capt ura 3 Números. consiste en capturar una serie de tres números.println("1er. public class Nu mMayor { public static void main(String arg[]) { float num1.out. nu m2 . } } By: m @ gh 15 PDF created with pdfFactory Pro trial version www.util. num3 = in.println("2do.out.in).print("Los Nu meros Son Iguales").out.com . Numero:").Curso Básico de Java 2 By: m @gh ? /* Ejemplo 8. Syste m. if ((num1>nu m2) && (nu m1 >nu m3)) Syste m. Scanner in = new Scanner(Syste m. Numero:"). else if((num3 > nu m1) && (nu m3 > n u m1)) Syste m.nextFloat(). Numero:").nextFloat(). La aplicación debe distinguir cuál de los números es el mayor. num2 = in. nu m3. la aplic ació n debe deducir cuál es mayor de lo s 3 Fecha: 2-01-07 */ import java. Syste m.out.out. Syste m.out.println("3er.println("Aplicacion que Lee 3 Nu meros y deduce cual es mayor "). else System. Syste m.

case etiqueta n :sentencias n . se recomienda su uso. después de ejecutar el código de case. break. break. pero no double. termina la sentencia switch. } donde. Aunque la etiqueta default es opcional..com . constante y cada etiqueta debe tener un valor diferente de los otros. . // Opcional By: m @ gh 16 PDF created with pdfFactory Pro trial version www. la computadora ejecutará el código que sigue al siguiente case. case etiqueta 2 : sentencias 2 . Si se omiten las sentencias break. la expresión de control o selector se evalúa y se compara con cada una de las etiquetas del case. 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). Su sintaxis switch(selector) { case etiqueta 1 : sentencias 1 . break. continua hasta que se alcanza una sentencia break. Cada etiqueta es un valor único. pero no de tipo double. Una sentencia break consta de la palabra reservada break seguida por punto y coma. . char o bolean. Si el valor del selector no esta listado en ninguna etiqueta case.pdffactory. Si el valor de la expresión selector es igual a una de las etiquetas case por ejemplo: case1. El valor de esta expresión puede ser de tipo int. La omisión de una etiqueta default puede crear un error lógico difícil de prever. break. Si la computadora encuentra una sentencia break. Cuando la computadora ejecuta las sentencias siguientes a una etiqueta case. no se ejecutará ninguna de las opciones.Curso Básico de Java 2 By: m @gh SENTENCIA DE CONTROL switch Es una sentencia de Java que se utiliza para seleccionar entre múltiples alternativas. string o float. default: sentencias n . a menos que este absolutamente seguro de que todos los valores de selector están incluidos en las etiquetas case. char o boolean.. string o flota. 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. a menos que especifique una acción por defecto (omisión). La expresión selector debe ser de tipo int.

Syste m.com . break.println("Valor pulsado 1. corresponde al Viernes").println("Valor pulsado 3. case 5:Syste m.println("Valor pulsado 4.in). /* Autor: Mart ín Ale jandro Guerra Her nández / m@gh Descripción: Visualiza los días. } } } By: m @ gh 17 PDF created with pdfFactory Pro trial version www.util.print("*Elije Opcion (1-5): ").out. break.println("Valor pulsado 2.out. corresponde al Miércoles").println("Valor pulsado 5. Syste m. Syste m.out.println("Valor pulsado No valido").out. corresponde al Lunes").out. break. consiste en mostrar un lista de opciones (menú) que simulan los días de la semana. switch(opc) { case 1:Syste m. corresponde al Jueves").pdffactory. default:System. Syste m. corresponde al Martes").*.out. el usuar io elige opció n y se muest ra su elecció n Fecha: 2-01-07 */ import java.println("* 3) Miercoles *").out. case 3:Syste m. break.nextInt(). break.out.out. 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.out.println("* 2) Martes *"). Syste m. public class MenuNu m { public static void main(String arg[]) { int opc. Scanner in = new Scanner(Syste m.out . opc = in.println("* 5) Viernes *"). case 4:Syste m. case 2:Syste m. break. Syste m.out.Curso Básico de Java 2 By: m @gh ? Ejemplo 9.println("* 1) Lunes *").println("* 4) Jueves *") .

Syste m.io.println("* Menu de los días de la semana *"). consiste en mostrar un lista de opciones (menú) que simulan los días de la semana. case 'O': case 'o': Syste m. break.println("Valor pulsado E.println("* I) Miércoles *").out. switch(opc) { case 'A': case 'a':Syste m.com .println("Valor pulsado I.out. break.in. import java. case 'I': case 'i': Syste m. Syste m. corresponde Lunes").out.print("*Elije Opcion:"). 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. opc = (char) Syste m. corresponde Martes"). case 'E': case 'e': Syste m. Syste m. } } } By: m @ gh 18 PDF created with pdfFactory Pro trial version www. Syste m.println("* A) Lunes *"). case 'U': case 'u': Syste m.out.out. break. break.println("Valor pulsado A.println("* U) Viernes *"). break.read(). es Viernes").out.*.out. break.out. Syste m.out.out. Syste m.out.Curso Básico de Java 2 By: m @gh ? Ejemplo 10.println("* O) Jueves *").println("Valor pulsado U.println("Valor pulsado No valido"). public class DiasTxt { public static void main(String arg[]) { char opc. default: Syste m.println("* E) Martes *").out.println("Valor pulsado O. es Miércoles").pdffactory.out. Syste m. es Jueves").

. al contador se establece con un valor inicial. de modo que cuando se ejecuta el mismo. se evalua la condición antes de que se ejecute el cuerpo del bucle. b. En caso contrario: El control se transfiere a la sentencia siguiente fuera del bucle o ciclo. mediante el operador ++) durante cada iteración.com . denominada cuerpo del bucle se ejecuta. Si la condición_bucle es verdadera: a.. { sentencia1. Se evalúa la condicion_bucle 2. 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.pdffactory. Cada etapa se resume así: Inicialización. Vuelve el control al paso 1. Ejemplo: contador=0. contador++. La variable de control del bucle debe ser: inicializada. condicion_bucle. sentencian. se comprueba el valor del contador antes de que comience la repetición de cada bucle (denominada iteración o pasada). // Inicialización while(contador<4) // Prueba/condición { Syste m.println(“*”). // 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. es la sentencia simple o el conjunto de sentencias. sentencia..Curso Básico de Java 2 By: m @gh BUCLES Las estructuras de programación o estructuras de control permiten tomar decisiones y realizar un proceso repetidas veces. } donde. Sintaxis: Forma 1: Forma 2: while(condicion_bucle) while(condicion_bucle) sentencia. el contador se actualiza (su valor se incrementa en 1. 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. antes de que alcance el maximo valor. By: m @ gh 19 PDF created with pdfFactory Pro trial version www. BUCLE O CICLO while Un bucle while tiene una condición del bucle (una expresión logica) que controla la secuencia de repetición. Actualización. es la expresión logica. Prueba/condición. es el siguiente: 1. Dicho en otras palabras. comprobada y actualizada para que el cuerpo del bucle se ejecute adecuadamente. 3. La sentencia especificada.out. es cualquier construcción de programa que repite una sentencia o secuencia de sentencias un número de veces. cuerpo . while es palabra reservada de Java.. El comportamiento o funcionamiento de un ciclo o bucle while. Son los denominados bifurcaciones y bucles.

} } By: m @ gh 20 PDF created with pdfFactory Pro trial version www. Syste m. nu m=1. import java.ne xtInt(). nu m=lee. nu m=nu m+2. Syste m.println("La Media es: "+media). Debe mostrar en pantalla el total y la media de los números. while(num! =0) { Syste m.out. aplicación que permite capturar una serie de números y finaliza la captura hasta que el usuario teclee el numero 0.out. Syste m.*.println("Captura Numero s.out.util. nu m=1. Syste m. } } } ? Ejemplo 12.println("Total de Números Capturados: "+(cuenta-1)).out. su ma.io.*.Curso Básico de Java 2 By: m @gh ? Ejemplo 11. cuenta=0. import java. su ma=0. } media=su ma/(cuenta-1).pdffactory.print("Nu mero:"). cuenta++. public class Su maNu ms { public static void main(String[] args) { int num.println(num). su ma=su ma +nu m.println("Lista de Números I mpares 1-30"). Debe utilizar el bucle while. calcular el total de números capturados y la media de los números.i n). cuenta.out. media.com . Scanner lee = new Scanner(Syste m. hasta que teclee 0"). public class Nu msI mpares { public static void main(String arg[]) { int num. consiste en mostrar en pantalla los números primos de 1 hasta 30 utilizando el bucle while. while(num<30) { Syste m.out. media=0.

out. aux=nu m%2.print("Nu mero:").util. nu m=lee. int cantpar. Syste m.println("Total de Numeros I mpares: "+canti mpar). cuenta++. Debe mostrar en pantalla la cantidad total de los números pares e impares. if(aux==0) cantpar++. Scanner lee = new Scanner(Syste m. determinar el total de números capturados que sean pares y cuantos son impares.println("Total de Numeros Pares: "+cantpar). } } By: m @ gh 21 PDF created with pdfFactory Pro trial version www. la aplicació n det er mina cuant o s son pares y cuant os son impares. cuenta.out. au x.out.out. Fecha: 2-01-07 */ import java. cant.nextInt(). public class Nu msParI mpar { public static void main(String[] args) { int num. Syste m.*. au x=0.Curso Básico de Java 2 By: m @gh ? /* Ejemplo 13. cantimpar. Debe utilizar el bucle while. } Syste m. while(cuenta<cant) { Syste m. cuenta=0. aplicación que permite capturar “X” cantidad de números.i n).pdffactory. Autor: Mart ín Ale jandro Guerra Hernández / m@gh Descripción: Capt ura una cant idad de números. cantpar=canti mpar=0. else canti mpar++. cant=lee.com .print("Cantidad de Núme ros a Capturar? ").ne xtInt().

que son bucles en los que un conjunto de sentencias se ejecutan una vez por cada valor de un rango específico. utilizando el bucle for.nu m>1. tiene la siguiente sintaxis: for(inicialización. // Imprimir en pantalla 10 veces el mensaje hola for(int i=1. } El bucle for contiene cuatro partes: Parte de inicialización. import java. Parte de condición_iteración. incremento_decre mento) { sentencia1. ? Ejemplo 14. condición _ iteración.println(num).out. La sentencia for es la mejor forma de programar la ejecución de un bloque de sentencias de un numero fijo de veces. es la parte del bucle que incrementa o decrementa la variable de control del bucle. nu m=1. public class Nu msPares { public static void main(String arg[]) { int num. Las variables de control pueden ser definidas en esta parte.io.out. que contiene una expresión lógica que hace que el bucle realice las iteraciones de las sentencias. sentencia2. for(nu m=30. mientras que la expresión sea verdadera.i++) Syste m.i<10. Se pueden utilizar variables de control del bucle simples o compuestas. El bucle for. comenzando con el 30 y terminando en 1.com . sentencian.Curso Básico de Java 2 By: m @gh BUCLE O CICLO for El bucle for es el más adecuado para implementar bucles controlados pro contador.pdffactory.*.println("Lista los Numero s Pares del 30-1").println(“Hola”). consiste en mostrar en pantalla los números pares. ….. que inicializa las variables de control del bucle. son las acciones o sentencias que se ejecutarán en cada iteración del bucle. } } } By: m @ gh 22 PDF created with pdfFactory Pro trial version www. Syste m.nu m-=2) { Syste m.out. Sentencias. Parte de incrmento_decremento.

Scanner in = new Scanner(Syste m. aplicación que permite capturar una serie de 5 números. Ma xi mo Valor de la Lista"). Fecha: 2-01-07 */ import java.cuenta ++) { Syste m. public class Nu mMa x { public static void main(String[] args) { int num. Debe mostrar en pantalla el máximo número. cuenta.util.*. } } By: m @ gh 23 PDF created with pdfFactory Pro trial version www. Note que se utiliza la clase util. } Syste m.cuenta<=5.in). ma x=0. utilizando el bucle for.com . Syste m. ma x.ne xtInt().println("El Valor Máxi mo de la Lista es:"+ma x). for(cuenta=1.pdffactory.print("Nu mero:").Curso Básico de Java 2 By: m @gh ? /* Ejemplo 15.out. if(num>ma x) ma x=nu m. Autor: Mart ín Ale jandro Guerra Hernández / m@gh Descripción: Capt ura 5 números y det er mina cuál de ellos es el valor máximo.println("Captura 5 Numer os.out.out. nu m=in.

} else if((subtotal>2500) && (subtotal<=5000)) { desc=subtotal-(subtotal*. importe=0.out. for(int cuenta=1. subtotal+=importe.out. float cant. utilizando el bucle for. precio=in.nextLine(). importe=cant*precio.cuenta++) { Syste m. Syste m. 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%. Scanner in = new Scanner(Syste m. importe.nextFloat().print("Producto: ").pdffactory. error. t otal. public class CicloCompra Mcdo { public static void main(String []arg) { String pdto.nextLine().out.print ln( "Tot al de la co mpra: $"+t ot al+"con un descuent o del:"+obt enid o ).com . import java. error=in.println("Captura 5 Productos.in). obtenido="10%". total=0. Syste m.15f).nextFloat(). obtenido="5%".o ut .print("Cantidad: ").out.0f.*. obtenido="0%".05f).cuenta<=5.Curso Básico de Java 2 By: m @gh ? Ejemplo 16. obtenido. subtotal.10f).util.0f. Debe calcular el importe por producto. pdto=in. desc. } total=desc+(desc*. Syste m. } } By: m @ gh 24 PDF created with pdfFactory Pro trial version www. subtotal=0.0f. desc=0.print("Precio:$ "). S yst em. precio. si la compra esta entre $2500-$5000 dar un descuento del 5%. } if(subtotal>5000) { desc=subtotal-(subtotal*. la cantidad y el precio. Debe mostrar en pantalla el importe total de la compra e indicar el descuento. cant=in. } else { desc=subtotal. aplicación que permite capturar 5 datos de una compra: nombre del producto.0f.

io. for. }while(expresión) La construcción do comienza ejecutando las sentencias. pero 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. Se mostrará en pantalla todos los caracteres pulsados por el usuario. el cuerpo del bucle puede no ser ejecutado. while. Este proceso continua hasta que la expresión es falsa. entonces se repite la ejecución de las sentencias.in. do-while.*. Después se evalúa la expresión.o ut .com . ? Ejemplo 17. }while(letra! ='*'). el test de la condición precede a la ejecución del cuerpo del bucle. Para t erminar pulse * y E nt er") . bucle de conteo. Se debe utilizar cuando se desea saltar el bucle si la condición es falsa. do { letra = (char) Syste m. también es adecuado para bucles que implican control no contable del bucle con simples etapas de inicialización y de actualización. es adecuada cuando se debe asegurar que al menos se ejecute el bucle una vez.print ln( "Teclee el Text o Deseado. el test de condición le precede a cada repetición del bucle.pdffactory.. import java. aplicación que permite capturar texto hasta que el usuario pulse *. public class CicloTexto { public static void main(String []arg) throws IO Exception { char letra. cuando el numero de repeticiones se conoce por anticipado y puede ser controlado por un contador. sentencia2. } } COMPARACIÓN DE LOS BUCLES while. for y do-while. el uso más frecuente es cuando la repetición no esta controlada por contador. ….Curso Básico de Java 2 By: m @gh BUCLE O CICLO do-while La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos una vez.read(). sentencian. S yst em. Su sintaxis es: do { sentencia1. By: m @ gh 25 PDF created with pdfFactory Pro trial version www. Si la expresión es verdadera.

print("Nu mero "). Resta").ne xtFloat(). Syste m.println("5. result=nu m1-nu m2. } if(opcion==2) { Syste m.println("3.nextInt(). float num1." +nu m2 +" = "+result).println("El resultado de: "+nu m1+" .out.out. nu m1=lee.ne xtFloat().print("Nu mero ").println("4. Syste m.out.out.println("El resultado de: "+nu m1+" + "+nu m2+" = "+result).out.print("Nu mero "). if(opcion==1) { Syste m.out. result=nu m1+nu m2. el cuál lo debe mostrar al menos una vez.out.Curso Básico de Java 2 By: m @gh ? Ejemplo 18.util. nu m1=lee.out. Debe mostrar en pantalla los números de la operación y el resultado.i n). Salir").out. Suma").ne xtFloat(). nu m2=lee. Scanner lee = new Scanner(Syste m.println("Menu:"). } }while(opcion! =5 || opcion! =5). Syste m. Resta").*.println("Elijio Su ma ").ne xtFloat(). opcion=lee.com . aplicación que contiene un menú de las operaciones aritméticas. nu m2=lee.println("2. Syste m.println("Elijio Resta "). Syste m. public class CicloMenu { public static void main(String []arg) { int opcion. Syste m. Syste m.out.out.print("Elije Opcion:").out. Syste m.out.print("Nu mero ").pdffactory. Syste m. para que el usuario elija la opción y si es necesario capture los números para realizar la operación. Syste m.println("1.out. Syste m. do { Syste m. Suma"). } } By: m @ gh 26 PDF created with pdfFactory Pro trial version www.out. Syste m. import java. nu m2. result.

las temperaturas de cada dia del mes de una ciudad.2….1.cta++) { Syste m.util. etc. Se pueden colocar de 2 formas tipo_dato [] identificador.4. "Blanco". por ejemplo: la edad de los alumnos.n. como ejemplo: nu ms[0]=7.println("Lista los Colores"). 'g'} // define un array de 2 elementos de tipo char y se inicializa ? Ejemplo 19.Curso Básico de Java 2 By: m @gh ARREGLOS (Arrays) Un array (lista o tabla) es una secuencia de datos del mismo tipo. min = ne w float [4]. La declaración de un array es similar a otros tipos de datos.out.cta<=4.*..com .println("Color en la Posicion: "+cta+" "+colores[cta]). t xt. public class ArrayColors { public static void main(String []arg) { int cta. import java. txt es una variable de tipo char. for(cta=0.5} // define un array de 5 elementos de tipo int y se inicializa char txt[] = {' m'. // tanto nums como sumas son declarados arrays de tipo int. int o float. Los datos se llaman elementos del array y se numeran consecutivamente de 0. String colores [ ]= {"Azul". "Rojo"}.3. Ejemplos: char cad[]. Syste m. excepto que se debe indicar al compilador que es un array y esto se hace con los corchetes.2. 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. tipo_dato identificador[]. Un array puede contener. 'h'} nu ms[1]=6. '@'. Cuando se inicializa un array. el tamaño del array se puede determinar automáticamente por las constantes de inicialización. // tanto max como min contienen 5 elementos de tipo float Se deben asignar valores a los elementos de un array antes de utilizarlos. "Verde".pdffactory. int [] edad = new int [4]. el total de personas de las ciudades del estado de Michoacán. como los siguientes ejemplos: int valores [ ]= {1. // cad es un array tipo char.out. Estas constantes se separan por comas y se encierran entre llaves. cad[ ]={' m'. int [] nums. tal como se asignan valores a variables. // edad contiene 5 elementos de tipo int float [] ma x. 'g'. Para asignar valores a cada elemento del array. aplicación que por medio de un arreglo muestra una lista de colores. su ma s. } } } By: m @ gh 27 PDF created with pdfFactory Pro trial version www. El tipo de de elementos almacenados en el array puede ser cualquier tipo de dato tales como: char. "Amarillo".

Syste m.util.*.equals("salir")) break. Posteriormente muestra en pantalla el texto tecleado.out.println(" Hasta Que Teclee salir").in).nextLine(). } } } By: m @ gh 28 PDF created with pdfFactory Pro trial version www. Syste m.pdffactory. for(int i=0.println(palabra[cta]).com .equals("salir")) break.out. aplicación que le permite al usuario capturar texto y lo almacena en un arreglo.i<100.println("\nEste su texto:\ n").out. Autor: Mart ín Ale jandro Guerra Hernández / m@gh Descripción: Capt ura t ext o y el co nt enido lo guarda en arreglo Fecha: 2-01-07 */ import java. Scanner in = ne w Scanner(Sy ste m.i++) { palabra[i]=in. Syste m. } Syste m. public class Editor { public static void main(String []arg) { String [ ]palabra= new String[100].println("Aplicacion que Captura Palabras"). for(int cta=0. if(palabra[i].out.Curso Básico de Java 2 By: m @gh ? /* Ejemplo 20.cta++) { if(palabra[cta].cta<100.

j++) { for(int i=j+1. j<no mbres. } } } for(int cta=0. Fecha: 2-01-07 */ import java."Ana". Syste m. no mbres[ j]= no mbres[i].cta ++) { Syste m. aplicación que almacena en un arreglo una lista de nombres.length."Diana".println(nombres[cta]).com .pdffactory. post er ior ment e los ordena a t ravés del Mét odo de Ordenació n de la Bur buja.i<no mbres.util. "Luis"}.Curso Básico de Java 2 By: m @gh ? /* Ejemplo 21. } } } By: m @ gh 29 PDF created with pdfFactory Pro trial version www.").co mpareTo(no mbr es[j])<0) { String au x= no mbres[ j]. Muestra en pantalla la lista de los nombres ordenados en forma ascendente.i++) { if(no mbres[i].out.*.cta<no mbres. public class OrdenaNombres { public static void main(String []arg) { String no mbres[ ]={" Martin". Posteriormente los ordena a través del método de ordenación de la burbuja. Autor: Mart ín Ale jandro Guerra Hernández / m@gh Descripción: List a de no mbres almacenados en arreglo.length.println("Aplicacion que Ordena los Nombres de la Lista."Alejandro". for(int j=0."Elsa".length.out. no mbres[i]= aux.

j++) { for(int i=j+1.out. j<total. } } } Syste m.println("\n Lista de Nu meros Ordenados:"). Muestra en pantalla la lista de los números ordenados en forma ascendente. for(int x=0.println("Cantidad de Nu meros a Capturar? "). x++) { Syste m. do { Syste m.util. for(int cta=0. nu m[i]= au x.i<total.print("Nu mero("+x+") :").out.cta++) { Syste m.out. } } } By: m @ gh 30 PDF created with pdfFactory Pro trial version www.nextInt().out. Syste m.com .nextInt(). nu m[ x]=in. int num[ ]= ne w int[10].print("\t"+nu m[cta]). } for(int j=0.Curso Básico de Java 2 By: m @gh ? Ejemplo 22.*. x<total. Posteriormente los ordena a través del método de ordenación de la burbuja.out.println("Captura de Numeros"). nu m[ j]= nu m[i]. } while(total>10). total=in.pdffactory.cta<total. import java.i++) { if(nu m[i]< nu m[ j]) { int aux= nu m[ j]. Scanner in = ne w Scanner(Syste m.in). public class OrdenaNums { public static void main(String []arg) { int total. aplicación que almacena en un arreglo una lista de números.

Cuatro de estos metodos son: init(). JVM del navegador. Después el applet debe ejecutar la acción que desee el programador y devolver el control rápidamente al AWT. Como se muestra en esta estructura: import java. Los applets son ejecutados por un navegador de internet o bien por un visor de applets (appleetviewer).Curso Básico de Java 2 By: m @gh INTRODUCCIÓN A LOS APPLETS Los applets son aplicaciones gráficas que aparecen en una zona de la ventana del navegador. ni manejo de Al ejecutarse desde un navegador. manejo de eventos. Todos los applets son subclases de la clase applet. El AWT (Abstract Windows Toolkit) notifica el evento al applet llamando a un gestor de eventos para que lo trate. // import java. La ejecución de un applet no comienza con el main(). se incluye en un archivo HTML utilizando la etiqueta applet. ventaja de la estructura: una ventana.*. Diferencias entre Aplicaciones y Applets Aplicaciones Sencillas en Java Applets en Java Permite desarrollar aplicaciones que se Permite desarrollar módulos descargables a ejecutan en el intérprete local de JSDK. El usuario es el que debe iniciar una interacción con el applet. start().applet.*.com . stop(). 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. // public class No mbre_applet extends Applet { public void init() {// Código de inicialización} public void start() {// Código que co mienza o reanuda la ejecución } public void stop() {// Código que detiene la ejecución} // Se ejecuta cuando termina el applet. Una vez que se ha compilado un applet. Los applets son conducidos u orientados a eventos. tiene la eventos.awt.a wt. Es el último método que se ejecuta public void destroy() {// Código para la finalización definitiva} // Es llamado cuando se restaura la ventana del applet public void paint(Graphics g) {// Código para dibujar el contenido en la ventana} } By: m @ gh 31 PDF created with pdfFactory Pro trial version www. es través de una página web y ejecutable en la decir desde la línea de comando. destroy() los define el applet. Un applet espera a que ocurra un evento. incluido en JDK.pdffactory. El paint() lo define la clase Component. Cualquier applet debe importar los paquetes java. gráficos e interfaz de usuario. dicho de otra forma es un programa basado en ventanas. No permiten interfaz grafica.applet y java. Sino que es gestionada por varios métodos del AWT.

20. //Envia mo s un mensaje a la vent ana // en las coordenadas: Co l. Esta clase permite definir lo que se suele denominar lienzo (o Canvas). Un visor de applets ejecutará cada etiqueta applet que encuentre en una ventana independiente.pdffactory.Curso Básico de Java 2 By: m @gh ? Ejemplo 23. La clase Graphics dispone de muchos métodos para dibujar en el lienzo. El lienzo es precisamente ese rectángulo del que estamos hablando todo el rato. import java. Mozilla Firefox permiten ejecutar varios applets en una unica pagina.Applet.applet. import java.a wt. La sintaxis para una etiqueta applet. public class HolaJava extends Applet { } Nuestros applet siempre van a ser clases derivadas de Applet. 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.50). En la primera importamos la clase Applet. En nuestro applets deberemos. 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. 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. Éste. incluir como mínimo estas dos sentencias de importación. public void paint(Graphics g) { } Este es el método que debemos sobreescribir para dibujar en el rectángulo asignado a nuestro applet.applet.drawString("Mi 1er Applet". de la cual derivaremos nuestros applets. lo que esta entre corchetes es opcional: By: m @ gh 32 PDF created with pdfFactory Pro trial version www. nos permite dibujar un texto en la posición que queramos. Internet Explorer. HotaJava. Recibe un parámetro que es una referencia a una instancia de tipo Graphics.20. concretamente. g.*. La segunda permite importar las clases de la librería AWT.*.com . public class HolaJava extends Applet { public void paint(Graphics g) // Inicia lizamos el mét odo Grafico { g.drawString("Mi 1er Applet". renglón). que nos permitirán dibujar en el rectángulo asignado al applet.awt. import java. diseñamos un applet que envie a la ventana un mensaje en las posiciones especificadas (columna.50). mientras que navegadores como: Netscape Navigator.Applet. Reng } } import java.

pdffactory. 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). bottom. solo se visualizará el mensaje: Mi 1er Applet By: m @ gh 33 PDF created with pdfFactory Pro trial version www.Curso Básico de Java 2 By: m @gh <applet [codebase=url] code=archivo Class [alt=texto_alternativo] width=pixels heig ht=pixels [align=tipoAlineamiento]> </applet> codebase: es un atributo opcional que especifica el URL del código del applet. Del cuadro de dialogo: en el cuadro Tipo: Todos lo archivos. absbottom. Puedes utilizar un editor de páginas web o cualquier editor de texto.class" W IDTH="200" HEIGHT="70"> </APPL ET> </BODY> </HTML > Cuando termines de teclear estas líneas de código.com . code: es un atributo necesario y proporciona el nombre del archivo que contiene el archivo compilado . right. top.class del applet.ht ml Ahora ingresa al Explorador de Windows o MiPC. 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. clic en Archivo / Guardar como. para nuestro ejemplo. que es el directorio donde se buscará el archivo de clase ejecutable del applet. para nuestro ejemplo usaremos el Bloc de notas. middle.html has doble clic sobre este. La página que desarrollaremos es la siguiente. se abre navegador con el contenido de esta pagina. baseline. Y en el cuadro Nombre: Hola. align: es un atributo opcional que especifica la alineación del applet. busca el archivo: Hola. haciendo clic en Inicio / Programas / Accesorios / Bloc de notas: <HTML> <BODY> <APPL ET CODE="HolaJava. Si desea incluir su applet en una página web. texttop. absmiddle. Puede tomar los siguientes valores: left.

alto) fillRect(x. drawOval(x. draw3DRect(x.alto.pdffactory. By: m @ gh 34 PDF created with pdfFactory Pro trial version www.i nt[ ] coordenadasY.a nc ho.alto.a nc ho.yDest) Copia el área cuya esquina superior izquierda está en (xOrigen.y+alto).a ncho.y).com .boolean elevado) fill3DRect(x. un rectángulo cuya esquina superior izquierda está en las coordenadas (x. consideraremos que todos los parámetros son enteros: drawStri ng(St ring texto.anc ho Arco.y.a ncho.alto. y.a nc ho.ang ulo Inicio.altoArco) fillRoundRect(x.y. drawRoundRect(x. fila.Curso Básico de Java 2 By: m @gh CLASE Graphics La clase Graphics dispone de más métodos aparte de drawString.anguloInicio. pero dibujan un borde para dar la sensación de que está elevado o hundido (dependiendo del valor del último parámetro).a ncho.a ncho.alto) Son tres métodos encargados de dibujar.x. rellenar y limpiar.a nc ho.numCoordenadas) fillPolygon(i nt[ ] coordenadasX. que representan columna.y) y el segundo en (x+ancho. angulo Arco) fillArc(x. draw Arc(x.alto) fillOval(x.a nc ho.anc ho.alto.x2. y.y. Métodos de dibujo Mientras no se especifique.alto.y) y el ancho y alto especificados.a ncho. y. y.a ngulo Arco) Dibuja una arco cuyo primer vértice está en (x.i nt [ ] coordenadasY. Si son iguales dibujará un círculo.alto) Dibujan una elipse con esquina izquierda superior en (x. La forma del mismo vendrá dado por los dos últimos parámetros. yDest).numCoordenadas) Dibuja un polígono cerrado del número de puntos especificado en el último parámetro. respectivamente. drawLine(x1. drawPol ygon(int[ ] coordenadasX.y.y.y2).y) Escribe un texto a partir de las coordenadas (x.alto. pero con las esquinas redondeadas. que nos permitirán dibujar figuras e imágenes. y. yO rigen. La forma y tamaño de dichas esquinas viene dada por los dos últimos parámetros.altoArco) Equivalentes a los anteriores.yOrigen) y de ancho y alto especificados a la zona que comienza en (xDest.alto) clearRect(x.y.alto. y2) Dibuja una línea entre las coordenadas (x1.boolean el evado) Equivalentes a los primeros.a nc ho.y) y tienen el ancho y alto especificados. drawRect(x.xDest. copyArea(xO rigen.anchoArco. y1.y1) y (x2.

setColor(Color. //Dibuja cír culo s rellenado s i++. // Est ablece co lor azul g. import java. //Dibuja líneas g.rc=250. 250.fillOval(10+i*10.sleep(5000). diseñamos un applet que dibuje en la ventana: Líneas. 50+i*10).setColor(Color.i<=10. //Est ablece co lor negro g.applet.drawLine(10. 50+i*1 0.com . 50+i*10).Applet..setColor(Color. for(i=1. 10+i*10.a wt. 600).i++) { g.white).yellow). 10+i*10.Curso Básico de Java 2 By: m @gh ? Ejemplo 24. //Dibuja cuadros g. catch(InterruptedException e) {e.printStackTrace(). 10+i*10).pdffactory. import java. si es necesar io muest ra el error.blue).drawOval(10+i*10. } // fin del while } // fin paint } // fin de class By: m @ gh 35 PDF created with pdfFactory Pro trial version www. 10+i*10. //Est ablece co lor azul g. //Dibuja un rect ángulo de co lor blanco while(i<=10) { g. } // Inicia liza el Manejador de Errores con “t ry” //Ret arda el sigu ient e proceso por 5 seg. 50+i*10). // Dibuja cuadros rellenado s g. 0. // At rapa el error que se genere “cat ch”.fillRect(10+i*10. 50+i*10. int gc=10. 50+i*10. //Dibuja círculos } // fin del for try { Thread.bc=150.fillRect(0. Después de 5 segs. g.setColor(Color. 10+i*10. //Est ablece co lor blanco g.setColor(Color. 800.*.black). //Est ablece co lor g. // Est ablece co lor negro g. } i=1. vuelve a dibujar: Círculos y Cuadros rellenados con los colores y en las coordenadas especificadas. 10. 50+i*10). 50+i*1 0. Círculos y Cuadros en las coordenadas y con los colores especificados.drawRe ct(10+i*10.black).blue). public class Figuras extends Applet { public void paint(Graphics g) { int i=1.setColor(Color.

Si desea establecer el color de fondo de una ventana de un applet debe utilizar setBackground(). i * 20.192.gc=50.175. } // fin del for } // fin del paint } // fin de class By: m @ gh 36 PDF created with pdfFactory Pro trial version www. i * 20).0 Verde green 0. lineas. que por defecto es negro.64 Magenta magenta 255.Curso Básico de Java 2 By: m @gh Clase Color Graphics almacena internamente el color con el que pinta todo.128.*.com .255 Blanco White 255. setBackground(Color.255 ? Ejemplo 25.175 Gris claro light_gray 192.setColor(new Color(rc.128 Rosa Pink 255. diseñamos un applet que dibuje en la ventana: Círculos.(gc*i)-45.(bc*i)+10)).200.255 Rojo red 255.0. import java.pdffactory. // Est ablece co lor de fondo azul for(i=1. import java.applet. dark_gray 64.0 Gris gray 128.0.255 Gris obs.0. 110-i * 10.bc=10.255.0 Negro Black 0.a wt. Para poder cambiar dicho color deberemos utilizar el método setColor().255. // Dibu ja círculo s de co lores especificados por set Color g.192 Cyan Cyan 0. Pero si desea establecer el color de frente (color de texto.drawO val(110-i * 10. int rc=255.255.i++) { // Co lo ca el co lor co mbinado por RGB g. Y pueda crear instancias de color por medio de constructores para definir colores menos comunes.i<=6.Applet. que recibe un único parámetro de tipo Color.0 Amarillo Yellow 255.0 Azul blue 0. etc) debe usar setForeground() La clase Color dispone de varias propiedades estáticas que contienen los colores comunes: Color Constante Valor RGB Color Constante Valor RGB Naranja Orange 255.64.blue). public class GrafCirculos extends Applet { public void paint(Graphics g) { int i=1.255.0.

JOpt io nP ane. debe utilizar showMessageDialog de la clase JOptionPane del paquete javax.INFORMATION_MESSAGE). "Año:"+fecha.com .out tiene capacidades limitadas. Cuadro de dialogo usado para que el usuario responda. "Autor:"+no mbre.P LAIN_MESS AGE By: m @ gh Icono Ninguno Descripción Cuadro de dialogo que indica error al usuario.showMessage Dialog(null.INFORMATION_MESSAGE).swing.ERROR_MESS AGE JOpt io nP ane. "Manual de Java2 ". JOpt io nP ane. Eje mplos: int numero. Sintaxis: JOptionPane.pdffactory. showMessageDialog( nu ll.sho wInputDialog("Introduce Nu mero:").Curso Básico de Java 2 By: m @gh CUADROS DE DIALOGO La forma simple de entrada de datos en Java es similar a mostrar la salida de la ventana de comandos con los métodos print o println del System. Cuadro de dialogo que advierte al usuario un problema. WARNING_MESSAGE JOpt io nP ane. Cuadro de dialogo con mensaje informativo para el usuario. 37 PDF created with pdfFactory Pro trial version www. JOpt io nP ane. no mbre=JOptionPane. Sintaxis: variable_tipo_texto=JOptionPane. Eje mplos: String nombre =”Martin Alejandro Guerr a Hernandez”.INFORMATION_MESSAGE JOpt io nP ane.sho wInputDialog("Introduce No mbre:"). "texto a mostrar”.”titulo”.QUESTION_MESS AGE JOpt io nP ane.swing. nu mero=JOptionPane. Por esta razón generalmente recibimos la entrada del usuario a través de un componente GUI como un cuadro de dialogo de entrada. Para ello va a utilizar el método showInputDialog de la clase JOptionPane del paquete: javax. String nombre. JOpt io nP ane. Mensaje del Cuadro de Dialogo JOpt io nP ane. showMessageDialog( nu ll. Cuadro de dialogo que solo tiene un mensaje.icono).showInputDialog("texto a mostrar"). "Curso de Java Básico ". Si el usuario quiere mostrar resultados o valores a través de un cuadro de dialogo. int fecha=2007. El usuario puede escribir cualquier cosa en el espacio del cuadro de dialogo de entrada.

public class Pro mDialogo extends Applet { int prom.a wt. import java. import java. su ma =su ma+edad.200. Debe calcular el promedio de edad. t it ulo. Debe visualizar el valor del promedio en un cuadro de dialogo y en la ventana del applet.25). edad=Integer. String edads. edads=JOptionPane.Curso Básico de Java 2 By: m @gh ? Ejemplo 26. // Var iable de Clase t ipo numér ica public void init() { int su ma. i++. } // fin del paint } // fin de class By: m @ gh 38 PDF created with pdfFactory Pro trial version www. } // fin del while pro m=su ma/i. su ma=edad =pro m=0. "Edad Pro medio". import java x.*.drawString("Pro medio de Edad"+p ro m.swing. utilizando cuadros de dialogo.Applet. retorna un valor de t ipo t exto.*. icono de Infor mació n JOptionPane.10. while(i<3) { // Muest ra un Cuadro de Dialogo. } // Fin de Init public void paint(Graphics g) { g.edad. // Co nviert e el t ext o a valor numér ico ent ero.blue).25.JOptionPane. diseñamos un applet que capture la edad de 3 personas.sho wMessageDialog(null.applet.pdffactory.10). // Dibuja Línea // Visua liza mensa je most rando el result ado de la var iable clase g.setColor(Color. int i=0. // Est ablece el co lor azul g.parseInt(edads). // Cuadro de Dialogo: con el t ext o y valo r del Pro medio.com . "Promedio de Edad: "+pro m.drawLine(15.INFORMATION MESSAGE).sho wInputDi alog("Introduce Edad ("+i+")").

URL getCodeBase() Devuelve la URL donde está el applet (excluyendo el nombre del archivo). incrustaremos la foto de Anette: ? Ejemplo 27. Para mostrar la imagen se utiliza el método paint().int x. que son bastante más espectaculares. Para hacerlo utilizaremos el método: drawImage( Image img.. Image es un objeto que representa a la imagen. g. se realiza el getImage() en el método init() del applet. } } By: m @ gh 39 PDF created with pdfFactory Pro trial version www. No vamos a ver estos objetos muy a fondo.this). jpg"). Por ejemplo.URL) y crear uno pasándole una cadena como parámetro al constructor conteniendo la URL.com . Para averiguarlo disponemos de dos métodos en la clase Applet: URL getDocumentBase() Devuelve la URL donde está la página HTML (excluyendo el nombre del fichero).a wt. escr iba no mbre de l archivo img = getI mage(getDocu mentBase ().pdffactory.Applet.. Si deseamos obtener una URL distinta deberemos importar esa clase (java.100. import java. no estaría de más poder hacer cosas con imágenes. referenciando al objeto actual. "Anette.*. ImageObserver es un interfaz (que un antepasado de Applet implementa) que nos ofrece información sobre la imagen según la imagen se carga de la red. al igual que hemos hecho para pintar cosas.Curso Básico de Java 2 By: m @gh MANEJO DE IMÁGENES Aún cuando podemos hacer cosas vistosas con figuras. String archivo) Asigna la imagen contenida en la URL donde se encuentre el archivo que contiene la imagen que queremos presentar y el nombre de ese archivo.drawI mage(i mg. diseñamos un applet que visualiza la fotografía de una persona. //Visualiza la imagen dentro del applet. en la posición especificada. Por otro lado. Normalmente. public class Foto extends Applet { I mage i mg.applet.100. Normalmente crearemos un objeto Image por medio del método de Applet getImage(): Image img = getImage(URL base. Normalmente obtendremos esa dirección a partir de la página donde esté la página HTML o nuestro applet.net. // Cr eamo s el o bjet o img de t ipo I magen public void paint(Graphics g) { // Carga la imagen de la posic ió n especificada.ImageObserver observador ) Vemos que necesitamos un objeto Image y otro ImageObserver y de esas cosas no sabemos todavía. ya que en el momento en que ejecutemos este método comenzará la carga de imágenes desde Internet y eso conviene hacerlo cuanto antes.int y. import java.

La primera crea una etiqueta que contiene la cadena especificada. Las etiquetas son controles pasivos que admiten interacción con el usuario.CENTER). Por tanto. su sintaxis: Co mponent add(Co mponent co mpOb j) Donde: Component. será visible en la ventana. add(dos). por defecto es windows.Curso Básico de Java 2 By: m @gh HERRAMIENTAS GRAFICAS DE AWT Los controles son componentes que permiten al usuario interactuar con la aplicación de varias maneras.pdffactory. Button (botones). la apariencia de una ventana viene determinada por la combinación de controles que esta contiene y por el gestor de organización utilizada para colocarlos. Para hacerlo. Label define los siguientes constructores: Label(“cadena”). puede eliminarlo de la ventana. panels. add. se refiere es una instancia al control que se quiere añadir. se refiere a: frames. agrega el control deseado al componente indicado. List (lista desplegable) Scrollbar (barras de desplazamiento) y las siguientes subclases: TextField (cajas de texto) y TextArea (área de texto). Checkbox (casillas de verificación). // Agrega las dos et iquet as cr eadas a la vent ana add(uno). Un gestor de organización posiciona automáticamente los componentes dentro de un contenedor. dialogs. Algunas veces.Label. RIGHT. debe utilizar remove() que esta definido en la clase Container. por defecto es windows. Label dos = new Label("2 dos". es una referencia al control que se quiere eliminar. elimina el control deseado del componente indicado. Para hacerlo. La segunda crea una etiqueta que contiene la cadena especificada. primero hay que crear una instancia del control deseado y después añadirlo a la ventana llamando a add(). Una vez que se ha añadido el control. CENTER) Ejemplo: // Creació n de dos et iquet as Label uno = new Label("1 uno"). Label(“cadena”. Añadir y Eliminar Controles Para incluir un control en la ventana es necesario añadirlo a la ventana. Debe utilizar el método add. Puede eliminar a todos los controles utilizando removeAll().com . Su sintaxis: void remove(Co mponent ob j) Donde: remove. AWT soporta los siguientes tipos de controles: Label (etiquetas). int how). alineando el texto en la posición indicada (LEFT. dialogs. cuando ya no necesita utilizar más el control. que esta definido en la clase Container. Control Label (etiquetas) Una etiqueta es un objeto y contiene una cadena que muestra en la ventana. compObj. Component. panels. se refiere a: frames. Obj. 40 By: m @ gh PDF created with pdfFactory Pro trial version www.

addActionListener(this). Los campos de texto (textfield) permiten al usuario introducir texto y la edición de texto utilizando los cursores y las teclas. El segundo crea un boton que contiene str como nombre de etiqueta. Los botones son objetos de la clase button. Hay una etiqueta asociada a cada Checkbox que describe que opción representa. add(tres). Está formado por un pequeño cuadro que puede contener o no una marca de comprobación.addActionListener(this). Para cambiar el estado de un Checkbox solo hay que pulsar sobre él. de acuerdo a los siguientes constructores: By: m @ gh 41 PDF created with pdfFactory Pro trial version www. n = ne w Button ("no"). El tercero inicializa el campo de texto con el string str y además especifica su tamaño. El segundo campo de texto inicializa el campo de texto con el string dado por str. // Se regist ra para recibir lo s event os de acció n que se generen en las do s // cajas de t ext o uno. Define los siguientes constructores: TextField (int numchars) TextField (String str) TextField (String str. // Agrega lo s dos bot o nes creados a la vent ana add(s). Ejemplo: // Creació n de dos boto nes s = ne w Button(). Ejemplo: // Creació n de dos cajas de t ext o uno = ne w TextField(10). // Agrega las dos cajas de t ext o creadas a la vent ana add(uno).Curso Básico de Java 2 By: m @gh Clase TextField (cajas de texto) Implementa una area de entrada de texto de una sola linea que se llama control de edición. Control Checkbox (casillas de verificación) Es un control que se utiliza para activar o desactivar una opción. Control Button (botones) Es un componente que contiene una etiqueta y que genera un evento cuando es pulsado. tres. tres = ne w Te xtField("1 uno". Los Checkbox se pueden utilizar individualmente o como parte de una grupo.com .addActionListener(this). 10). Proporciona dos contructores: Button () Button (String str) El primero de ellos crea un botón vacío (sin etiqueta).pdffactory. add(n). n. El textfield es una subclase de TextComponent. int numchars) El primer formato crea un campo de texto con el tamaño especificado en numchars. // Define un método para recibir los eventos que se generen en los // botones s.addActionListener(this).

CheckboGroup cbgroup. List (int numrows. Checkbox (String str. // Define un método para recibir los eventos que se generen en las // casillas de verificación. La primer versión. El segundo formato permite establecer el formato inicial del Checkbox. add (nu meros).addActionListener(this). Ejemplo: // Creació n de dos casillas de ver ificacio n aficion = new Checkbox (“Deportista”. 42 By: m @ gh PDF created with pdfFactory Pro trial version www. Ejemplo: // Creació n de dos list as desplegables colores = new List (3.Curso Básico de Java 2 By: m @gh Checkbox (String str). // Agrega t res element os a la list a de co lores colores.add (“dos”).add(“rojo”). En el segundo formato numrows especifica el número de elementos que puede contener la lista y si multipleselect es true el usuario puede seleccionar dos o mas elementos a la vez.com . alimentos = ne w Checkbox ("Fruta"). el valor numrows especifica el número de elementos que puede contener la lista. si on es true. true). alimentos.addActionListener(this). colores. // Se añaden las list as creadas a la vent ana add(colores). // Agrega lo s dos casillas de ver ificació n creadas a la vent ana add(aficion). // Agrega t res element os a la list a de numeros nu meros. // Define un método para recibir los eventos que se generen en las // listas. null.addItemListener(this). Control List (lista deplegable) Este control proporciona una lista de selección compacta con desplazamiento que permite realizar la selección del elemento o los elementos especificados. Boolean. multipleselect).add(“amarillo”). colores. bolean on).addIte mListener(this).add(“azul”). List tiene los siguientes constructores: List (int numrows). si este Checkbox no pertenece a ningún grupo debe ser nulo. nu meros = ne w List (3). El tercer formato crea un Checkbox cuya etiqueta viene especificada por str y cuyo grupo está especificado por cbgroup. colores. numeros. en caso de ser false solo puede seleccionar un elemento. add(alimentos). Boolean on). aficion. el Checkbox está inicialmente seleccionado.pdffactory. nu meros. true). El primer formato crea un Checkbox cuya etiqueta está especificada en str y el estado del Checkbox aparece como no seleccionado.add(“uno”). Checkbox (String str.

0. add(horizontal). horizontal.pdffactory. int initialvalue. max.HORIZONTAL. Una barra de desplazamiento puede tener varios elementos. Las barras de desplazamiento puedes ser horizontales o verticales. Cada extremo tuene una flecha en la que puede hacer clic para mover una unidad en la dirección de la flecha el valor actual de la barra de desplazamiento. By: m @ gh 43 PDF created with pdfFactory Pro trial version www. 0. width).VERTICAL. 0. El primer formato permite crear una barra de desplazamiento. int min. 0. // Agrega las dos barras de desplazamient o a la vent ana add(vertical). El segundo formato permite crear una barra de desplazamiento. el numero de unidades que representa la altura del cuadro es tamaño. int max). en relación a sus valores mínimo y máximo lo indica un cuadro o caja de deslizamiento.com . La clase Scrollbar define los siguientes constructores: Scrollbar (int style). height). horizontal = new Scrollbar (Scrollbar.addAdjusmentListener (this). los valores minimo y maximo de los elementos se especifican con min.Curso Básico de Java 2 By: m @gh Control Scrollbar (barras de desplazamiento) Este control se utiliza para seleccionar valores continuos entre un mínimo y un máximo especificados. style define si es vertical u horizontal. el valor inicial de la barra se pasa son initialvalue.addAdjusmentListener(this). El valor actual de la barra de desplazamiento. Ejemplo: // Creació n de dos barras de desplazamiento vertical = new Scrollbar (Scrollbar. vertical. que el usuario puede arrastrar hasta una nueva posición. Scrollbar (int style. style define si es vertical u horizontal. // Define un método para recibir los eventos de aju ste en las barras // de desplazamiento. 1. 1. int tamaño.

public void init() { barra = new Scrollbar(Scrollbar.Curso Básico de Java 2 By: m @gh ? Ejemplo 28.pdffactory. 5 0.a wt. 5 0. repaint(). 70).Applet. g. 50). 0. import java.com . private int edad = 0.drawString("Tu edad es " + edad.a wt. 100). barra. 50.drawString ("eres mayor de edad".addAdjust mentListener(this). } else { g. 1.*. import java. 50. 70). diseñamos un applet que visualice la edad de la persona. g. public class MenorMayorEdad e xtends Applet imple ments Ad just mentListener { private Scrollbar barra. add(barra).HORIZONTAL.drawString("Tu edad es " + edad. } } public void adjust ment ValueChanged(Ad just mentEvent e vent) { edad = barra. permitiendo al usuario modificarla a traves del Control Srcollbar. } public void paint(Graphics g) { if (edad > 17) { g.getValue().applet.drawString ("eres menor de edad ". } } By: m @ gh 44 PDF created with pdfFactory Pro trial version www.event. 0. *. 50). import java.

50). 10. public class ContarPulsaciones extends Applet imple ments ActionListener { private Button contador. *. add(contador). diseñamos un applet que permite al usuario conocer el numero de veces que ha presionado el boton. repaint().pdffactory. public void init() { contador = ne w Button("Opri ma aquí").a wt.com . private int cuenta = 0.*. import java.a wt. contador. } } By: m @ gh 45 PDF created with pdfFactory Pro trial version www. import java.drawString("Ocasiones que ha presionado el boton: " + cuenta.addActionListener(this).Curso Básico de Java 2 By: m @gh ? Ejemplo 29. import java.event. } public void paint(Graphics g) { g.*. } public void actionPerformed(ActionEvent event) { cuenta++.applet.

event. 50.100). 50.pdffactory. else if (edad >10) g. diseñamos un applet que permite al usuario teclear la edad de una persona.drawString("Eres un Jovencito". 100).*.addActionListener(this). } } By: m @ gh 46 PDF created with pdfFactory Pro trial version www. El applet indicara que tipo de edad tiene. 50. else if (edad >20) g. } public void actionPerformed(ActionEvent event) { edad=Integer. edadCa mpo.com .drawString("Tu edad es " + edad. import java.parseInt(edadCa mpo. 50).drawString("Eres un Niño".Curso Básico de Java 2 By: m @gh ? Ejemplo 30.drawString("Eres un Adulto". add(edadCa mpo).a wt. 50. if (edad >30) g.100). else g. repaint(). *.a wt. 50. import java. public void init() { edadCa mpo=ne w Te xtField(10).get Text()).drawString("Eres un Joven".applet. public class VerificaEdad extends Applet imple ments ActionListener { private TextField edadCampo.100).*. import java. private int edad. } public void paint (Graphics g) { g.

org By: m @ gh 47 PDF created with pdfFactory Pro trial version www. 2001 REFERENCIAS WEBGRAFICAS: http://www.com .0/do wnloa d.5.com/cursos/ http://www.jsp http://www.com.co m/ java/tuto riales/J2SE/ http://www. Edición.Curso Básico de Java 2 By: m @gh REFERENCIAS BIBLIOGRAFICAS: Programación en Java 2 Luis Joyanes Aguilar / Ignacio Zahonero Martinez McGrawHill 1era. 2002 Manual de Referencia de Java 2 Herbert Schildt Osborne-McGrawHill 4ta.co m/ j2se/1.pdffactory.sun. Edición.jgrasp.desarrolloweb.elguruprogra mador. ar/ http://www.progra ma cion.co m/ manuales/57/ SOFTWARE UTILIZADO: http://ja va.lawebdelprogramador.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->