Está en la página 1de 53

Programacin I (Java) OBJETIVO DE LA MATERIA: El estudiante comprender y aplicar los conceptos de la orientacin a objetos en la estructuracin de programas utilizando un lenguaje

de programacin para la solucin de problemas. PROGRAMA I. Fundamentos del lenguaje. I.1. Introduccin al lenguaje y a su entorno de desarrollo. I.2. Comentarios. I.3. Variables y constantes. I.4. Objetos que permiten E/S por consola. I.5. Operadores. I.6. Tipos de datos. I.6.1. Fundamentales. I.6.2. Definidos por el usuario. I.7. Palabras reservadas. I.8. Expresiones. I.9. Estructuras de control. I.9.1. Asignacin. I.9.2. Seleccin. I.9.3. Ciclos. II. Subprogramas (Mtodos). II.1. Definicin de un subprograma (Mtodos). II.1.1. Estructura de un subprograma. II.1.2. Valor de retorno. II.2. Declaracin de un subprograma. II.3. Bibliotecas o librera de subprogramas. II.4. Primer acercamiento a Clases y Objetos. II.5. mbito y tiempo de vida de variables. II.6. Argumentos y paso de parmetros. II.7. Sobrecarga de subprogramas. II.8. Recursividad. III. Punteros, referencias y arreglos. III.1. Creacin. III.2. Operaciones con punteros. III.3. Referencias III.4. Arreglos unidimensionales, bidimensionales y multidimensionales. III.5. Cadenas de caracteres. III.6. Asignacin dinmica de memoria. III.7. Uso de clases predefinidas para arreglos.

IV. Clases y Objetos. IV.1. Definicin de una clase. IV.2. Declaracin de clases. IV.3. Miembros de una clase. IV.4. mbito referente a una clase. IV.5. Especificadores de acceso. IV.6. Creacin de objetos. IV.7. Puntero this. IV.8. Constructores y destructores. V. Herencia. V.1. Importancia de la herencia en la POO V.2. Jerarqua de herencia. V.3. Conceptos de Herencia simple y mltiple. V.4. Principios generales de diseo de jerarquas. V.5. Especificadores de acceso a jerarqua de clases. V.6. Definicin de una clase base. V.7. Definicin de una clase derivada V.7.1. Constructores y destructores de clases derivadas. V.7.2. Conversin implcita de objetos de clase derivada a objeto de clase base. V.8. Herencia mltiple. VI. Polimorfismo. VI.1. Concepto de polimorfismo. VI.2. Clase base abstracta. VI.3. Subprogramas virtuales. VI.4. Destructores virtuales. VII. Archivos. VII.1. Clases de E/S Clase base abstracta. VII.2. Realizar entrada y salida de texto. VII.3. Leer y escribir archivos. VII.4. Realizar entrada y salida binaria. Bibliografa:
Paul J. Deitel / Harvey M. Deitel Cmo programar en Java, 7. Edicin, 2008 Pearson, Prentice Hall

Anthony Sintes Aprendiendo Programacin Orientada A Objetos en 21 lecciones avanzadas con Java, 2002 Pearson Educacin

Bjarne Stroustrup El Lenguaje de programacin C++ Addison-Wesley/Daz de Santos

Bruce Eckel Aplique C++ Mc. Graw Hill

Herbert Schilt C# Manual de Referencia, 2003 Mc. Graw Hill

Templeman Jukian y Oslen Andy Microsoft Visual C++.NET aprenda ya Mc Graw Hill

Schildt C++ Gua de auto enseanza Mc Graw Hill

Herbert Schilt Fundamentos de Java 2, 2003 Mc Graw Hill

Fechas de Exmenes Examen 1er 2. 3er Regularizacin Extraordinario I Fecha 4 de Marzo 2010 15 de Abril 2010 3 de Junio 8 de Junio del 2010 11 de Junio de 2010 Unidades I y II III y IV V, VI y VII

I. Fundamentos del lenguaje. Java, es desarrollo de Sun Microsystem en 1995, es un lenguaje de programacin orientado a objetos, una de sus principales caractersticas es que permite operar de forma independiente a la plataforma y al sistema operativo. Esto quiere decir que al crear una aplicacin esta puede correr en cualquier plataforma de hardware o software. Por ejemplo una aplicacin hecha en C++ y con el sistema operativo Windows, solamente podr ejecutarse en otra maquina con este sistema operativo pero no se podr ejecutar en plataformas Unix/Linux, Mac OS / Power PC. La idea de Java, es poner una capa sobre la plataforma de hardware y una capa sobre el sistema operativo que permite que cualquier aplicacin desarrollada en Java quede ligada nicamente a Java, independiente de la plataforma. Esta concepcin queda recogida bajo el concepto de Mquina Virtual de Java JVM (Java Virtual Machine), un software que interpreta instrucciones para cualquier equipo sobre la que este corriendo y que permite, una vez instalado, que una misma aplicacin pueda funcionar en una PC o en una Mac. Hoy en da, cualquier sistema operativo moderno (Windows en todas sus modalidades, Macintosh, Unix, Linux, Solaris, etc.) cuenta con JVM, el cual acta como una capa de abstraccin entre un programa y el sistema operativo, otorgando una total independencia. Se puede decir que Java es un lenguaje de computacin universa, lo que significa que puede correr en cualquier plataforma siempre y cuando una JVM haya sido instalada en ella. Java es un descendiente de C++ que a su vez es descendiente directo de C. Muchas de las caractersticas de estos lenguajes se han heredado a Java. De l lenguaje C heredo su sintaxis y de C++ la programacin orientada a objetos, adems de gestin de memoria, soporte multihilos. Java es ms fcil de aprender y ms fcil de utilizar que C++ ya que las caractersticas ms complejas de C++ han sido eliminas de Java: como son los punteros (apuntadores) y sentencias goto entre otras. Historia de Java El diseo original de Java fue concebido por James Gosling, Patrick Naughton, Chris Warth, Ed Frank y Mike Sheridan, ingenieros de Sun Microsystem. El proyecto original se le denomino Green, comenz apoyndose en C++, pero a medida que se progresaba se encontraron dificultades de portabilidad. Para evitar estas dificultades decidieron crear su propio lenguaje y en 1991 naci un nuevo lenguaje orientado a objetos al cual se le llamo Oak debido al roble que Gosling tenia a la vista desde su ventana en las oficinas de Sun. Sorprendentemente, las inquietudes originales para la creacin de Oak no era Internet. En realidad, se buscaba un lenguaje independiente de la plataforma (es decir, de arquitectura neutra) que se pudiera utilizar para crear software que se

