java jedi pre

Download Java jedi pre

Post on 13-Jun-2015

182 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 1. CURSO DEFebrero 2003JAVA Profesores: Albert Llastarri Rezola Roberto Ramrez Vique Autor: Ivn Prraga Garca

2. Prlogo Java 1 PRLOGOHola a todos, ante todo quisiera agradecer a Albert Llastarri su inestimable ayuda a lahora de realizar este manual de Java (especialmente en la parte de Swing) as como a losantiguos profesores del curso de los cuales he heredado algunos ejercicios y parte de laestructura del mismo y finalmente a todos los alumnos que han ido pasando por el curso yque gracias a sus comentarios han contribuido a mejorar esta documentacin.En esta tercera edicin se han aadido nuevos componentes grficos en el desarrollode GUIs y se han revisado, corregido y aumentado todos los captulos. A pesar de que hecorregido todos los errores tipogrficos y de contenido que se han ido localizando a lo largode ya 3 cursos con este manual, el hecho de que soy humano y de que se van aadiendocada cuatrimestre nuevos contenidos lo hace susceptible de contener errores. Se agradecerque se notifiquen los mismos (abajo encontris mi e-mail) para erradicarlos de prximasediciones.. Todos los ejercicios del curso han sido desarrollados y comprobados por m y alfinalizar el curso se os entregar un CD-ROM con todo el material; adems a lo largo delcurso se irn colgando versiones correctas de los programas que vayamos haciendo. He tratado de ilustrar todo el manual con ejemplos, grficos y tablas. Al final delmismo he incorporado ndices para acceder rpidamente a estos materiales as como unapndice con direcciones web interesantes. Al desarrollar el manual he tenido en cuenta las siguientes convenciones:el texto con este formato es cdigoeste texto es intrprete de comandosEjercicioeste texto es un ejercicio Bueno, pues por el momento esto es todo. Espero sinceramente que el curso os seaprovechoso y siempre que tengis cualquier tipo de duda no dudis en preguntar. Para cualquier comentario no dudis en mandarme un e-mail a ivanp@jedi.upc.es. El AutorIvn Prraga GarcaPrimera Edicin, Febrero 2002Segunda Edicin, Junio 2002Tercera Edicin, Enero 2003 3. ndiceJava 2 NDICE1Prlogo ...................................................................................................................... 12ndice ........................................................................................................................ 23Introduccin.............................................................................................................. 63.1 Breve historia de Java ....................................................................................... 63.2 Qu es Java?.................................................................................................... 84J2SDK, El entorno de programacin...................................................................... 114.1 Instalacin....................................................................................................... 124.2Qu aplicaciones hay en el J2SDK? ............................................................. 13 4.2.1 Compilacin: javac ................................................................................. 14 4.2.2 Ejecucin de aplicaciones: java .............................................................. 15 4.2.3 Ejecucin de applets: appletviewer ........................................................ 16 4.2.4 Correccin de errores: el debugger jdb................................................... 165Estructuras bsicas de programacin...................................................................... 175.1 Comentarios .................................................................................................... 175.2 Identificadores ................................................................................................ 185.3 Palabras reservadas ......................................................................................... 185.4Tipos de datos primitivos................................................................................ 185.4.1Enteros .................................................................................................... 18 5.4.2 Tipos en coma flotante............................................................................ 19 5.4.3 Caracteres: char ...................................................................................... 19 5.4.4 Booleanos: boolean................................................................................. 205.5 Declaraciones de variables ............................................................................. 205.6 Constantes ....................................................................................................... 205.7 Asignaciones ................................................................................................... 215.8 Strings ............................................................................................................. 215.9 Arrays ............................................................................................................. 225.10Operadores ...................................................................................................... 235.11 Estructuras de control de flujo ........................................................................ 24 5.11.1 Condicionales ......................................................................................... 24 5.11.2 Bucles ..................................................................................................... 255.12 Aserciones....................................................................................................... 26 5.12.1 Invariantes internos................................................................................. 27 5.12.2 Invariantes de control de flujo ................................................................ 28 5.12.3 Precondiciones, postcondiciones e invariantes de clase ......................... 295.13El mtodo main ............................................................................................... 296Programacin orientada a objetos........................................................................... 33 4. ndiceJava6.1Conceptos ....................................................................................................... 336.2Uso de clases ya existentes ............................................................................. 35 6.2.1 La API de Java ........................................................................................ 35 6.2.2 Declaracin de variables e instanciacin de objetos............................... 37 6.2.3 Invocacin de mtodos y acceso a atributos ........................................... 376.3 Creacin de nuestras propias clases................................................................ 386.3.1 Cuerpo de la clase ................................................................................... 386.3.2 Constructores .......................................................................................... 406.3.3 Acceso a los miembros del propio objeto ............................................... 406.3.4 Visibilidad public y private .................................................................... 406.3.5 Paso de parmetros ................................................................................. 416.3.6 Asignaciones, copias y comparaciones................................................... 426.3.7 Destruir objetos....................................................................................... 436.3.8 Miembros de clase .................................................................................. 436.4Herencia .......................................................................................................... 45 6.4.1 Conceptos y terminologa ....................................................................... 45 6.4.2 Sobrescribir mtodos .............................................................................. 46 6.4.3 La herencia como especializacin .......................................................... 47 6.4.4 Visibilidad protected............................................................................... 48 6.4.5 Polimorfismo y dynamic binding ........................................................... 486.4.6Casting de objetos ................................................................................... 496.4.7La clase Object ....................................................................................... 506.4.8Clases abstractas ..................................................................................... 516.4.9Interfaces................................................................................................. 526.4.10 Simulando la genericidad mediante herencia ......................................... 556.4.11 Agrupacin de clases .............................................................................. 587Excepciones ............................................................................................................ 617.1Introduccin.................................................................................................... 61 7.1.1Que es una excepcin? .......................................................................... 61 7.1.2Qu es un error? .................................................................................... 61 7.1.3Primer ejemplo ........................................................................................ 617.2Manejo de excepciones ................................................................................... 62 7.2.1Sentencias try y catch ............................................................................. 62 7.2.2Sentencia finally ..................................................................................... 63 7.2.3El mecanismo de pila de llamadas .......................................................... 64 7.2.4Categoras de ex