Librinformatica

Newsletter

Libreria Gaia Scienza Edizioni Erasmo Edizioni del Boccale

Java 7 guida completa

Apogeo

Java 7 guida  completa

In offerta
33,15 € IVA compresa

39,00 € IVA compresa

(sconto del 15 %)

9788850329885

  • Volumi: 1
  • Data Pubblicazione: 09/2011
  • Lingua: italiano
  • Livello: Introduttivo Intermedio
  • Pagine: 651
  • Collana: Guida completa
  • Autore: Pellegrino Principe

Java è il linguaggio di programmazione che più ha rivoluzionato il mondo dell’informatica e della tecnologia nel suo insieme. Dal 1995, anno del suo debutto ufficiale, a oggi risulta impiegato nei più svariati dispositivi elettronici come computer, smartphone, televisori, navigatori satellitari. Studiare Java permette non solo di imparare un moderno linguaggio di programmazione, ma anche di posizionarsi all'interno del mercato del lavoro nei più disparati settori tecnologici.

Questo libro nasce proprio con l’obiettivo di fornire ai lettori un percorso di apprendimento pratico, immediato e attuale. Si parte dalle caratteristiche della versione 7, per poi affontare gli argomenti basilari della programmazione in Java, fino a temi di carattere specifico come la progettazione di interfacce utente, la programmazione di rete e dei database, lo sviluppo di applicazioni web, offrendo ai lettori una panoramica a 360 gradi. Il tutto corredato da numerosi esempi e listati da studiare, compilare e provare.



Argomenti in breve:


  • Introduzione al linguaggio
  • Variabili, costanti, letterali e dati
  • Array, operatori e strutture di controllo
  • Programmazione orientata agli oggetti
  • Gestione degli errori
  • Documentazione del codice sorgente
  • Stringhe, caratteri ed espressioni regolari
  • Input/Output: stream e file
  • Progettazione di interfacce utente
  • Gestione dei database
  • Programmazione di rete e sviluppo di applicazioni web

 


L'autore

Pellegrino Principe è un programmatore con una passione sviscerata per tutti quei linguaggi che hanno una sintassi "C-like" e in particolar modo per Java, C/C++, C# e Javascript. Ricorda con nostalgia le notti insonni passate a hackerare in C (LATTICE) e in Assembly (DEVPAC) le librerie del meraviglioso e inimitabile AMIGA OS. Ha scritto numerosi articoli e tutorial sui più svariati argomenti di programmazione per le principali riviste del settore IT. Attualmente è software developer e docente in linguaggi di programmazione presso la Sezione Ricerca e Sviluppo Applicazioni Web del Servizio Informatica del Comando Generale della Guardia di Finanza di Roma.

Prefazione ...........................................................................................xv



Capitolo 1 Introduzione al linguaggio ...............................................1

Paradigmi di programmazione ......................................................................... 2

Elementi di un ambiente Java ........................................................................... 4

Il primo programma Java ................................................................................. 5

Compilazione ed esecuzione del codice ........................................................... 7

Problemi di compilazione ed esecuzione? ........................................................ 8



Capitolo 2 Variabili, costanti, letterali e tipi ......................................9

Variabili primitive .......................................................................................... 11

Variabili riferimento ...................................................................................... 13

Variabili locali, globali e scope ........................................................................ 15

Costanti......................................................................................................... 16

Letterali ......................................................................................................... 17

Conversione tra tipi ....................................................................................... 19



Capitolo 3 Array .................................................................................23

Array monodimensionali ............................................................................... 23

Array bidimensionali ..................................................................................... 28

Array multidimensionali ................................................................................ 31



Capitolo 4 Operatori ..........................................................................33

Operatore di assegnamento ............................................................................ 34

Operatori aritmetici ...................................................................................... 34

Operatori aritmetici di assegnamento ............................................................. 35

Operatori relazionali e di uguaglianza ............................................................ 35

Operatori logici ............................................................................................. 38

Operatore ternario ........................................................................................ 40

Operatori a livello di bit (bitwise) .................................................................. 41

