Libro: Curso de programación Java

Portada del libro

Publicado en junio de 2021, el Manual Imprescindible de Anaya Multimedia “Curso de programación: Java”, como su título nos indica, no es un manual de referencia del lenguaje, sino que enseña a programar desde cero.

Presentación guiada del libro

Reseña

Java es un lenguaje de programación orientado a objetos, portable y con un alto nivel de implantación en aplicaciones empresariales. Se mantiene año tras año en los puestos más altos del ranking de lenguajes más utilizados. Este Manual Imprescindible te acompañará desde los primeros pasos en la programación hasta la comprensión de conceptos más avanzados. Aquí se ofrecen los conocimientos que cualquier programador novel debería tener antes de incorporarse a un equipo de desarrollo profesional.

En estas páginas se abordan las estructuras básicas, comunes a casi todos los lenguajes, y los fundamentos de orientación a objetos, imprescindibles para un desarrollo mantenible en Java. Asimismo, se tratan la gestión de datos, las librerías más usadas, el acceso a bases de datos, entre otros. Y, por supuesto, se explican buenas prácticas: manejo correcto de las excepciones, depuración del código, test unitarios y sistemas de trazas, para asegurar su calidad hoy y en el futuro. Todo ello se ilustra con gran cantidad de ejemplos, ejercicios resueltos y proyectos prácticos, cuyo código estará accesible para el lector.

Quizá Java no sea el lenguaje aparentemente más sencillo para empezar, porque es estricto y fuerza a hacer las cosas bien. Aprender a programar en Java permite hacerlo con solidez y enfrentarse a otros lenguajes.

Dónde comprarlo

Está disponible en versión impresa y digital, puedes adquirirlo en las librerías listadas en Todos tus libros.

El libro en Librería Madrid El libro en Librería Madrid 

Aunque te recomiendo ir a una librería de toda la vida a por él, si prefieres la compra online, tanto de la versión en papel como la digital, también lo puedes encontrar en:

El libro en La Casa del Libro El libro en la Casa del Libro

Para más información sobre la distribución fuera de España, puedes contactar directamente con la distribuidora: cga.exportacion@anaya.es, indicando el país y la ciudad. 

Índice

  • Sobre la autora
  • Índice de contenidos
  • Cómo usar este libro
  • Introducción
  • Parte 1. Estructuras básicas
  • Capítulo 1. Mi primer programa
  • Capítulo 2. Argumentos, variables, métodos y operadores
  • Capítulo 3. Estructuras condicionales
  • Capítulo 4. Estructuras iterativas
  • Capítulo 5. Proyecto: piedra, papel, tijeras
  • Parte 2. Orientación a objetos
  • Capítulo 6. Diseño orientado a objetos
  • Capítulo 7. Clases y objetos
  • Capítulo 8. Relaciones orientadas a objetos
  • Capítulo 9. Proyecto: macetohuerto
  • Parte 3. Buenas prácticas
  • Capítulo 10. Manejo de excepciones
  • Capítulo 11. Depuración
  • Capítulo 12. Test unitarios
  • Capítulo 13. Trazas de ejecución
  • Capítulo 14. Proyecto: gestión de récords
  • Parte 4. Datos en Java
  • Capítulo 15. Estructuras de datos
  • Capítulo 16. Bases de datos: Mapeo Objeto-Relacional
  • Capítulo 17. Expresiones lambda y Streams
  • Capítulo 18. Proyecto: otra reunión más
  • Índice alfabético

Ficha Técnica

  • ISBN (Papel): 978-84-415-4324-9
  • ISBN (Digital): 978-84-415-4425-3
  • Nº Páginas: 456
  • Dimensiones: 17,5 x 2,5 x 22 cm
  • Peso: 723 g
  • Fecha publicación: 24-06-2021

Correcciones

  • 2021/12: Corrección vulnerabilidades log4j CVE-2021-44228, CVE-2021-45046 y CVE-2021-45105: versión de log4j-core 2.17.0 en vez de 2.14.0, en página 334 del libro, y en los ficheros pom.xml de los capítulos 13, 14 y 18 (en el repositorio git).
  • Pág. 86, Test 3.2: El desarrollo de la respuesta correcta contiene un par de erratas. La versión correcta es:

    x = !((8 – 3) <= 5) && (3 * 3 != 5)
    x = !(5 <= 5) && (9 != 5)
    x = !cierto && cierto
    x = falso && cierto
    x = falso

  • Pág. 202, Método getProductos de Pedido en sOOPer: La implementación propuesta no funciona correctamente. La versión correcta es:
    @Override 
    public Set<IProducto> getProductos() {
         Set<IProducto> productos = new HashSet<>();
         for (IContenedor c : contenedores) {
             productos.addAll(c.getProductos());
         }
    }
    El problema que tiene la implementación propuesta originalmente es que el conjunto de productos en el que se añaden todos los demás es el de primer contenedor, con lo que estaríamos añadiendo en el primer contenedor todos los productos del resto de contenedores del pedido.