incrustara en dispositivos electrnicos diversos tales como controles remotos, hornos de microondas, televisores y electrodomsticos en general. A mitad de 1993 se lanz Mosaic, el primer navegador para Web, y comenz a crecer el inters por Internet (y en particular por Word Wide Web). Entonces se rediseo el lenguaje para desarrollar aplicaciones en Internet, y en enero de 1995 surgio Java, este nombre se lo dieron porque el grupo de trabajo visitaba con frecuencia una cafetera local donde Java es una variedad de caf que les servan en ese lugar. Sun lanz en el entorno JDK 1.0 (Java Development Kit) en 1996, desde entonces se han lanzado diferentes versiones, aunque la primer versin comercial se denomino JDK 1.1 y se lanzo en a principios de 1997. Versiones de Java Sun ha lanzado 5 versiones de Java: Java 1.0 Pequea versin centrada en la Web disponible uniformemente para todos los navegadores populares, lanzamiento 1996. Mejoras en la interfaces del usuario, manipulacin de eventos, reescritura totalmente y una tecnologa de componentes llamada JavaBeans, lanzamiento 1997. Una versin ampliada significativamente, con caractersticas de interfaces graficas de usuario, conectividad de bases de datos y muchas otras mejoras, lanzamiento 1998. Aade caractersticas notables como multimedia mejorada, ms accesibilidad y compilacin ms rpida, lanzamiento 2000. Posibilidad de trabajar con XML, lanzamiento 2001. Esta versin es conocida como Mustang

Java 1.1 con JDK 1.1

Java 2 con JDK 1.2

Java 2 con JDK 1.3

Java 2 con JDK 1.4

Java 2 con JDK 1.6

Para bajar la versin mas reciente consulte java.sun.com/javase/6/download.jsp.

Evolucin de las versiones de Java Java tiene tres grandes especificaciones la cuales son: J2SE Java 2 Standard Edition / Java 2 Edicin Estndar .Conjunto de herramientas para construir aplicaciones en Java. Java 2 Enterprise Edition / Java 2 Edicin Empresarial. Orientada a desarrolladores de aplicaciones de red distribuidas de gran escala y aplicaciones basades en Web, por ejemplo de grades fabricantes estan IBM, Nokia, Motorota, HP (hewlett-Packard) y otros ms. Java 2 Micro Edition / Java 2 Edicin Micro. Orientada hacia el desarrollo de aplicaciones para dispositivos pequeos, con memoria limitada, como los telfonos celulares, radiolocalizadores, PDAs (Personal Digital Assistant / Asistente Digital Personal)

J2EE

J2ME

Instalacin de Java Pasos para la instalacin de j2sdk: 1. Tener el archivo jdk-6u18-windows-i586.exe y ejecutarlo

Se mostrar en pantalla que se esta preparando para la instalacin y posteriormente aparecer la pantalla de licencia (ver fig. 1), hacer clic en Accept.

Figura 1

2.

Posteriormente se mostrara la forma de instalacin:

Figura 2 3. Y a continuacin despliega el avance de la instalacin, para finalmente mostrar la venta de la figura 3 donde indica que se instalo correctamente.

Figura 3

Los archivos ms importantes instalados: javac.exe java.exe javadoc.exe appletviewer.exe jdb.exe El copilador de Java. El lanzador para las aplicaciones de Java. Generador de documentacin API (Application Programming Interface / Interfaces de Programacin de Aplicaciones). Visualizador de applets sin necesidad de navegador Web. El Depurador de Java.

Ventana de DOS y algunos comandos La ventana de DOS (Disk Operating System), es una aplicacin que se encuentra en Inicio/Programas Todos los Programas-/Accesorios/ . En esta ventana ejecutaremos algunos comandos internos (almacenados en el command.com) y externos (extensin .exe. com. y .bat) para generar una aplicacin. Comandos: Dir.Mkdir (md).RmDir (rd).ChDir (cd).Del (erase),Cls.Rename (ren) Despliega el contenido del directorio actual. Crea una carpeta, ejemplo md Java. Elimina un directorio que se encuentre vaci, ejemplo rm Java. Cambia de directorio. Ejemplo cd Java, cd .. Borra archivos, ejemplo del *.txt borra. Limpia pantalla Renombra archivos. Ejemplo ren *.txt *.java.

Especificaciones del lenguaje Las especificaciones es una definicin tcnica del lenguaje que incluye sintaxis, estructura e interfaces de programacin de aplicaciones (API, Application Programming Interface) que contiene clases predefinidas. La versin actualizada de las APIs las puede encontrar en www.sun.com o www.javasoft.com.

Adems de Sun existen otras compaas que generan entornos de desarrollo para Java, entre estas se encuentran: Caf de Sysmantec Visual Age for Java by IBM JFactory de Roge Wave JBuilder de Imprise Visual J++ de Microsoft www.symantec.com www.ibm.com www.rogewave.com www.imprise.com www.microsoft.com

