Aprenda Java - Universidad Técnica Federico Santa María

Transcription

Escuela Superior de Ingenieros IndustrialesIndustri Injineruen Goimailako EskolaUNIVERSIDAD DE NAVARRA - NAFARROAKO UNIBERTSITATEAAprenda JavaSan Sebastián, Enero 2000Aprenda Informática .como si estuviera en primeroJavier García de Jalón José Ignacio RodríguezIñigo Mingo Aitor ImazAlfonso Brazález Alberto Larzabal Jesús Calleja Jon García

Aprenda Javacomo si estuviera en primeroJavier García de JalónJosé Ignacio RodríguezIñigo MingoAitor ImazAlfonso BrazálezAlberto LarzabalJesús CallejaJon GarcíaPerteneciente a la colección : “Aprenda , como si estuviera en primero”

Índicepágina iÍNDICE1.INTRODUCCIÓN A JAVA .11.1QUÉ ES JAVA 2 .21.2EL ENTORNO DE DESARROLLO DE JAVA.21.2.1 El compilador de Java .31.2.2 La Java Virtual Machine.31.2.3 Las variables PATH y CLASSPATH .31.3UN EJEMPLO COMPLETO COMENTADO .41.3.1 Clase Ejemplo1 .41.3.2 Clase Geometria .81.3.3 Clase Rectangulo .91.3.4 Clase Circulo .111.3.5 Interface Dibujable .121.3.6 Clase RectanguloGrafico .131.3.7 Clase CirculoGrafico .141.3.8 Clase PanelDibujo .151.3.9 Clase VentanaCerrable.171.3.10 Consideraciones adicionales sobre el Ejemplo1.181.4NOMENCLATURA HABITUAL EN LA PROGRAMACIÓN EN JAVA .191.5ESTRUCTURA GENERAL DE UN PROGRAMA JAVA.191.5.1 Concepto de Clase .201.5.2 Herencia.201.5.3 Concepto de Interface .201.5.4 Concepto de Package.201.5.5 La jerarquía de clases de Java (API).202.PROGRAMACIÓN EN JAVA .222.1VARIABLES.222.1.1 Nombres de Variables .222.1.2 Tipos Primitivos de Variables .232.1.3 Cómo se definen e inicializan las variables .232.1.4 Visibilidad y vida de las variables .242.1.5 Casos especiales: Clases BigInteger y BigDecimal.252.2OPERADORES DE JAVA .252.2.1 Operadores aritméticos.252.2.2 Operadores de asignación .262.2.3 Operadores unarios .262.2.4 Operador instanceof .262.2.5 Operador condicional ?:.262.2.6 Operadores incrementales .262.2.7 Operadores relacionales.272.2.8 Operadores lógicos .272.2.9 Operador de concatenación de cadenas de caracteres ( ) .272.2.10 Operadores que actúan a nivel de bits.282.2.11 Precedencia de operadores.282.3ESTRUCTURAS DE PROGRAMACIÓN .292.3.1 Sentencias o expresiones.292.3.2 Comentarios .292.3.3 Bifurcaciones .302.3.3.12.3.3.22.3.3.32.3.3.4Bifurcación if . 30Bifurcación if else . 30Bifurcación if elseif else. 30Sentencia switch. 312.3.4 Bucles.312.3.4.12.3.4.22.3.4.32.3.4.42.3.4.5Bucle while . 32Bucle for . 32Bucle do while . 32Sentencias break y continue . 32Sentencias break y continue con etiquetas . 33

ESIISS: Aprenda Java como si estuviera en Primero2.3.4.62.3.4.73.Sentencia return . 33Bloque try {.} catch {.} finally {.}. 33CLASES EN JAVA .353.1CONCEPTOS BÁSICOS.353.1.1 Concepto de Clase .353.1.2 Concepto de Interface .363.2EJEMPLO DE DEFINICIÓN DE UNA CLASE .363.3VARIABLES MIEMBRO.373.3.1 Variables miembro de objeto .373.3.2 Variables miembro de clase (static).383.4VARIABLES FINALES.383.5MÉTODOS (FUNCIONES MIEMBRO).393.5.1 Métodos de objeto .393.5.2 Métodos sobrecargados (overloaded).403.5.3 Paso de argumentos a métodos.403.5.4 Métodos de clase (static).413.5.5 Constructores .413.5.6 113.123.134.página iiInicializadores static. 42Inicializadores de objeto . 433.5.7 Resumen del proceso de creación de un objeto .433.5.8 Destrucción de objetos (liberación de memoria) .433.5.9 Finalizadores .43PACKAGES.443.6.1 Qué es un package .443.6.2 Cómo funcionan los packages.45HERENCIA .453.7.1 Concepto de herencia.453.7.2 La clase Object.463.7.3 Redefinición de métodos heredados.463.7.4 Clases y métodos abstractos .473.7.5 Constructores en clases derivadas.47CLASES Y MÉTODOS FINALES .48INTERFACES .483.9.1 Concepto de interface .483.9.2 Definición de interfaces .493.9.3 Herencia en interfaces .493.9.4 Utilización de interfaces .49CLASES INTERNAS .503.10.1 Clases e interfaces internas static .503.10.2 Clases internas miembro (no static).523.10.3 Clases internas locales.543.10.4 Clases anónimas .56PERMISOS DE ACCESO EN JAVA .573.11.1 Accesibilidad de los packages.573.11.2 Accesibilidad de clases o interfaces.573.11.3 Accesibilidad de las variables y métodos miembros de una clase:.57TRANSFORMACIONES DE TIPO: CASTING .583.12.1 Conversión de tipos primitivos.58POLIMORFISMO .583.13.1 Conversión de objetos.59CLASES DE UTILIDAD.614.1ARRAYS .614.1.1 Arrays bidimensionales.624.2CLASES STRING Y STRINGBUFFER .624.2.1 Métodos de la clase String .634.2.2 Métodos de la clase StringBuffer .644.3WRAPPERS .64

