Aprendiendo Java y Programación Orientada a Objetos

Please download to get full document.

View again

of 73
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Published
Aprendiendo Java y Programación Orientada a Objetos
  Aprendiendo JavayProgramación Orientada a Objetos Gustavo Guillermo Pérezwww.compunauta.comgustavo@compunauta.com*Hasta que esta leyenda no desaparezca el libro no ha sido terminado, revisar:http://compunauta.com/forums/linux/programacion/java/ebook.html para las actualizaciones diarias o semanales y para descargar el código de los ejemplos. ESTE LIBRO ES LIBRE Y GRATUITO, CONSIDERA HACER UNA PEQUEÑADONACIÓN EN LA WEB INDICADA ARRIBA. *Para navegar el Índice con Adobe Acrobat Reader, abrir favoritos o bookmarksUltima actualización, lunes 11 de febrero de 2008  INDICE DEL TEMARIO Prólogo...........................................................................................................................................................4I. TEMAS INTRODUCTORIOS..................................................................................................................5La Máquina Virtual de Java (JVM, Java Virtual Machine).....................................................................5Kit de desarrollo y Entorno de ejecución (JDK, JRE)........................................................................5Comandos que inician el JDK, JRE....................................................................................................5Salida por pantalla de los comandos del JDK, JRE............................................................................6Programación Orientada a Objetos con Java...........................................................................................9Descripción Empírica del funcionamiento del entorno JRE...............................................................9Herencia soportada por Java..............................................................................................................10Tipos de datos Básicos.......................................................................................................................10Operadores y Delimitadores Básicos................................................................................................11 Nombres de variables y funciones.....................................................................................................12II. Codificación Inicial y Estructuras de Datos...........................................................................................13El primer programa.................................................................................................................................13Paquetes.............................................................................................................................................13Palabras clave o reservadas...............................................................................................................14Tipos de datos...............................................................................................................................14Permisos y declaración de clases, propiedades o métodos..........................................................14Bucles y tomas de decisión...........................................................................................................15Reservadas....................................................................................................................................16Excepciones, control de errores....................................................................................................16Secuencias de escape.........................................................................................................................16Concatenación y conversiones a texto...................................................................................................17Salida por pantalla y entrada por teclado...............................................................................................18System.out..........................................................................................................................................18System.in............................................................................................................................................20System.err..........................................................................................................................................20System.exit(int cod);..........................................................................................................................21Leer líneas de la entrada estándar......................................................................................................21Crear Objetos (de la biblioteca de Java).................................................................................................22El bloque de control de errores, try{}catch(){}.....................................................................................22Ejercicios................................................................................................................................................232.1. Entrada de Datos y conversiones. [if, try, catch].......................................................................232.2 NumberFormatException while(){}............................................................................................242.3 Mezcla de bucles do{} while(); y for(;;){}.................................................................................242.4 Switch Select................................................................................................................................25Práctica Complementaria Resuelta (sin procedimientos, sin arreglos).................................................25P.C.E1................................................................................................................................................25P.C.E2................................................................................................................................................26P.C.E3................................................................................................................................................27P.C.E4................................................................................................................................................28P.C.E5................................................................................................................................................29P.C.E6................................................................................................................................................31P.C.E7................................................................................................................................................32P.C.E8................................................................................................................................................33P.C.E9................................................................................................................................................35Práctica Complementaria (bucles sin arreglos)......................................................................................38III – Métodos estáticos y Mecanismos de Programación...........................................................................39Métodos estáticos (funciones o procedimientos)...................................................................................39Página 2/73  Arreglos (Arrays) o Vectores.................................................................................................................41La clase Math de procedimientos y constantes matemáticas.................................................................42Buffering – Memoria temporal...............................................................................................................45Usando arreglos para un buffer, colas de espera, pilas y listas.........................................................45Implementación del buffer tipo FIFO (Cola de espera, el primero es primero en salir).............46Implementación del buffer tipo LIFO (La pila, último en llegar es primero en salir)................53Implementación de una Lista de datos.........................................................................................57Búsqueda de datos..................................................................................................................................60Búsqueda secuencial..........................................................................................................................60Búsqueda aleatoria, desordenar lista.................................................................................................60Búsqueda Binaria (lista ordenada).....................................................................................................62Métodos para ordenar listas....................................................................................................................63Método de la burbuja o Método de Ordenación por Selección........................................................63Método QuickSort Recursivo............................................................................................................65Otros mecanismos para ordenar........................................................................................................66Ejercicios................................................................................................................................................67Ejercicio 3.1.......................................................................................................................................67Ejercicio 3.2.......................................................................................................................................69Ejercicio 3.3.......................................................................................................................................69IV- Primeros Objetos como mecanismo de programación.........................................................................70Lista con punteros para ordenar datos....................................................................................................70 Nuestro primer objeto........................................................................................................................70Propiedades...................................................................................................................................70Página 3/73  Prólogo Este libro se hizo con la idea de proveer a mis alumnos y cursos un material didáctico con quétrabajar (también es útil para profesores y otros cursos) y al mismo tiempo dar una idea concisa de loque significan los objetos en Java. La programación orientada a objetos en Java no es tratada y enfocadaen muchos textos tutoriales, manuales o libros sobre el tema y considero que es la etapa inicial delaprendizaje donde se falla en muchos cursos respecto a Java. Por otro lado los estudiantes que recién seinician en la programación, no podrán ir muy lejos si no se les inculca los conceptos básicos, entonceseste material no avanzara de lleno sobre la programación orientada a objetos, sino hasta que losconceptos de programación básicos, como tomas de decisión, bucles, variables etc, estén fijados losuficiente.Java es un lenguaje muy útil debido a la opción multiplataforma que provee (desde PC, Linux,Windows, hasta MAC, teléfonos, pocket PCs, etc.) y veremos en el transcurso de este texto como se puede optimizar la ejecución de una aplicación Java para que se aproxime a la ejecución de un binarionativo como los que se compilan con gcc.Por lo tanto suponer que el alumno posee conocimientos avanzados de programación orientada aobjetos o de otros lenguajes de programación no siempre suele ser la mejor opción, en este librodejaremos en claro que el lenguaje de programación Java tiene sus operadores matemáticos básicos ytipos de datos básicos sin importar que estos mismos existan o no en otros lenguajes de programación.Este libro se distribuye bajo la licencia GNU GPL v2, con la excepción que está prohibido hacer impresiones modificadas del texto, si alguien tiene una sugerencia o una modificación para sugerir, puede enviar al correo electrónico indicado la información, para una futura actualización o corrección.Las sugerencias son bienvenidas.Página 4/73  I. TEMAS INTRODUCTORIOS La Máquina Virtual de Java (JVM, Java Virtual Machine) La máquina virtual de Java se denomina al  procesador o entorno virtual  que se utiliza parainterpretar los bytecodes de los binarios de Java, ya que como sabemos Java se hizo para correr encualquier plataforma sin recompilar los binarios. De esta manera este entorno virtual se puede obtener  para nuestra arquitectura y sistema operativo sin modificaciones a nuestro programa srcinal (esto no escierto si utilizamos una mala dinámica de programación).Podemos entonces generar un binario y este podrá Correr en Linux, MAC OSX, FreeBSD,Solaris, o Windows, y para las arquitecturas disponibles en las que podamos obtener la JVM, como ser AMD64, SPARC, PIV, etc. etc.La máquina virtual de Java ha tenido la característica de ser un entorno de ejecución  pesado entérminos de recursos del procesador y memoria, que por medio de una administración rigurosa delsistema operativo estos podrían llegar a ser insuficientes y las aplicaciones ejecutarse de manera muylenta. Esto no es cierto en la actualidad, existen alternativas a la JVM provista por Sun Microsystemsque permiten una velocidad comparable a una aplicación compilada en C++ nativa en la arquitectura, unejemplo de esto es Kaffe, Kaffe (www.kaffe.org) es una máquina de Java OpenSource que puedecompilarse sin mayores modificaciones en nuestra arquitectura necesaria y correrá increíblemente másrápida que la distribución estándar de JVM de Sun Microsystems y consumirá muchos menos recursos. Kit de desarrollo y Entorno de ejecución (JDK, JRE) El Kit de desarrollo conocido como JDK (Java Development Kit) provee de un compilador, unmecanismo para comprimir un proyecto en un solo archivo de tipo JAR (que es compatible con ZIP) yun entorno de ejecución para nuestros binarios.Cuando nuestro proyecto terminado se prepara para distribuir, no es necesario tener el compilador y la mayoría de las herramientas que se proveen en el JDK, entonces podemos prescindir de dicho JDK y utilizar el entorno de ejecución que es más pequeño en cuestiones sólo de espacio en disco. Este JRE(Java Runtime Environment) también puede redistribuirse sin problemas de licencias.En las plataformas basadas en Linux, existen mejores herramientas de desarrollo y por supuesto encasi todas las distribuciones de Linux, se encuentra disponible Kit de desarrollo o JDK. Así comorecomendamos Kaffe como JVM para proyectos avanzados o de alto rendimiento, recomendamos Jikescomo compilador de ByteCodes para Java, Jikes no es interpretado como el compilador proporcionadoen el JDK de Sun Microsystems. Comandos que inician el JDK, JRE ComandoDescripción java Inicia el entorno de ejecución recibiendo como argumento el nombre del binario ejecutableen formato ByteCodes sin la extensión de archivo .class que identifica de manera visual un binario java. Este comando es parte de JDK y JRE javac Inicia el compilador Java recibiendo como argumento todos los archivos de código fuentecuya terminación es .java incluida dicha extensión. Este comando no es parte de JRE. jar Por medio de este comando iniciamos el empaquetador de clases y archivos de Java que nos permiten fabricar un único archivo contenedor de nuestras aplicaciones, multimedia ygráficos. Este comando es parte sólo de JDK. Página 5/73
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x