I.1. Introduccin al lenguaje y a su entorno de desarrollo. Estructura general de un programa en Java import Importacin de paquetes con clases predefinidas. public class NombreDeLaClase { // Este nombre debe de coincidir con el nombre fsico del archivo fuente y debe tener extensin .java

Declaracin de variables miembro de la clase public static tipo main (String[] args) { // Tambin (String args[]) puede especificarse as. Declaracin de variables locales Sentencias de la funcin main() [return tipo;] } Definicin de mtodos de la clase acceso static tipo NombreDelMtodo1 (Lista de Argumentos) { Declaracin de variables del mtodo 1 Sentencias del mtodo 1 [return tipo;] }

acceso static tipo NombreDelMtodo2 (Lista de Argumentos) { Declaracin de variables del mtodo 2 Sentencias del mtodo 2 [return tipo;] } } Etapas para la generacin de una aplicacin en Java Las etapas clsicas son: edicin, compilacin, depuracin y ejecucin de un programa. Edicin: Existen numerosos entornos de programacin de Java (SDK Software Development Kit / Entorno de Desarrollo de Software) disponibles en el mercado, dada uno con sus propias caractersticas y funcionalidades, dejaremos que usted decida cual es el mejor que se adecue a sus necesidades. Veremos la edicin de los programas desde un editor bsico. La edicin es el proceso de capturar en un archivo fuente los comandos, los cuales realizaran las acciones o tarea encomendada. El archivo fuente debe de tener el mismo nombre de la clase definida y extensin .java.

Programa HolaMundo.java

Nota.-

Asegrese que el nombre coincida exactamente con el nombre de la clase (En Maysculas y Minsculas) debido a que Java es sensible a las maysculas. Al salvar el archivo fuente en tipo seleccione Todos los archivos.

Compilacin: Una vez terminado el archivo fuente, desde una ventana de DOS debe correr el comando externo java.exe conjuntamente con el nombre del archivo fuente, de la siguiente forma: javac HolaMundo.java. Ejecucin: Ahora para correr el programa ejecute el comando externo java.exe seguido del archivo de cdigo de byte (bytecode) que tiene la extensin .class pero sin extensin, de la siguiente forma: java HolaMundo.

Depuracin:

Es el proceso de quitar los errores de sintaxis, los errores de ejecucin y los errores lgicos.

o Errores de sintaxis.- Ocurren cuando una o varias sentencias violan una o ms reglas gramaticales de Java. o Errores de ejecucin.- Son errores que producen una terminacin anmala o una terminacin no esperada en tiempo de ejecucin, por ejemplo una divisin por cero. o Error lgico.- Es cuando un programa no realiza la operacin que estaba prevista. Ejemplo: Error de Sintaxis:

Al compilar obtendremos el siguiente error:

Error de Ejecucin:

Al compilar y ejecutar tendremos:

Error de Lgico:

Al compilar y ejecutar tendremos:

Otros Ejemplos de Hola Mundo: Hola Mundo utilizando la clase JOptionPane:

La lnea import javax.swing.JOptionPane; es la sentencia que declara la importacin de la clase JOptionPane, la cual se encuentra en el paquete javax.swing. Este paquete tiene muchas clases que ayudan a los programadores en Java a crear interfaces grficas de usuarios (GUIs por sus siglas en ingles). Esta sentencia JOptionPane.showMessageDialog(null, "Hola Mundo" ); llama al mtodo showMessageDialog de la clase JOptionPane, al cual le enviamos dos argumentos, el primero determina la posicin de la ventana en la pantalla, si es null la pondr en el centro y el segundo, es la cadena que vamos a desplegar dentro de la ventana. En la lnea System.exit( 0 ); utiliza el mtodo exit de la clase System para terminar la aplicacin. Esta clase pertenece al paquete java.lang el cual se carga por defecto sin tener que importarlo con la sentencia import. Diagrama de flujo de la depuracin de un programa:
Inicio Editar Programa Fuente Compilar Programa Fuente

Errores de Sintaxis
No

Si

Errores en Tiempo de Ejecucin


No

Si

Errores Lgicos
No

Si

fin

Producto de Aprendizaje: Implemente los programas de HolaMundo y HolaMundoJOptionPane. I.2. Comentarios.

Los comentarios sirven para documentar los programas, adems que ayudan a los programadores a comprender las acciones que realizan los programas, mtodos o sentencias en un programa. En Java existen dos formas de definir comentarios, estos son: Cometarios por Lnea: Se utilizan dos barras verticales // y despus el comentario. Se utiliza una barra vertical y un asterisco, posteriormente se ponen los comentarios, los cuales pueden utilizar varias lneas y para terminar el comentario se emplea un asterisco y una barra vertical. /* comentario */.

Comentarios por Bloque:

Ejemplo: Comentario por lnea: // Mi primer programa en Java // Elaborado el 20 de Agosto de 2005 // En la materia de programacin Cometario por Bloque: /* Mi primer programa en Java Elaborado el 20 de Agosto de 2005 En la materia de programacin */ Cuando el compilador encuentra un comentario, este ignora todo lo que este dentro de l. I.3. Variables y constantes. Antes de ver las variables definiremos los tipos de datos primitivos que existen en el Java. En la siguiente tabla presentamos los 8 tipos de dato primitivos, el nmero de bits que ocupan y el rango de valores que pueden tomar.

Tipo boolean char byte short int long

Tamao en bits 1 16 8 16 32 64

Rango de valores true o false Nota: El No. de bits puede variar segn la plataforma \u0000 hasta \uFFFF' Conjunto Unicode de ISO -128 a +127 -27 a 27 1 -32,768 a +32,767 -215 a 215 1 -2,147,483,648 a +2,147,483,647 -231 a 231 1 -9,223,372,036,854,775,808 a +9,223,372,036,854,775,807 -263 a 263 1 Rango negativo: -3.4028234663852886E+38 hasta -1.40129846432481707E-45 Rango positivo: 1.40129846432481707E-45 hasta 3.4028234663852886E+38 Rango negativo: -1.797693134862157E308 hasta -4.94065645841246544E324 Rango positivo: 4.94065645841246544E324 hasta 1.797693134862157E308

float

32

double

64

Tokens elementos lxico de los programas Existen 5 clase de tokens: identificadores, palabras reservadas, literales, operadores y otros. Identificadores Los identificadores pueden representar variables, constantes, mtodos, nombres de archivos, etc.

Diagrama de contexto de los identificadores:

Regla para formar un identificador: 1. 2. 3. 4. 5. 6. Debe comenzar por una letra Despus de la 1er. Letra puede contener letras, dgitos o guin de piso No estn permitidos los espacios en blanco No deben formar palabras reservadas Java es sensibles a las maysculas y minsculas En Java la longitud de los identificadores no tiene lmite.

Variables Una variable es un identificador donde se almacena un valor con un cierto tipo de dato. Las variables de tipos bsicos almacena datos del tipo primitivos, las variables de clases o variables de objetos, hacen referencias a objetos. Una constante es una variable cuyo contenido no puede ser modificado. Declaracin de variables Ejemplo:
tipo identificador

int x, y; float a, b, c; char letra1; Inicializacin de variables

Una de las variantes que se puede hacer en una declaracin es inicializar una variable con un valor a ser declarada.

tipo

identificador

Expresin

,
Ejemplos: int x, y = 0; float a, b, c = 100.0f; char letra1 = A; Se pueden declarar una variable en tres lugares: o En una clase, como miembro de clase o Al principio de un mtodo o bloque de cdigo o En el punto de utilizacin.

Ejemplo de las tres formas de declarar una variable:

Constantes En Java puede distinguirse dos tipos de constantes: o o Constantes Literales Constantes Declaradas

Constantes Literales Las constantes literales se clasifican en cuatro tipos: o o o o Constantes Enteras Constantes de Punto Flotante Constantes Carcter Constantes Cadena

Constantes Enteras: Las constantes enteras requieren seguir las siguientes reglas: o No utilizar signo de puntuacin o separacin por comas. 1250 en lugar de 1,250 o 1250.0. Para un valor tipo long forzar la conversin poniendo una letra L mayscula o minscula al final del nmero. 1024 (Por defecto Java toma como int todas las cifras enteras) y 1024L (representa un tipo de dato long). Para representar un nmero Octal (base 8) debe comenzar con un 0 (cero) y posteriormente los dgitos en octal (los nmeros deben estar en un rango de 0 al 7). Por ejemplo el nmero 511 en decimal es el nmero 0777 en octal. Para representar un nmero en Hexadecimal (base 16), se utiliza el prefijo 0x o 0X y posteriormente los nmeros en hexadecimal (incluyendo las letras A, B, C, D, E y F). Por ejemplo el nmero 511 en decimal se representa con 0x1FF en hexadecimal.

Constantes de Punto Flotante: Una constante de punto flotante representa un nmero real; -820.375 o 0.00002787, tambin se puede representar en notacin cientfica: -8.20375E+02 o 2.787E-05. El lenguaje Java asume por defecto que todas las constantes reales son del tipo double, si desea inicializar una variable tipo float debe utilizar el prefijo f o F al final de nmero: float c = 100.0f;

Constantes Carcter: Una constante carcter es un char encerrado entre comillas sencillas: A, c. Tambin se pueden representar mediante el formato \nnn, siendo nnn un nmero octal, por ejemplo el carcter de sigma () con cdigo ASCII 228 y octal 344 se representa: char sigma = \344;. Dado que un dato tipo char ocupa 2 bytes y el rango de caracteres del cdigo ASCII es de 0 a 255 (0 a 377 en octal), por lo tanto ocupa el byte de menor peso de los dos bytes que ocupa el tipo char. Otra forma de representar caracteres es con el formato hexadecimal \uhhhh, donde hhhh es un nmero hexadecimal que representea un carcter del cdgo Unicote, por ejemplo: char diagonal = \u1111. Adems ciertos caracteres especiales utilizan la diagonal invertida (\), al cual se le llama carcter de escape. Carcter de Escape \n \r \t \b \f \\ \ \ \000 \uhhhh Aritmtica con caracteres Java Es posible realizar operaciones aritmticas sobre datos tipo carcter, por ejemplo: char c; c = (char) 'T' + 5; System.out.println( c ); Dado que el cdigo ASCII de la letra T es 84 y al sumamos 5 produce un 89, ahora por medio de un cast lo convertimos al tipo char obtendremos la letra Y. Constantes Cadena: Una constante cadena es un conjunto de caracteres encerrados entre comillas dobles: Cadena Vacia Hola Mundo 123 @#$%^& Descripcin Nueva lnea Retorno de carro Tabulador Retroceso Avance de pgina Diagonal invertida Comilla sencilla Comilla doble Nmero octal Nmero hexadecimal

Se puede concatenar cadenas utilizando el operador +: ABC + 123 + $%& equivale a: ABC123$%& Los caracteres de escape pueden incluirse en una constante cadena, ejemplo: Este es un ejemplo\n de cmo funciona los caracteres de escape\ten una cadena Este es un ejemplo de cmo funciona los caracteres de escape Constantes Declaradas Por medio del cualificador final permite dar nombres simblicos a constantes.

en una cadena

final tipo

identificador

Valor

Ejemplo: final int MESES = 12; // Constante simblica final float IVA = 0.15f; final char COMA = ,; Una constante simblica especifica que el valor no puede ser modificado durante la ejecucin del programa, se puede decir que el valor es final y por tanto no puede ser modificado. Los nombres de las constantes se acostumbra escribirlos con letras maysculas. I.4. Objetos que permiten E/S por consola. En Java, la entrada y salida se lee y escribe en flujos (streams). La fuente bsica de entrada de datos es el teclado y la fuente de salida es pantalla. La clase System define dos referencias a objetos static para la gestin de entrada (in) y salida (out). Salida (System.out) El objeto out definida en la clase System est asociado con el flujo de salida, que dirige los datos a consola y permite visualizarlos en pantalla, por ejemplo: System.out.println(Esta es una cadena); Se visualizar en pantalla: Esta es una cadena.

Descripcin del mtodo print: void print(cadena) Despliega una cadena en pantalla.

void println(cadena) Despliega una cadena en pantalla y al final un carcter de nueva lnea (\n). Con estos mtodos se puede escribir cualquier cadena o dato de los tipos primitivos, como por ejemplo. System.out.println( "Valores de las Variables: \n" + "a=" + a +"\n" + "b=" + b +"\n" + "x=" + x +"\n" + "y=" + y ); Entrada (System.in)

Por medio de un objeto Scanner se puede leer datos desde un programa, esta clase pertenece al paquete java.util y debe ser importada. Para poder utilizarlo instancie un objeto de la siguiente forma: Sacanner identificador = new Scanner (System.in);

Esta expresin crea un objeto Scanner y determina que leer los datos desde teclado mediante los siguientes mtodos: identificador.nextBoolean() identificador.nextByte() identificador.nextShort() identificador.nextInt() identificador.nextLong() identificador.nextFloat() identificador.nextDouble() identificador.next() identificador.nextLine() Para Booleanos Para nmeros Enteros tipo byte Para nmeros Enteros tipo short Para nmeros Enteros tipo int Para nmeros Enteros tipo long Para nmeros flotantes Para nmeros doubles Para el siguiente token Para una lnea

El siguiente ejemplo lee dos nmeros enteros desde Windows, los suma y muestra el resultado en una ventana.

Al convertir datos tipo String a tipo int (con Integer.parseInt()) manda una excepcin de formato de numero si ocurre un error.

El mtodo showMessageDialog de la clase JOptionPane tiene varias formas de enviarles parmetros: public static void showMessageDialog(Component componentePadre, Object Mensaje) Donde los parametros: componentePadre Mensaje Determina la ventana en que se desplegara el mensaje, si es null, se despliega en la ventana por defecto. Objeto a desplegar

public static void showMessageDialog(Component componentePadre, Object Mensaje, String Titulo, int TipodeMensaje) Donde los parametros: componentePadre Mensaje Titulo TipodeMensaje Determina la ventana en que se desplegara el mensaje, si es null, se despliega en la ventana por defecto. Objeto a desplegar Cadena de characters de la caja de dialogo Valor entero que determina que imagen se despliega segn la siguiente tabla: Icono Descripcin Ventana de Error Ventana Informativa

Tipo de cuadro de dilogo de mensaje JOptionPane.ERROR_MESSAGE JOptionPane.INFORMATION_MESSAGE

Tipo de cuadro de dilogo de mensaje JOptionPane.WARNING_MESSAGE

Icono

Descripcin Ventana de Advertencia Ventana de introduccin de datos o seleccin de alguna alternativa

JOptionPane.QUESTION_MESSAGE

JOptionPane.PLAIN_MESSAGE Producto de Aprendizaje:

Sin Icono

Ventana estndar

Elabore un programa en Java que lea tres calificaciones e imprima el promedio. Clases correspondientes a los tipos bsicos Java proporciona la declaracin de una clase para cada uno de los tipos bsicos, denominadas clases envoltorio. Estas clases estn incorporadas en el paquete java.lang, el cual se importa automticamente en todos los programas de Java. Clase Boolean Ayuda a manipular los valores boolean mas fcilmente. Campos final static Boolean FALSE Descripcin Objeto Boolean constante con valor false (falso) Objeto Boolean constante con valor true (verdadero)

final static Boolean TRUE

Mtodos

Descripcin Crea un Objeto Boolean con el valor especificado en s. Si s tiene un valor de true asigna este valor, en caso contrario asigna un valor de false.

Boolean (String s)

Mtodos Boolean (boolean valor)

Descripcin Crea un Objeto Boolean con el valor boolean especificado. Regresa el valor almacenado en el Objeto Boolean. Regresa true si el otroObjeto es un boolean con el mismo valor. Regresa el valor del Objeto Boolean tipo String. Regresa un Objeto Boolean y le asigna el valor de la cadena especificada.

boolean booeleanValue()

boolean equals(Object otroObjeto)

String toString()

static Boolean valueOf(String s)

Clase Character

Clase contenedora para manejar valores char. Descripcin Crea un Objeto Character con el valor especificado Regresa el valor del Objeto Character. Convierte un dgito representado por ch, a un int en la base especificada. Regresa true si otroObjeto es un Character con el mismo valor char. Regresa un char que representa el valor del digito en la base especificada. Regresa true si el valor de char se encuentra entre 0 a 9. Regresa true si ch es una letra.

Mtodos Character(char valor) Character charValue() static int digit(char ch, int base)

boolean equals(Object otroObjeto)

static char forDigit(int digito, int base)

static boolean isDigit(char ch) static boolean isLetter(char ch)

Mtodos static boolean isLetterOrDigit(char ch) static boolean isLowerCase(char ch)

Descripcin Regresa true si ch es una letra o digito. Regresa true si ch es una letra minscula. Regresa true si el valor de ch es: b, \t, \f, \n o \r. Regresa true si ch es una letra mayscula. Regresa el valor de ch como letra minscula. Regresa el valor del Objeto Character como una cadena. Regresa el valor de ch como letra mayscula.

static boolean isSpace(char ch)

static boolean isUpperCase(char ch)

static char toLowerCase(char ch)

String toString()

static char toUpperCase(char ch)

Clase Double

Clase envoltorio para manejo de valores double. Campos Descripcin Valor mximo de un double 1.797693134862157E308 Valor mnimo de un double -4.94065645841246544E324
Este valor especial representa un double que no es un nmero (Not a Number). Se le asigna el valor 0.0/0.0. No es igual a nada, ni siquiera a s mismo.

final static double MAX_VALUE

final static double MIN_VALUE

final static double NaN

final static double NEGATIVE_INFINITY Infinito negativo -1.0/0.0. final static double POSITIVE_INFINITY Infinito positivo 1.0/0.0

Mtodos Double(double valor)

Descripcin Crea un Objeto Double con el valor especificado Crea un Objeto Double, asumiendo que s representa un valor double vlido. Regresa el valor del Objeto Double. Regresa true si otroObjeto es un Double y tiene el mismo valor. Regresa el valor double como un float. Regresa el valor double como int.
Regresa true si el valor del double es POSITIVE_INFINITY o NEGATIVE_INFINITY. Regresa true si el valor de d es igual a POSITIVE_INFINITY o NEGATIVE_INFINITY Regresa true si el valor del double es NaN.

Double (String s) throws NumberFormatException

double doubleValue() boolean equals(Object otroObjeto) float floatValue() int intValue() boolean isInfinite() static boolean isInfinite(double d)
boolean isNaN()

static boolean isNaN(double d) long longValue()


static double parseDouble(String s) throws NumberFormatException

Regresa true si el valor del d es igual al valor NaN. Regresa el valor del double como long. Regresa un double representado por el String s. Regresa el valor del double como cadena. Convierte el double d a una cadena. Convierte la cadena especificada a un Objeto Double.

String toString() static String toString(double d)


static Double valueOf(String s) throws NumberFormatException

Clase float Clase envoltorio para manejo de valores de punto flotante. Campos final static float MAX_VALUE Descripcin Valor mximo de un float 3.4028234663852886E+38 Valor mnimo de una float -1.40129846432481707E-45 Este valor especial representa un float que no es un nmero (Not a Number). Se le asigna el valor 0.0/0.0. No es igual a nada, ni siquiera a s mismo. Infinito negativo -1.0/0.0. Infinito positivo 1.0/0.0

final static float MIN_VALUE

final static float NaN

final static float NEGATIVE_INFINITY final static float POSITIVE_INFINITY

Mtodos Float(float valor) Float(double valor)

Descripcin
Crea un Objeto Float con el valor especificado.

Crea un Objeto Float con el valor double especificado. Crea un Objeto Float, asumiendo que s representa un valor float vlido. Regresa el valor del Objeto Float como un double. Regresa true si otroObjeto es un Float y tiene el mismo valor. Regresa el valor float del Float. Regresa el valor float como int.

Float (String s) throws NumberFormatException

double doubleValue()

boolean equals(Object otroObjeto) float floatValue() int intValue()

Mtodos boolean isInfinite() static boolean isInfinite(float f)

Descripcin
Regresa true si el valor del float es POSITIVE_INFINITY o NEGATIVE_INFINITY. Regresa true si el valor de f es igual a POSITIVE_INFINITY o NEGATIVE_INFINITY

boolean isNaN()

Regresa true si el valor del float es NaN. Regresa true si el valor del f es igual al valor NaN. Regresa el valor del float como long. Regresa un float representado por el String s. Convierte la cadena especificada a un Objeto Float. Regresa el valor del float como cadena. Convierte el float d a una cadena.

static boolean isNaN(float f) long longValue()


static float parseFloat(String s) throws NumberFormatException

static Float valueOf(String s) throws NumberFormatException

String toString() static String toString(float d) Clase Integer

Clase envoltorio para manejo de valores int. Campos Descripcin Valor mximo de un int 2,147,483,647 Valor mnimo de una int -2,147,483,648

final static int MAX_VALUE final static int MIN_VALUE

Mtodos Integer(int valor)

Descripcin Crea un Objeto Integer con el valor especificado.

Mtodos Integer (String s) throws NumberFormatException double doubleValue()

Descripcin Crea un Objeto Integer, asumiendo que s representa un valor int vlido. Regresa el valor del Objeto Integer como un double. Regresa true si otroObjeto es un Integer y tiene el mismo valor. Regresa el valor Integer como float. Regresa el valor del int. Regresa el valor del int como long. Regresa un int representado por la String s. Regresa un int representado por el String s en la base especificada. Regresa una String que representa al entero i en base binario sin signo. Regresa un String que representa al entero i en base hexadecimal sin signo. Regresa un String que representa al entero i en base octal sin signo. Regresa el valor int como cadena. Regresa el valor de i como cadena. Regresa el valor de i en la base especificada. Regresa un Objeto Integer con el valor del String s.

boolean equals(Object otroObjeto) float floatValue() int intValue() long longValue() static int parseInt(String s) throws NumberFormatException static int parseInt(String s, int base) throws NumberFormatException static String toBinaryString(int i)

static String toHexString(int i)

static String toOctalString(int i) String toString() static String toString (int i) static String toString(int i, int base) static Integer valueOf(String s) throws NumberFormatException

Mtodos static Integer valueOf(String s, int base) throws NumberFormatException

Descripcin Regresa un Objeto Integer con el valor del String s en la base especificada.

Clase Long Clase envoltorio para manejo de valores long. Campos final static int MAX_VALUE Descripcin Valor mximo de una long 9,223,372,036,854,775,808 Valor mnimo de una long -9,223,372,036,854,775,808

final static int MIN_VALUE

Mtodos Long(long valor) Long (String s) throws NumberFormatException double doubleValue()

Descripcin Crea un Objeto Long con el valor especificado. Crea un Objeto Long, asumiendo que s representa un valor long vlido. Regresa el valor del Objeto Long como un double. Regresa true si otroObjeto es un Long y tiene el mismo valor. Regresa el valor Long como float. Regresa el valor del long como int. Regresa el valor long. Regresa un long representado por la String s.

boolean equals(Object otroObjeto) float floatValue() int intValue() long longValue() static long parseLong(String s) throws NumberFormatException

Mtodos
static long parseLong(String s, int base) throws NumberFormatException

Descripcin Regresa un long representado por el String s en la base especificada. Regresa una String que representa al entero l en base binario sin signo. Regresa un String que representa al entero l en base hexadecimal sin signo. Regresa un String que representa al entero l en base octal sin signo. Regresa el valor long como cadena. Regresa el valor de l como cadena. Regresa el valor de l en la base especificada. Regresa un Objeto Long con el valor del String s. Regresa un Objeto Long con el valor del String s en la base especificada.

static String toBinaryString(long l)

static String toHexString(long l)

static String toOctalString(long l) String toString() static String toString (long l) static String toString(long l, int base)
static Long valueOf(String s) throws NumberFormatException

static Long valueOf(String s, int base) throws NumberFormatException

Clase String

La Clase String proporciona los mecanismos para el manejo de cadenas. Ya que no se puede cambiar el valor de un String una vez que se ha creado, esta clase se usa principalmente para analizar, manipular y obtener los valores de las cadenas. Aunque hay mtodos que permiten modificar y aadir al valor de la cadena, estos mtodos no modifican el String en si, sino que regresan un nuevo String con los valores deseado. Mtodos Descripcin Crea un Objeto String. Crea un Objeto String basado en el arreglo ch[].

String() String(char ch[])

Mtodos String(String s)

Descripcin Crea un Objeto String con el valor s especificado. Regresa el carcter que se encuentra en la posicin pos. Regresa un int donde: <0 El valor del String es menor al otroString. El valor del String es igual a otroString El valor del String es mayor a otroString.

char charAt(int pos)

int compareTo(String otroString)

>0

String concat(String str) boolean equals(Object otroObjeto) boolean equalsIgnoreCase(String OtroString) int length()

Regresa la concatenacin del String y el str.

Regresa true si otroObjeto es String y tiene el mismo valor. Compara el String con otroString sin importar las maysculas y minsculas. Regresa la longitud del String Regresa la posicin donde se encuentra str en el String, en caso de no encontrarlo regresa 0.
Regresa la posicin donde se encuen-tra str en el String comenzando en la posicin ini.

int indexOf(String str)

int indexOf(String str, int ini)

int indexOf(char ch)

Regresa la primera posicin donde se encuentra ch en el String. Regresa la primera posicin donde se encuentra ch en el String comenzando en la posicin ini.

int indexOf(char ch, int ini)

Mtodos int lastIndexOf(String str)

Descripcin Regresa la ltima posicin donde se encuentra str en el String. Regresa la ltima posicin donde se encuentra str en el String que se encuentre antes de la posicin ini. Remplaza todos los caracteres viejoch por el carcter nuevoch. Regresa una subcadena desde inicio hasta fin. Regresa una subcadena desde inicio hasta final de la cadena. Regresa el valor del String en minsculas Regresa el valor del String. Regresa el valor del String en maysculas. Regresa la String sin los espacios a la izq y der.

int lastIndexOf(String str, int ini)

String replace(char viejoch, char nuevoch) String substring(int inicio, int fin)

String substring(int inicio)

String toLowerCase() String toString() String toUpperCase()

String trim() Static String valueOf(double d) static String valueOf(float f) static String valueOf(long l) static String valueOf(int i) static String valueOf(char ch) static String valueOf(boolean b) Static String valueOf(Object obj)

Regresa un String que contiene el valor del tipo de dato especificado.

Regresa un String que representa una cadena del Object.

Producto de Aprendizaje: Elabore un programa en Java que lea el nombre completo de una persona. El nombre de pila debe estar separado de los apellidos por medio de un asterico: Ejemplo: Jos*Prez Ramos El programa debe de invertir el nombre imprimiendo primero los apellidos y posteriormente el nombre: Ejemplo: Prez Ramos Jos

I.5. Operadores. Los operadores realizan algunas funciones en uno o dos operandos. Los operadores que requieren un operador se llaman operadores unarios y los operadores que requieren dos operandos se llaman operadores binarios. Los operadores unarios en Java pueden utilizar la notacin de prefijo o de sufijo. operador operando operador operador op1 operador op2 La notacin de prefijo significa que el operador aparece antes de su operando. La notacin de sufijo significa que el operador aparece despus de su operando. Todos los operadores binarios de Java tienen la misma notacin, es decir aparecen entre los dos operandos.

Adems de realizar una operacin tambin devuelve un valor. El valor y su tipo dependen del tipo del operador y del tipo de sus operandos.

Operadores Aritmticos Operador + * / % Significado Suma Resta Multiplicacin Divisin Modulo Ejemplo nEsto + nAquello nEsto nAquello nEsto * nAquello nEsto / nAquello nEsto % nAquello

Nota:

El lenguaje Java extiende la definicin del operador + para incluir la concatenacin de cadenas.

Los operadores + y - tienen versiones unarias que seleccionan el signo del operando. Operador + Uso + op - op Descripcin Indica que el valor es positivo Indica que el valor es negativo

Adems, existen dos operadores de atajos aritmticos, ++ y -Smbolo -Sentencia abreviada a-Sentencia no abreviada a=a-1 Descripcin Primero se utiliza el valor de la variable a y despus se decrementa en uno Primero se decrementa en uno el valor de a y despus se utiliza la variable a Primero se utiliza el valor de la variable a y despus se incrementa en uno Primero se incrementa en uno el valor de a y despus se utiliza la variable a

--a

a=a-1

++

a++

a=a+1

++a

a=a+1

Operadores Relacionales Los valores relacionales comparan dos valores y determinan la relacin entre ellos.

Operador > >= < <= == !=

Uso op1 > op2 op1 >= op2 op1 < op2 op1 <= op2 op1 == op2 op1 != op2

Devuelve true si op1 es mayor que op2 op1 es mayor o igual que op2 op1 es menor que op2 op1 es menor o igual que op2 op1 y op2 son iguales op1 y op2 son distintos

I.6. Tipos de datos. Existen dos categoras de datos principales en el lenguaje Java: los tipos primitivos y los tipos referenciados. I.7. Palabras reservadas. Las palabras reservadas (keywords) son tems que tienen un significado especial en el leguaje y no pueden ser utilizados para otro fin. abstrae boolean break byte byvalue case cast match char class const continue default do double else extends false final finally float for future generic goto if implements import inner instanceof int inteface long native new null operator outer package private proteced public return rest short static stricftp super switch synchronized this throw throws transient true try var void volatile while

I.8. Expresiones. Las expresiones son combinaciones de constantes, variables, operadores, operandos, parntesis y funciones.
Operador Constante

a + (b 3) + c
Opererando o Variable Funcin

Expresiones Aritmticas Las expresiones aritmticas son anlogas a las funciones matemticas.

5+3=8

32=1

5*3=15

17/2=8
x (z + w) y

17/2.0=8.5

23 % 6 = 5

b b 2 4ac 2a
x+ y u w+ a
Expresiones Lgicas

r 2

5x 2 + 2x 3

7 x 2 + 2 x + 25 x+ y

Otro tipo de expresiones son las lgicas, o booleanas, cuyo valor puede ser true (verdadero) o false (falso) y se denominan expresiones booleanas en honor a matemtico George Boole, quien desarrollo el lgebra booleana. Mediante los operadores relacionales se pueden hacer comparaciones entre valores tipo numrico y carcter. Por ejemplo: 3<6V 0>9F 8 <= 5 F A=3yB=4 A>B F A<B V A<=B V B==4 V X=-2 Y = 3 Z = 9 X>Z F Y<X F Z!=X V

Operadores Lgicas Java cuenta con los operadores lgicos para formar condiciones ms complejas. Los operadores lgicos son: Operador && || & | ^ ! Descripcin And condicional Or condicional And lgico Or lgico Or exclusivo Negacin Corto Circuito Si No

Tablas de verdad de los operadores lgico: && And Condicional A false false true true B false true false true A && B false false false true

Con un operador && (And condicional) ser true si y solo si todas sus entradas son true.

|| Or Condicional A false false true true B false true false true A || B false true true true

Con un operador || (Or condicional) ser true si por lo menos una de sus entradas es true. Operadores & And lgico y | Or lgico funcionan de manera idntica a los operadores && And condicional y || Or condicional, con la excepcin de de que los operadores lgicos siempre se evaluaran todas las expresiones (es decir, no realizan una evaluacin de corto circuito). ^ Or Exclusivo A false false true true B false true false true A^B false true true false

Con un operador ^ (Or exclusivo) es true si y solo si una de sus operandos es true y el otro es false

! Negacin A false true !A true false

Por medio del operador ! (Negacin) se invierte el significado de la condicin. A diferencia de los operadores &&, ||, &, | y ^ que son operadores binarios, el operador ! es unario. Por ejemplo: Si A=3, B=-2 y C=7 a) b) c) d) (A>5) || (B<C) (A!=B) && (B==C) (A>=B) & (C>=5) !(A<=9) | (5>B) V F V V