Tabella di precedenza degli operatori ............................................................. 44



Capitolo 5 Strutture di controllo .......................................................47

Struttura di selezione if .................................................................................. 47

Struttura di selezione if/else ........................................................................... 48

Struttura di selezione switch/case................................................................... 51

Struttura di iterazione while .......................................................................... 54

Struttura di iterazione do/while ..................................................................... 55

Struttura di iterazione for .............................................................................. 56

Enhanced for ................................................................................................. 59

Istruzioni break, continue ed etichette............................................................ 60



Capitolo 6 Metodi ...............................................................................65

Utilizzo dei metodi........................................................................................ 67

Passaggio degli argomenti ai metodi ............................................................... 68

Argomenti a lunghezza variabile .................................................................... 72

Parametri di tipo array ................................................................................... 74

Ricorsione .................................................................................................... 75

Overloading dei metodi ................................................................................. 77



Capitolo 7 Programmazione basata sugli oggetti ...........................79

Classi ............................................................................................................ 80

Visibilità e controllo di accesso ...................................................................... 84

Costruttori: ripasso e dettagli ......................................................................... 86

Metodi set e get: ripasso e dettaglio ................................................................ 87

Membri di classe costanti ............................................................................... 89

Oggetti come elementi di array ..................................................................... 90

Oggetti come membri di classe ...................................................................... 90

Oggetti come parametri ................................................................................ 91

La keyword this ............................................................................................. 92

Membri di classe ........................................................................................... 95

Classi annidate ............................................................................................... 98

Tipi enumerati ............................................................................................ 100



Capitolo 8 Programmazione orientata agli oggetti ..................... 105

Gerarchie di classi ed ereditarietà ................................................................. 106

Polimorfi smo e binding dinamico ................................................................ 111

Classi astratte ............................................................................................... 114

Interfacce .................................................................................................... 117

Classi anonime ............................................................................................ 120

Ereditarietà multipla con le interfacce .......................................................... 122



Capitolo 9 Programmazione generica ........................................... 123

Metodi generici ........................................................................................... 123

Classi generiche ........................................................................................... 133

Tipi raw ...................................................................................................... 136

Tipi di parametro wildcard .......................................................................... 138



Capitolo 10 Errori software .............................................................. 141

La keyword assert ........................................................................................ 142

Le eccezioni ................................................................................................ 143

Rilancio delle eccezioni ............................................................................... 146

Eccezioni checked e unchecked ................................................................... 150

Eccezioni nei costruttori e nei distruttori ..................................................... 152

Eccezioni a catena ....................................................................................... 154

Metodi informativi delle eccezioni .............................................................. 156

Classi eccezione della libreria standard ......................................................... 157

Indice generale vii



Capitolo 11 Package ......................................................................... 159

Creazione di package ................................................................................... 159

Utilizzo dei package .................................................................................... 161

Visibilità e disponibilità dei package ............................................................. 163

Archiviazione dei package ........................................................................... 166

Meccanismo delle estensioni ........................................................................ 170

Specifi catore di accesso di tipo package ........................................................ 170



Capitolo 12 Annotazioni ................................................................... 175

Annotazioni standard per il compilatore ....................................................... 176

Annotazione @Override ................................................................... 176

Annotazione @Deprecated ................................................................ 177

Annotazione @SuppressWarnings ...................................................... 178

Annotazione @SafeVarargs ................................................................. 179

Annotazioni personalizzate .......................................................................... 181

Annotare le annotazioni ............................................................................... 182

Processare le annotazioni custom ................................................................. 183

Processing a livello di codice sorgente ................................................ 183

Processing a run-time ........................................................................ 186



Capitolo 13 Documentazione del codice sorgente ......................... 189

Documentare una classe ............................................................................... 189

Altri tag ....................................................................................................... 192

Generare la documentazione ........................................................................ 194



Capitolo 14 Caratteri e stringhe ....................................................... 197

La classe Character....................................................................................... 198

Alcuni metodi del tipo Character ....................................................... 198

