Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Programació en Java

El llenguatge Java, des de la sintaxi bàsica fins a una aplicació gràfica que desa les dades. Els conceptes d’orientació a objectes i de disseny independents del llenguatge són a Fonaments de programació, i la concurrència a Java té el seu propi bloc a Processos i fils.

Com llegir aquests documents

Els documents segueixen l’ordre en què es construeix un programa cada vegada més complet:

  1. El llenguatge. Sintaxi, tipus, mètodes i classes. Tota la resta hi construeix a sobre.
  2. Pensar algorismes. La recursivitat i l’ordenació ensenyen a raonar sobre com es resol un problema i quant costa, abans de fer servir les solucions que ja dona la biblioteca.
  3. La biblioteca estàndard. Les col·leccions guarden i processen grups d’objectes; les excepcions gestionen els errors. Són les dues eines que apareixen a qualsevol programa real.
  4. Aplicacions. Una interfície gràfica canvia el model d’execució: el programa no va de dalt a baix, sinó que espera esdeveniments. La persistència fa que les dades sobrevisquin a l’execució, amb fitxers o amb una base de dades.
  5. Consulta. Píndoles, glossari i eines no es llegeixen en ordre: es consulten quan apareix el dubte.
flowchart TD
    B["Java bàsic"] --> R["Recursivitat"]
    R --> O["Ordenació"]
    B --> C["Col·leccions i mapes"]
    O --> C
    B --> E["Excepcions"]
    C --> G["Interfícies gràfiques"]
    E --> G
    C --> P["Persistència POO"]
    E --> P

El llenguatge

  • Java bàsic: sintaxi, tipus, cadenes, variables, mètodes i estructura d’un programa Java

Algorismes

  • Recursivitat: resoldre problemes per casos més petits: implementació, model d’execució i verificació
  • Ordenació: algorismes, complexitat, estructures de dades, cerca binària i mètodes d’ordenació

Biblioteca estàndard

  • Col·leccions i mapes: triar la garantia que et cal és triar una interfície, i triar el rendiment és triar una implementació
    • Framework: el mapa de les interfícies, què garanteix cadascuna i quina implementació escollir
    • Genèrics: el mecanisme que fa que una List<String> només accepti text, i els errors de compilació que se’n deriven
    • Ús de col·leccions: recórrer, afegir i cercar en llistes, conjunts i cues, amb el paper d’equals() i hashCode()
    • Ús de mapes: les operacions amb parelles clau-valor i les tres implementacions habituals
    • Comparació d’objectes: definir l’ordre dels teus objectes amb Comparable i Comparator
    • Algorismes: les operacions de la classe Collections, com ordenar o cercar
    • Stream API: processar col·leccions de manera declarativa, encadenant filtres, transformacions i agrupacions
    • Expressions regulars: cercar i validar patrons dins de cadenes de text
  • Excepcions: separar el codi de gestió d’errors del codi normal i propagar-los fins a qui els pot resoldre
    • Tipus d’excepcions: la diferència entre checked i unchecked, i quan cal gestionar cadascuna
    • Gestió d’excepcions: throws, try-catch, finally, try-with-resources i captures múltiples
    • Excepcions pròpies: crear els teus tipus d’excepció i enllaçar-los amb la causa (wrapping)
    • Llençant excepcions: llençar checked i unchecked, rethrowing, wrapping i herència entre excepcions
    • Indicacions: criteris per decidir quin tipus d’excepció fer servir i on gestionar-la
    • Logging: registrar els missatges d’execució amb prioritats i destins, en lloc de System.out.println

Aplicacions

  • Interfícies gràfiques: una aplicació gràfica no s’executa de dalt a baix, espera; el model d’esdeveniments i la seva construcció amb JavaFX
  • Persistència POO: perquè l’estat dels objectes sobrevisqui a l’execució cal escriure’l fora de la memòria i saber-lo tornar a llegir
    • Fitxers en Java: formats a mida i estàndard (Properties, JSON, YAML), accés aleatori i serialització d’objectes
    • Java Database Connectivity (JDBC): drivers, connexions, sentències, transaccions i pool de connexions
    • Patrons de disseny: el model de capes, el patró DAO i les seves estratègies, i el control de concurrència

Consulta

  • Píndoles Java: notes curtes sobre detalls del llenguatge: noms, modificadors, conversions i genèrics
  • Glossari Java: definicions breus dels termes del llenguatge, ordenades alfabèticament
  • Eines Java: eines de l’ecosistema: JUnit, Maven, jps i jstack, i VisualVM

Després

Persistència de dades explica com dissenyar les dades que la persistència POO desa: models relacional i NoSQL, i protecció de dades personals. Processos i fils aprofundeix en la concurrència que les interfícies gràfiques només introdueixen.

Itinerari curt

Si no pots llegir-ho tot, aquests quatre documents en ordre donen una base suficient per escriure una aplicació Java que gestiona i desa dades:

Java bàsic → Col·leccions i mapes → Excepcions → Persistència POO

Last change: , commit: 1b2bff7