Reglas de prioridad Las expresiones que tienen dos o ms operadores requieren de reglas matemticas que permitan determinar el orden de las operaciones, a estas reglas se les llama reglas de prioridad. Prioridad 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Operadores new (objeto) . [] () Agrupacin ++ -- prefijo ++ -- postfijo ~ ! - + Unarios (tipo) Cast * / % +<< >> >>> < <= > >= instanceof == != & ^ | && || ? : condicional = *= /= %= += -= , Asociatividad I-D D-I I-D D-I D-I I-D I-D I-D I-D I-D I-D I-D I-D I-D I-D D-I D-I I-D

Cual es el valor de las siguientes expresiones? a) b) c) d) 15 * 14 3 *7 (24 + 2 * 6) / 4 3 + 4 * (8 * (4 (9 + 31) / 6)) 4 40 / 5

I.9. Estructuras de control. Las estructuras de control determinan el comportamiento de un programa, las cuales se dividen en tres grupos que son sentencias, seleccin y repeticin. I.9.1. Asignacin. Operadores de Asignacin Java proporciona varios operadores de asignacin que permiten realizar operaciones aritmticas y lgicas.

Smbolo = *= /= %= += -=

Sentencia abreviada a=b a*=b a/=b a%=b a+=b a-=b

Sentencia no abreviada a=b a=a*b a=a/b a=a%b a=a+b a=a-b