La classe String ............................................................................................ 200

Alcuni metodi del tipo String ............................................................ 200

La classe StringBuilder ................................................................................. 205

Alcuni metodi del tipo StringBuilder ................................................. 207

La classe StringTokenizer ............................................................................. 208

Alcuni metodi del tipo StringTokenizer ............................................. 209



Capitolo 15 Espressioni regolari ...................................................... 211

Concetti propedeutici .................................................................................. 211

Espressioni regolari con la classe String ........................................................ 216

Le classi Pattern e Matcher .......................................................................... 217

Alcuni metodi del tipo Pattern ........................................................... 219

Alcuni metodi del tipo Matcher ......................................................... 221



Capitolo 16 Collezioni ....................................................................... 225

Il framework di Java per le collezioni ........................................................... 227

L’interfaccia Collection ...................................................................... 229

L’interfaccia Set.................................................................................. 230

L’interfaccia SortedSet........................................................................ 231

L’interfaccia NavigableSet .................................................................. 232

L’interfaccia List ................................................................................. 232

L’interfaccia Queue ............................................................................ 233

L’interfaccia Deque ............................................................................ 234

L’interfaccia Map ............................................................................... 234

L’interfaccia SortedMap ..................................................................... 236

L’interfaccia NavigableMap ................................................................ 236

Implementazioni dell’interfaccia Set ................................................... 237

Implementazioni dell’interfaccia List .................................................. 240

Implementazioni delle interfacce Queue e Deque .............................. 241

Implementazioni dell’interfaccia Map ................................................. 242

Le interfacce Comparable e Comparator ............................................ 244

Le interfacce Iterator, ListIterator e Iterable ........................................ 248

Algoritmi polimorfi ci sulle collezioni ................................................. 252

Collezioni concorrenti ....................................................................... 254



Capitolo 17 Programmazione concorrente .................................... 257

Processi e thread .......................................................................................... 258

Stati di un thread ............................................................................... 258

Priorità dei thread .............................................................................. 259

La classe Thread e l’interfaccia Runnable ..................................................... 260

Alcuni metodi del tipo Thread ........................................................... 263

Sincronizzazione fra i thread ........................................................................ 263

Un esempio di mutex ........................................................................ 265

Un esempio di cooperazione .............................................................. 268

Liveness dei thread ....................................................................................... 272

Un esempio di deadlock .................................................................... 273

Un esempio di starvation ................................................................... 275

Un esempio di livelock ...................................................................... 276

Concorrenza con le API ad alto livello ......................................................... 279

Il package java.util.concurrent ............................................................ 280

Il package java.util.concurrent.locks ................................................... 283

Il package java.util.concurrent.atomic ................................................ 285



Capitolo 18 Input/Output: stream e fi le .......................................... 287

Utilizzo degli stream .................................................................................... 287

Alcuni metodi del tipo BufferedReader.............................................. 292

Alcuni metodi del tipo BufferedWriter .............................................. 292

Scansione e formattazione del testo .............................................................. 293

Le nuove API per l’input e l’output (NIO.2) ................................................ 295

L’interfaccia Path ............................................................................... 296

La classe Files ..................................................................................... 298

L’interfaccia PathMatcher ................................................................... 303

L’interfaccia FileVisitor ...................................................................... 304

L’interfaccia WatchService .................................................................. 306



Capitolo 19 Progettazione di interfacce utente ............................. 309

Container .................................................................................................... 312

Il container JFrame ............................................................................ 313

Il container JDialog ............................................................................ 315

Il container JApplet ............................................................................ 319

Il container JPanel .............................................................................. 321

Il container JTabbedPane ................................................................... 322

Il container JScrollPane ...................................................................... 325

Il container JSplitPane ........................................................................ 327

I container JDesktopPane e JInternalFrame ........................................ 329

Il container JToolBar .......................................................................... 331

Layout manager ........................................................................................... 333

Il layout manager BorderLayout ......................................................... 334

Indice generale ix

Il layout manager BoxLayout .............................................................. 336

