ebook img

Java para novatos: Cómo aprender programación orientada a objetos con Java sin desesperarse PDF

459 Pages·2017·2.8 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Java para novatos: Cómo aprender programación orientada a objetos con Java sin desesperarse

JAVA para novatos Cómo aprender programación orientada a objetos con Java sin desesperarse en el intento. A. M. Vozmediano ensegundapersona.es Java para novatos: Cómo aprender programación orientada a objetos con Java sin desesperarse en el intento. © 2013, 2017 Alfredo Moreno Vozmediano Primera edición en este formato, junio de 2017. ISBN: 9781521386330 Todos los derechos reservados. Esta obra está protegida por las leyes de copyright y tratados internacionales. ensegundapersona.es Información y suscripciones: http://ensegundapersona.es/suscribete Introducción 1 A quién va dirigido este libro Este libro está destinado a aquellas personas que quieren aprender a programar según el paradigma de orientación a objetos y, más concretamente, que quieren aprender a programar en lenguaje Java. No es necesario que hayas programado previamente, aunque si ya sabes programar el proceso será mucho más sencillo, como es lógico. El libro NO da por hecho que el lector o lectora tenga conocimientos previos sobre programación ni sobre el lenguaje Java, aunque sí supondremos que conoces algunos conceptos genéricos relacionados con la informática como, por ejemplo, qué es el sistema de numeración binario o la diferencia entre un Megabyte y un Kilobyte. No es que sean cuestiones imprescindibles para el programador, pero a veces hay que echar mano de ellas. Si no conoces esos conceptos, te sugerimos que antes les eches un vistazo a cualquier libro sobre introducción a la informática. 2 Qué encontrarás y qué no encontrarás en este libro En este libro encontrarás toda la información necesaria para convertirte en un programador o programadora de lenguaje Java y, por añadidura, aprenderás a programar siguiendo el paradigma de orientación a objetos, ya que en Java no hay modo de hacerlo de otra forma. El libro comienza con las cuestiones más básicas, como la construcción del primer programa o la utilización del compilador de Java, y avanza hacia temáticas más elaboradas como los flujos dirigidos a ficheros o las estructuras de datos dinámicas. No obstante, se trata de un libro de introducción y aprendizaje, no de un manual avanzado. Las librerías de Java son gigantescas y un solo libro difícilmente puede abarcarlas. Por suerte, es muy sencillo acceder a la documentación oficial de Java a través de la web de Oracle, la empresa que lo desarrolla en la actualidad (https://docs.oracle.com/javase/8/docs/api/). Si concluyes este libro con éxito (en realidad, mucho antes de hacerlo), podrás utilizar esa documentación cuando necesites usar cualquier componente de la librería, además de las toneladas de documentación no oficial que existen en internet. Sin embargo, sin una base adecuada, toda esa documentación se convierte en un galimatías incomprensible. Esa base es la que pretendemos ofrecerte con este libro. El libro que tienes en las manos (o en la pantalla) es un manual de aprendizaje. Eso significa que está diseñado para leerlo de principio a fin e ir aprendiendo las técnicas del lenguaje mediante un enfoque constructivista, es decir, construyendo nuevos aprendizajes sobre los anteriores. Eso no quiere decir, por supuesto, que sea obligatorio leerlo en ese orden. Es perfectamente posible leer solo las partes que te interesen, o volver sobre ellas cuando sea necesario, pero quien nunca haya trabajado con Java o con lenguajes orientados a objetos encontrará seguramente más claro y productivo empezar por el principio e ir avanzando a lo largo del texto. En cada capítulo se ha incluido una colección de ejercicios propuestos y/o resueltos. No soy muy amigo de las colecciones de ejercicios. Pienso que es mucho más productivo que el aprendiz pergeñe sus propios programas, llegando hasta donde sus habilidades le permitan en ese momento. Los ejercicios propuestos suelen ser aburridos, por más que el autor intente hacerlos interesantes, y no tienen por qué resultar atractivos para el aprendiz, pudiendo llegar a matar su curiosidad inicial. Sin embargo, mucha gente se siente perdida, sobre todo al principio, si no cuenta con unos cuantos ejercicios con los que practicar. Así que tómate los ejercicios como si fueran unas cuantas tablas gimnásticas con las que sacar músculo por las tardes, no como desafíos que tienes que resolver a toda costa si quieres tener éxito en tu carrera como programador. Es decir: si un ejercicio te resulta aburrido, sencillamente pasa de él y continúa. Por último, diremos otra cosa que este libro NO es: no es un manual de programación en pseudocódigo. No encontrarás ni una solo línea de pseudocódigo (ni un diagrama de flujo) en él. Este libro va al grano y desde el principio empezaremos a trabajar con Java y a ejecutar nuestros programas en una máquina real. Si eso resulta demasiado para ti y prefieres ir más despacio, encontrarás muchos libros de introducción a la programación que comienzan por pseudocódigo para luego dar el salto a un lenguaje real. Sin ir más lejos, yo mismo hice eso en “Aprender a programar en C: de 0 a 99 en un solo libro”. 3 Aviso a navegantes Soy programador y profesor de informática. Trabajé como programador en la empresa privada, y más tarde di el salto a la enseñanza. He sido profesor de informática durante los últimos diecisiete años. En todo este tiempo, aunque he tocado muchos palos, me he centrado sobre todo en la enseñanza de la programación. Conforme los planes de estudio se actualizaban he pasado por múltiples lenguajes: C, C++, Visual Basic, Java, PHP, Python… Durante todo este tiempo he desarrollado multitud de materiales para mi alumnado, algunos tan breves como un apunte en un blog, otros visuales como una presentación de diapositivas, y otros mucho más elaborados y extensos como este libro que estás leyendo ahora. Esta ya larga experiencia me ha permitido comprobar qué cosas funcionan para la mayoría de la gente y qué cosas no lo hacen; en qué orden es mejor introducir los conceptos para no incrementar la confusión que inevitablemente sufre el aprendiz en las primeras semanas; dónde hay que hacer más hincapié y dónde no, etc. Pero no te voy a engañar: aprender a programar es difícil. Siempre encuentro personas que abandonan en el camino, algunas de ellas con unas facultades para programar muy evidentes. La gente que abandona siempre lo hace por una razón: porque tiran la toalla. Aprender a programar es una tarea larga, difícil y a veces ingrata. Se tardan en ver resultados, y eso puede desalentar al más animoso. Es necesario un compromiso personal por parte del aprendiz y una gran fuerza de voluntad, exactamente igual que al enfrentarse a cualquier otro aprendizaje complejo. Nadie pretende aprender un idioma extranjero en 24 horas y, si alguien te promete que puede lograrlo, seguramente te está tratando de embaucar. Programar también es una labor apasionante, creativa y absorbente. Pasado un cierto punto de no retorno, cuando los conceptos básicos ya están asimilados y el aprendiz piensa todo el tiempo en modo programador, la parte más dura habrá quedado atrás y a partir de entonces la experiencia es mucho más disfrutable, porque delante de ti solo encontrarás desafíos tecnológicos más que conceptuales. El objetivo de este libro es acompañarte en la parte más ardua del camino y ayudarte a traspasar ese punto de no retorno. Pero no lo dudes: eso no puede hacerlo ningún libro ni profesor por ti. Solo puedes hacerlo tú. Así que, ya lo sabes. Hay dos tipos de aprendices de programación: los que abandonan y los que no. Si tú perteneces al primer o al segundo grupo es algo que te corresponderá a ti decidir, y nadie podrá tomar la decisión por ti. Estoy convencido de que, con el esfuerzo debido, cualquier persona puede aprender a programar. Lo he visto muchas veces. Piensa que, por muy difícil que resulte, por muy arcana que parezca la labor del programador, los lenguajes de programación no dejan de ser más que invenciones humanas, artefactos creados por gente como tú o como yo que cada día usan a lo largo y ancho del globo millones de personas como tú o como yo. Y si ellos han podido aprender, tú también puedes. Y ahora, ¿estás preparado (o preparada) para empezar? 4 Organización del texto Para ayudarte a orientarte en la geografía de este libro, te ofrecemos aquí un breve esquema de qué encontrarás en los siguientes capítulos y dónde encontrarlo. Hemos dividido el libro en seis capítulos de nivel de dificultad creciente, de modo que el libro pueda leerse de principio a fin, pero también consultarse con facilidad por partes. En el Capítulo 1 introduciremos algunos conceptos fundamentales para entender cómo trabaja Java: qué tipos de lenguajes de programación existen, qué diferencias hay entre compilar e interpretar y cómo funciona la semicompilación de Java y la máquina virtual JVM. Después hablaremos de las herramientas que vamos a necesitar para desarrollar programas con Java, construiremos nuestro primer programa (que compilaremos y ejecutaremos) y presentaremos los tipos de datos primitivos. En el Capítulo 2 nos meteremos de lleno en el paradigma de la programación orientada a objetos. La idea es desarrollar dentro del paradigma desde el principio, y por eso lo introduciremos tan pronto, siguiendo la tendencia más reciente en las metodologías de enseñanza de la programación de ordenadores. Haremos varias analogías para que el lector pueda asimilar bien los conceptos fundamentales, y a partir de ellas presentaremos las clases, objetos, métodos y atributos de forma clara y con ejemplos. En el Capítulo 3 hablaremos de las estructuras de control que nos permitirán crear algoritmos en el interior de las clases: secuencias, selecciones e iteraciones serán los protagonistas de este capítulo. Proporcionaremos algunas reglas de estilo y también introduciremos el control de excepciones, tan importante en Java. En el Capítulo 4 profundizaremos en el paradigma de orientación a objetos desde el punto de vista de Java, hablando de constructores y destructores, interfaces, clases abstractas, herencia, wrappers, polimorfismo y clases anidadas, todo ello con múltiples ejemplos que faciliten la comprensión del lector/a. En el Capítulo 5 estudiaremos las clases para almacenamiento de datos complejos: arrays clásicos y colecciones de Java, principalmente. Hablaremos de ordenación, búsqueda, iteradores y arrays de objetos. Por supuesto, no nos olvidaremos de profundizar en los Strings. Por último, en el Capítulo 6 nos centraremos en los flujos de datos y, en concreto, en los flujos que permiten leer y escribir datos en ficheros en memoria secundaria. Trabajaremos con ficheros de texto y binarios, así como con ficheros de organización secuencial, aleatoria e indexada. 5 ¿Alguna sugerencia? Ningún texto está por completo libre de errores y este, sin duda, no es una excepción. Si encuentras cualquier cosa que te chirríe, o simplemente quieres hacer alguna sugerencia, puedes escribirnos a CAPÍTULO 1: INTRODUCCIÓN A LA PROGRAMACIÓN CON JAVA En este capítulo introduciremos las herramientas fundamentales que cualquier programador de Java necesita llevar en su caja de herramientas y conocer en profundidad. Comenzaremos con un repaso muy breve de algunos conceptos clave para comprender lo que vendrá después, como la diferencia entre compiladores e intérpretes o las máquinas virtuales. Luego hablaremos del JDK de Java y del software que necesitaremos instalar en nuestra máquina para poder desarrollar aplicaciones en Java. Entonces será el momento de dar el salto a Java. Haremos una pequeña introducción histórica al mismo y rápidamente crearemos nuestro primer programa. Gracias a él, aprenderemos la estructura básica de un programa en Java y usaremos el compilador y la máquina virtual. Acabaremos el capítulo hablando de los tipos de datos primitivos de Java, las constantes, las variables, las expresiones y los operadores. Con esto ya tendremos a nuestra disposición los ladrillos básicos con los que, más adelante, poder levantar un edificio. 1 Conceptos fundamentales Es este apartado vamos a introducir muy someramente algunos conceptos básicas (muy pocos, en realidad) que debes tener claros antes de empezar a programar. Del mismo modo que nadie se lanzaría a conducir un coche sin conocer al menos lo más importante del código de circulación, ni nadie construiría su propia casa sin saber algo sobre materiales e instalaciones, es demasiado aventurado pensar que podemos programar un ordenador sin saber algunas cosas importantes sobre esos silenciosos compañeros de escritorio. Sin embargo, si tienes tiene cierta experiencia con ordenadores o ya has programado antes, es posible que prefieras pasar al apartado 3, donde empezaremos a hablar de Java. Por último, si quieres una introducción mucho más extensa y formal a los conceptos que encontrarás a continuación, puedes encontrarla en el libro “Aprender a programar en C: de 0 a 99 en un solo libro”, donde dedico muchas más páginas a habar de todo esto. 1.1 Programar un ordenador es como hablar con un

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.