Descripcin El valor de b se asigna a la variable a El valor de a se multiplica por b y se asigna a la variable a El valor de a se divide por b y se asigna a la variable a El valor de a se divide por b y el resto (o residuo) se asigna a la variable a El valor de a se suma a valor de b y se asigna a la variable a El valor de a se le resta el valor de b y se asigna a la variable a

I.9.2. Seleccin. Las estructuras de seleccin se utilizan para la toma de decisiones lgicas. Dentro de la estructura selectiva se evala una expresin lgica y en funcin del resultado se realiza una accin u otra.

Sintaxis de la seleccin simple:


No

if (Expresin) Accin; o if (Expresin) Accin;

Condicin

Si Accin

if (condicin) {accin1; accin2,,accin n} ; o if (condicin) { accin1; Nota: El if solo soporta una instruccin, si accin 2; desea poner mas de una sentencia dentro del . if debe utilizar un bloque de cdigo ({..}). . accin n; } Producto de Aprendizaje: Elabore un programa en Java que lea una cantidad, si la cantidad es mayor a 1500 restarle el 5% a la cantidad e imprimir el resultado; si no es mayor simplemente imprimir la cantidad.

Sintaxis de la seleccin doble:

if (condicin) accin 1; else accin 2;

Condicin Si Accin 1