Il layout manager CardLayout ............................................................ 338

Il layout manager FlowLayout ............................................................ 340

Il layout manager GridLayout ............................................................. 341

Il layout manager GridBagLayout ....................................................... 343

Il layout manager GroupLayout .......................................................... 346

Il layout manager SpringLayout .......................................................... 350

Posizionamento assoluto dei componenti ........................................... 352

Posizionamento dei componenti in profondità ................................... 354

Controlli grafi ci di interfaccia ...................................................................... 356

Il controllo JLabel .............................................................................. 356

Il controllo JButton ............................................................................ 358

Il controllo JCheckBox ...................................................................... 359

Il controllo JRadioButton .................................................................. 361

Il controllo JTextField ........................................................................ 362

Il controllo JPasswordField ................................................................. 363

Il controllo JFormattedTextField ........................................................ 365

Il controllo JTextArea......................................................................... 369

Il controllo JComboBox .................................................................... 370

Il controllo JList ................................................................................. 373

Il controllo JSlider .............................................................................. 376

Il controllo JSpinner .......................................................................... 378

Il controllo JTree ............................................................................... 380

Il controllo JColorChooser ................................................................ 382

Il controllo JFileChooser .................................................................... 384

Il controllo JTable .............................................................................. 387

Il controllo JProgressBar ..................................................................... 391

Il controllo JToolTip .......................................................................... 394

Il controllo JSeparator ........................................................................ 396

Il controllo JEditorPane ..................................................................... 398

Il controllo JTextPane ........................................................................ 400

Menu .......................................................................................................... 403

Barre dei menu .................................................................................. 403

Menu contestuali ............................................................................... 409

Gestione degli eventi ................................................................................... 412

Eventi di tipo ActionEvent ................................................................. 416

Eventi di tipo CaretEvent .................................................................. 417

Eventi di tipo FocusEvent .................................................................. 418

Eventi di tipo ItemEvent .................................................................... 420

Eventi di tipo KeyEvent ..................................................................... 421

Eventi di tipo MouseEvent e MouseWheelEvent ............................... 423

Eventi di tipo MenuEvent, MenuKeyEvent e MenuDragMouseEvent ... 427

Eventi di tipo WindowEvent .............................................................. 430

Trasferimento dei dati .................................................................................. 432

Drag & drop ...................................................................................... 433

Clipboard .......................................................................................... 444

Integrazione con il desktop (JDIC) .............................................................. 450

La classe Desktop ............................................................................... 451

Le classi SystemTray e TrayIcon .......................................................... 453

Splashscreen ................................................................................................ 456

Scelta del look & feel ................................................................................... 459

Concorrenza con Swing .............................................................................. 461

La classe SwingWorker ....................................................................... 462



Capitolo 20 Programmazione di rete .............................................. 467

Teoria di base .............................................................................................. 467

Classifi cazione delle reti ..................................................................... 468

Livelli e protocolli di rete ................................................................... 469

Il modello OSI e la suite TCP/IP ....................................................... 471

Trasmissione dei dati e mezzi trasmissivi ............................................. 473

Indirizzi IP ........................................................................................ 473

Il protocollo TCP .............................................................................. 476

Il protocollo UDP ............................................................................. 477

DNS ............................................................................................... 478

La posta elettronica ............................................................................ 480

Il World Wide Web ............................................................................. 482

Le API per l’accesso alle interfacce di rete .................................................... 486

Alcuni metodi del tipo NetworkInterface ........................................... 489

Alcuni metodi del tipo InetAddress .................................................... 489

Utilizzo degli URL ..................................................................................... 490

Alcuni metodi del tipo URL ............................................................. 494

Alcuni metodi del tipo UrlConnection .............................................. 495

Utilizzo dei socket ....................................................................................... 495

Alcuni metodi del tipo ServerSocket .................................................. 503

Alcuni metodi del tipo Socket ............................................................ 503

Utilizzo dei datagrammi .............................................................................. 503

Alcuni metodi del tipo DatagramSocket ............................................. 507