Índice4.44.5página iii4.3.1 Clase Double.644.3.2 Clase Integer .65CLASE MATH .65COLECCIONES .664.5.1 Clase Vector.664.5.2 Interface Enumeration .674.5.3 Clase Hashtable .684.5.4 El Collections Framework de Java 1.2 .74.5.4.84.5.4.94.5.4.104.65.Elementos del Java Collections Framework. 70Interface Collection. 71Interfaces Iterator y ListIterator . 71Interfaces Comparable y Comparator. 72Sets y SortedSets. 73Listas. 74Maps y SortedMaps . 74Algoritmos y otras características especiales: Clases Collections y Arrays. 75Desarrollo de clases por el usuario: clases abstract. 76Interfaces Cloneable y Serializable . 76OTRAS CLASES DEL PACKAGE JAVA.UTIL .774.6.1 Clase Date.774.6.2 Clases Calendar y GregorianCalendar .774.6.3 Clases DateFormat y SimpleDateFormat .794.6.4 Clases TimeZone y SimpleTimeZone.80EL AWT (ABSTRACT WINDOWS TOOLKIT) .815.1QUÉ ES EL AWT.815.1.1 Creación de una Interface Gráfica de Usuario .815.1.2 Objetos “event source” y objetos “event listener”.815.1.3 Proceso a seguir para crear una aplicación interactiva (orientada a eventos) .825.1.4 Componentes y eventos soportados por el AWT de Java .825.1.4.15.1.4.25.1.4.35.2Jerarquía de Componentes . 82Jerarquía de eventos . 83Relación entre Componentes y Eventos. 845.1.5 Interfaces Listener.855.1.6 Clases Adapter .86COMPONENTES Y EVENTOS .875.2.1 Clase Component .885.2.2 Clases EventObject y AWTEvent.895.2.3 Clase ComponentEvent .895.2.4 Clases InputEvent y MouseEvent .895.2.5 Clase FocusEvent.905.2.6 Clase Container .905.2.7 Clase ContainerEvent .915.2.8 Clase Window .915.2.9 Clase WindowEvent .915.2.10 Clase Frame.925.2.11 Clase Dialog .925.2.12 Clase FileDialog .935.2.13 Clase Panel .935.2.14 Clase Button.945.2.15 Clase ActionEvent .945.2.16 Clase Canvas.945.2.17 Component Checkbox y clase CheckboxGroup .955.2.18 Clase ItemEvent .965.2.19 Clase Choice .965.2.20 Clase Label .965.2.21 Clase List.975.2.22 Clase Scrollbar .975.2.23 Clase AdjustmentEvent.985.2.24 Clase ScrollPane.995.2.25 Clases TextArea y TextField .99

ESIISS: Aprenda Java como si estuviera en Primero5.35.45.55.2.26 Clase TextEvent.1005.2.27 Clase KeyEvent .101MENUS .1025.3.1 Clase MenuShortcut.1025.3.2 Clase MenuBar .1025.3.3 Clase Menu .1035.3.4 Clase MenuItem .1035.3.5 Clase CheckboxMenuItem.1035.3.6 Menús pop-up.104LAYOUT MANAGERS .1045.4.1 Concepto y Ejemplos de LayoutsManagers .1045.4.2 Ideas generales sobre los LayoutManagers.1055.4.3 FlowLayout .1055.4.4 BorderLayout .1065.4.5 GridLayout.1065.4.6 CardLayout .1065.4.7 GridBagLayout .107GRÁFICOS, TEXTO E IMÁGENES .1085.5.1 Capacidades gráficas del AWT: Métodos paint(), repaint() y update() .1085.5.1.15.5.1.25.5.1.35.6página ivMétodo paint(Graphics g) . 108Método update(Graphics g) . 108Método repaint() .

Aprenda Java como si estuviera en primero Javier García de Jalón José Ignacio Rodríguez Iñigo Mingo Aitor Imaz Alfonso Brazález Alberto Larzabal Jesús Calleja Jon García Perteneciente a la colección : "Aprenda , como si estuviera en primero"