No

Accin 2

if con mas de una sentencia y usando un boque de cdigo: if (condicin) { accin1; accin 2; . . accin n; } else { accin1; accin 2; . . accin n; } Producto de Aprendizaje: Elabore un programa en Java que lea dos nmeros e imprima el mayor de ellos. El primero mayor:

El Segundo Mayor:

Los dos Iguales:

No funciono corectamente porque los nmeros son iguales. Producto de Aprendizaje: o Elabore el programa que corrija esta anomalia. o Elabore un programa en Java que lea tres nmeros e imprima el mayor de ellos. o Elabore un programa que calcule el salario de un obrero. El salario se calcula sumando al sueldo base que es de $600.00 la comisin de por horas extras, que se calcula en base a la siguiente tabla: 1 10 hrs c/hr a 18 pesos 11 20 hrs c/hr a 20 pesos 21 y ms hrs c/hr a 25 pesos Seleccin mltiple Diagrama de Flujo

Caso 1 Expresin Caso 2 Accin 1 Accin 2

Otro caso Caso 3 Accin 3 Accin n

Sentencia switch Sintaxis de Seleccin mltiple: switch (selector) { case constante 1: Accin 1; break; case constante 2: Accin 2; break; default: Accin n; }

switch (letra) { case a: caseA: case : case A: case e: caseE: case : case : case i: caseI: case : case : case o: caseO: case : case : case u: caseU: case : case : System.out.println(letra + es vocal); }