Alcuni metodi del tipo DatagramPacket ............................................. 507



Capitolo 21 Programmazione dei database .................................... 509

Concetti propedeutici .................................................................................. 510

Introduzione al linguaggio SQL ................................................................... 512

Inserimento dei record ....................................................................... 515

Selezione dei record ........................................................................... 516

Aggiornamento dei record ................................................................. 518

Cancellazione di record ...................................................................... 518

Stored procedure ............................................................................... 518

L’architettura JDBC ..................................................................................... 522

Connessione a un database ........................................................................... 524

Alcuni metodi del tipo DriverManager .............................................. 528

Resultset e statement ................................................................................... 528

Navigazione nei resultset .................................................................... 531

Resultset modifi cabili ........................................................................ 537

Alcuni metodi del tipo ResultSet ....................................................... 540

Alcuni metodi del tipo Statement ....................................................... 540

Prepared statement ...................................................................................... 541

Alcuni metodi del tipo PreparedStatement ......................................... 543

Callable statement ........................................................................................ 544

Alcuni metodi del tipo CallableStatement .......................................... 547

Metadati ...................................................................................................... 547

Alcuni metodi del tipo DatabaseMetaData ......................................... 553

Alcuni metodi del tipo ResultSetMetaData ........................................ 553

Alcuni metodi del tipo ParameterMetaData ........................................ 554

Transazioni .................................................................................................. 554

Utilizzo delle transazioni con JDBC ................................................... 558

Rowset........................................................................................................ 558

L’implementazione del tipo JdbcRowSet ............................................ 559

Indice generale xi

L’implementazione del tipo CachedRowSet ....................................... 560

L’implementazione del tipo WebRowSet ............................................ 562

L’implementazione del tipo FilteredRowSet ....................................... 563

L’implementazione del tipo JoinRowSet ............................................ 565



Capitolo 22 Sviluppo di applicazioni web ....................................... 567

Uno sguardo alla piattaforma JEE ................................................................ 567

Elementi e servizi di base ................................................................... 568

Modello architetturale ........................................................................ 569

Principali tecnologie per lo sviluppo web ........................................... 571

Servlet ......................................................................................................... 572

Utilizzo delle annotazioni .................................................................. 575

Processing dei parametri di una richiesta ............................................ 578

Alcuni metodi del tipo HttpServletRequest ....................................... 580

Alcuni metodi del tipo HttpServletResponse ..................................... 581

Persistenza dei dati ............................................................................. 581

JavaServer Pages ........................................................................................... 585

Una prima applicazione ..................................................................... 587

Azioni standard .................................................................................. 591

Unifi ed expression language ............................................................... 595

JSP Standard tag library (JSTL) .................................................................... 599

Libreria dei tag core ........................................................................... 600

Libreria dei tag formatting e i18n ....................................................... 603

Libreria dei tag XML ......................................................................... 608

Libreria dei tag SQL .......................................................................... 610

Libreria di funzioni ............................................................................ 612

JavaServer Faces ........................................................................................... 614

Una prima applicazione ..................................................................... 616

Ajax con le JSF .................................................................................. 620

Appendice A Installazione e confi gurazione della piattaforma JSE ..625

Appendice B Installazione e confi gurazione della piattaforma JEE ..627

Appendice C Installazione e confi gurazione di MySQL .................... 629

Windows: installazione e confi gurazione ...................................................... 629

GNU/Linux: installazione e confi gurazione ................................................. 630

Creazione di un utente ................................................................................ 630

Appendice D Installazione e utilizzo di NetBeans ............................ 631

Sviluppare applicazioni Java SE con l’IDE .................................................... 632

Sviluppare applicazioni Java EE con l’IDE .................................................... 636

Appendice E Applet ............................................................................ 637

Creazione di applet ...................................................................................... 638

Sicurezza degli applet ................................................................................... 641

I

ndice analitico...................................................................................... 643

Carrello

Non ci sono prodotti

Spedizione 0,00 €
Totale 0,00 €

Carrello Acquista