Elabora un programa que lea un nmero de 1 al 7 e imprima que da de las semana es (1 Lunes, 2 Martes, , 7 Domingo)

Producto de Aprendizaje: o Elabore un programa que le un nmero entre 0 y 9 e imprima su valor con letra. o Elabore un programa que lea un nmero del mes e imprima el nombre del mes como cadena.

Operador ? Java mantine, a semejanza de C, un tercer mecanismo de de seleccin, el cual se denomina condicional y su formato es: condicin ? expresin 1: expresin2 Se evalua la condicin, si es true (verdadero) entonces regresa como resultado la expresin1, si el valor es false (falso) entonces regresa el valor de la expresin2. Ejemplo:
num1 > num2 ? System.out.println(El mayor es: + num1) : System.out.println(El mayor es: + num2)

I.9.3. Ciclos. Diagrama de flujo for


Inicio Falso Comprobacin

Incremento Verdadero Proceso

while
Falso Condicin Verdadero Proceso

do while
Proceso Verdadero Falso Condicin

Sintaxis de los ciclos Java: for 1.

for (Inicializacin; Condicin; Incremento) sentencia; for (Inicializacin; Condicin; Incremento) { sentencia 1; sentencia 2; sentencia n;

2.

} while 1. while (condicin) sentencia; 2. while (condicin) { sentencia 1; sentencia 1; sentencia n; }

do while 1. do sentencia; while (condicin); 2.do { sentencia 1; sentencia 2; sentencia n; } while (condicin);

Elabore un programa que imprima los nmeros del 1 a 10.

Producto de Aprendizaje: o o o o o o Elabore un programa que realice la suma de los nmeros del 1 al 100 e imprima el resultado. Elabore un programa que lea serie de nmeros e imprima su media. El final de los nmeros de denota con un -1. Elabore un programa que lea 10 calificaciones e imprime el promedio. Elabore un algoritmo que lea dos nmeros diferentes, he imprima el rango del nmero ms pequeo al nmero ms grande. Elabore un programa que lea un nmero e imprimas su factorial. Elabore un programa que lea un nmero positivo diferente de cero e imprima la secuencia de nmeros en forma descendente hasta el cero.

Sentencias de Ruptura break La sentencia break se utiliza dentro de los ciclos para una terminacin anormal, es decir una terminacin antes de lo previsto. Su sintaxis es: break; Ejemplo: while (condicin) { if (condcin2) break; sentencias; } continue La sentencia continue en los ciclos se utiliza para indicarle al ciclo que continue con la siguiente iteracin. Su sintaxis es la siguiente: continue;

Ejemplo: El siguiente programa imprime los nmeros del 1 al 30 con excepcin de los nmeros mltiplos de 3.

También podría gustarte