ebook img

Manuale pratico di Java: dalla teoria alla programmazion PDF

446 Pages·04.763 MB·Italian
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 Manuale pratico di Java: dalla teoria alla programmazion

Manuale฀pratico฀di฀Java: dalla฀teoria฀alla฀programmazione Manuale฀pratico฀di฀Java: dalla฀teoria฀alla฀programmazione linguaggio,฀networking,฀I/O interfacce฀grafi฀che,฀ programmazione฀concorrente ANDREA฀GINI฀–฀PAOLO฀AIELLO฀–฀LORENZO฀BETTINI฀–฀GIOVANNI฀PULITI Manuale฀pratico฀di฀Java:฀dalla฀teoria฀alla฀programmazione Andrea฀Gini฀–฀Paolo฀Aiello฀–฀Lorenzo฀Bettini฀–฀Giovanni฀Puliti ©฀MokaByte฀srl via฀Baracca,฀132 50127฀Firenze http://www.mokabyte.it e-mail:฀[email protected] ©฀2003,฀Tecniche฀Nuove via฀Eritrea,฀21 20157฀Milano http://www.tecnichenuove.com Redazione:฀ tel.฀0239090254฀–฀0239090257,฀fax฀0239090255 e-mail:฀[email protected] Vendite:฀ tel.฀0239090251฀–฀0239090252,฀fax฀0239090373 e-mail:฀[email protected] ISBN฀88-481-1553-5 Immagine฀di฀copertina:฀grafi฀ca฀Hops฀Libri฀su฀progetto฀di฀Lorenzo฀Pacini Realizzazione฀editoriale฀a฀cura฀di฀Escom฀–฀Milano Tutti฀i฀diritti฀sono฀riservati฀a฀norma฀di฀legge฀e฀a฀norma฀delle฀convenzioni฀internazionali. Nomi฀e฀marchi฀citati฀nel฀testo฀sono฀generalmente฀depositati฀o฀registrati฀dalle฀rispettive฀ case฀produttrici. Hops฀Libri฀è฀un฀marchio฀registrato฀Tecniche฀Nuove฀spa Indice generale Prefazione.......................................................................................................xv Introduzione฀a฀Java.......................................................................................xvii Le฀basi฀della฀programmazione.............................................................................xvii Programma฀e฀linguaggio฀di฀programmazione................................................xvii Compilatore฀e฀Virtual฀Machine.....................................................................xviii Il฀primo฀approccio฀con฀la฀programmazione........................................................xix I฀costrutti฀della฀programmazione.......................................................................xxii Struttura฀base฀di฀un฀programma฀Java...........................................................xxii Commenti......................................................................................................xxiii Istruzione฀elementare....................................................................................xxiii Sequenza.........................................................................................................xxiv Variabili฀intere.................................................................................................xxv Struttura฀di฀controllo฀decisionale:฀il฀costrutto฀if฀-฀else.................................xxvi Struttura฀di฀controllo฀iterativa:฀l’istruzione฀while.......................................xxviii Programmi฀di฀esempio........................................................................................xxx Cosa฀si฀può฀fare฀con฀questi฀costrutti?...............................................................xxxii Capitolo฀1฀-฀Tipi฀di฀dati....................................................................................1 Tipi฀interi..................................................................................................................1 Tipi฀numerici฀fl฀oating฀point.....................................................................................2 Assegnamento฀di฀variabili฀fl฀oating฀point............................................................3 Booleano...................................................................................................................3 Assegnamento฀su฀variabili฀booleane...................................................................4 Caratteri....................................................................................................................5 Promozioni฀e฀casting................................................................................................5 Autoincremento฀e฀autodecremento.........................................................................6 vi฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀Indice฀generale Capitolo฀2฀-฀Array..............................................................................................9 Dichiarazione฀di฀array............................................................................................10 Assegnamento.........................................................................................................10 Dereferenziazione..................................................................................................11 Differenza฀tra฀assegnamento฀e฀dereferenziazione.................................................12 Inizializzazione฀automatica฀di฀un฀vettore..............................................................14 Lunghezza฀di฀un฀vettore........................................................................................14 Un฀esempio฀di฀manipolazione฀di฀vettori...............................................................14 Vettori฀multidimensionali......................................................................................16 Vettori฀incompleti..................................................................................................17 Inizializzazione฀automatica฀di฀un฀vettore฀multidimensionale.........................18 Capitolo฀3฀-฀Strutture฀di฀controllo฀decisionali...............................................21 Condizioni฀booleane..............................................................................................21 Blocco฀di฀istruzioni฀e฀variabili฀locali......................................................................22 if฀–฀else...............................................................................................................23 if฀–฀else฀annidati................................................................................................24 if฀–฀else฀concatenati...........................................................................................25 Il฀costrutto฀switch฀–฀case........................................................................................26 Espressioni฀condizionali........................................................................................27 Capitolo฀4฀-฀Strutture฀di฀controllo฀iterative...................................................29 Ciclo฀while..............................................................................................................29 Ciclo฀do฀–฀while......................................................................................................30 Ciclo฀for..................................................................................................................30 Uso฀del฀for฀con฀parametri฀multipli...................................................................31 Cicli฀nidifi฀cati.........................................................................................................33 Uso฀di฀break...........................................................................................................34 L’istruzione฀continue..............................................................................................34 Uso฀di฀break฀e฀continue฀in฀cicli฀nidifi฀cati..............................................................35 Uso฀di฀break฀e฀continue฀con฀label.........................................................................35 Capitolo฀5฀-฀Uso฀degli฀oggetti.........................................................................37 La฀metafora฀degli฀oggetti.......................................................................................37 Lo฀stato฀di฀un฀oggetto฀e฀i฀suoi฀attributi............................................................38 Le฀modalità฀di฀utilizzo฀di฀un฀oggetto...............................................................39 La฀metafora฀degli฀oggetti฀nella฀programmazione..................................................39 Creazione฀di฀un฀oggetto....................................................................................40 Il฀comportamento฀di฀un฀oggetto฀e฀i฀suoi฀metodi.............................................42 Indice฀generale฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀vii Gli฀attributi฀di฀un฀oggetto฀e฀il฀suo฀stato...........................................................42 Interazione฀complessa฀tra฀oggetti.....................................................................43 Oggetti฀di฀sistema...................................................................................................43 Stringhe..................................................................................................................44 Le฀stringhe฀e฀Java:฀creazione,฀concatenazione฀e฀uguaglianza..........................44 Vettori฀dinamici......................................................................................................49 Uso฀di฀Vector.....................................................................................................50 Metodi฀fondamentali฀di฀Vector........................................................................50 Iterator...............................................................................................................51 Conversione฀in฀array.........................................................................................52 Un฀esempio฀riepilogativo..................................................................................52 Mappe฀hash............................................................................................................53 Metodi฀principali..............................................................................................53 Estrazione฀dell’insieme฀di฀chiavi฀o฀valori.........................................................54 Wrapper฀class.........................................................................................................54 Capitolo฀6฀-฀Le฀classi฀in฀Java..........................................................................57 Incapsulamento......................................................................................................58 Dichiarazione฀di฀metodo........................................................................................59 Dichiarazione฀di฀metodo฀con฀parametri..........................................................60 Chiamata฀a฀metodo:฀la฀dot฀notation......................................................................60 Parametro฀attuale฀e฀parametro฀formale............................................................62 Passaggio฀di฀parametri฀by฀value฀e฀by฀ref..........................................................63 Visibilità฀delle฀variabili:฀variabili฀locali..................................................................64 Ricorsione...............................................................................................................65 Costruttore.............................................................................................................66 Finalizzatori฀e฀garbage฀collection.....................................................................67 Convenzioni฀di฀naming..........................................................................................68 Ereditarietà.............................................................................................................68 Overloading............................................................................................................70 Overriding..............................................................................................................72 Identifi฀catori฀speciali฀this฀e฀super..........................................................................72 Binding฀dinamico...................................................................................................74 Upcasting,฀downcasting฀e฀operatore฀instanceof....................................................75 Equals฀e฀operatore฀==............................................................................................76 Capitolo฀7฀-฀Costrutti฀avanzati.......................................................................77 Classi฀astratte..........................................................................................................77 Il฀contesto฀statico:฀variabili฀e฀metodi฀di฀classe.................................................79 viii฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀Indice฀generale Interfacce................................................................................................................80 Interfacce฀per฀defi฀nire฀il฀comportamento........................................................80 Dichiarazione฀e฀implementazione฀di฀interfacce...............................................82 Un฀esempio฀concreto........................................................................................83 Tipi฀e฀polimorfi฀smo................................................................................................85 Classi฀e฀interfacce฀interne......................................................................................85 I฀package.................................................................................................................86 Dichiarazione฀di฀package..................................................................................86 Compilazione฀ed฀esecuzione.............................................................................87 Dichiarazione฀import........................................................................................88 Convenzioni฀di฀naming฀dei฀package.................................................................89 Principali฀package฀del฀JDK..............................................................................89 Modifi฀catori............................................................................................................90 Mofi฀catori฀di฀accesso.........................................................................................90 Final...................................................................................................................91 Native................................................................................................................92 Strictfp...............................................................................................................92 Transient,฀volatile฀e฀synchronized....................................................................92 Capitolo฀8฀-฀Eccezioni.....................................................................................93 Errori฀ed฀eccezioni.................................................................................................93 Gestione฀delle฀eccezioni.........................................................................................94 Costrutto฀try฀–฀catch฀–฀fi฀nally...........................................................................95 Gerarchia฀delle฀eccezioni..................................................................................96 Propagazione:฀l’istruzione฀throws....................................................................97 Lancio฀di฀eccezioni:฀il฀costrutto฀throw.............................................................98 Catene฀di฀eccezioni...........................................................................................99 Eccezioni฀defi฀nite฀dall’utente.........................................................................100 Esempio฀riepilogativo.....................................................................................101 Capitolo฀9฀-฀Assert฀in฀Java:฀tecniche฀e฀fi฀losofi฀a฀d’uso.................................103 Cosa฀sono฀le฀assert...............................................................................................103 Sherlock฀Holmes฀e฀la฀fi฀losofi฀a฀delle฀Assert....................................................104 Sintassi฀delle฀assert..........................................................................................106 Compilazione฀ed฀esecuzione฀di฀codice฀con฀assert.........................................106 Abilitazione฀e฀disabilitazione฀selettiva............................................................108 Capitolo฀10฀-฀Input/Output..........................................................................109 Introduzione.........................................................................................................109 Indice฀generale฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀ix Stream...................................................................................................................109 Le฀classi................................................................................................................110 La฀classe฀OutputStream.......................................................................................111 Descrizione฀classe...........................................................................................111 Metodi.............................................................................................................111 La฀classe฀InputStream..........................................................................................112 Descrizione฀classe...........................................................................................112 Metodi.............................................................................................................112 Gli฀stream฀predefi฀niti...........................................................................................114 Esempi.............................................................................................................114 Stream฀fi฀ltro..........................................................................................................116 Le฀classi฀FilterOutputStream฀e฀FilterInputStream.............................................117 Le฀classi฀DataOutputStream฀e฀DataInputStream...............................................117 Descrizione฀classe฀DataOutputStream...........................................................118 Costruttore......................................................................................................118 Metodi.............................................................................................................118 Descrizione฀classe฀DataInputStream..............................................................119 Costruttore......................................................................................................119 Metodi.............................................................................................................119 Classi฀BufferedOutputStream฀e฀BufferedInputStream......................................120 Descrizione฀classe฀BufferedOutputStream....................................................121 Costruttori.......................................................................................................121 Metodi.............................................................................................................121 Descrizione฀classe฀BufferedInputStream.......................................................122 Costruttori.......................................................................................................122 Metodi.............................................................................................................122 Stream฀per฀l’accesso฀alla฀memoria.......................................................................122 Descrizione฀classe฀ByteArrayInputStream.....................................................122 Costruttori.......................................................................................................122 Metodi.............................................................................................................123 Descrizione฀classe฀ByteArrayOutputStream..................................................123 Costruttori.......................................................................................................123 Metodi.............................................................................................................123 Descrizione฀classe฀PipedOutputStream.........................................................124 Costruttori.......................................................................................................125 Metodi.............................................................................................................125 Descrizione฀classe฀PipedInputStream............................................................125 Costruttori.......................................................................................................125 Metodi.............................................................................................................125 x฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀฀Indice฀generale I฀fi฀le.......................................................................................................................127 Descrizione฀classe฀File....................................................................................127 Costruttori.......................................................................................................127 Metodi.............................................................................................................128 Descrizione฀classe฀RandomAccess.................................................................129 Costruttori.......................................................................................................129 Metodi.............................................................................................................130 Le฀classi฀FileOutputStream฀e฀FileInputStream.............................................131 Descrizione฀classe฀FileOutputStream............................................................131 Costruttori.......................................................................................................131 Metodi.............................................................................................................132 Descrizione฀classe฀FileInputStream...............................................................132 Costruttori.......................................................................................................132 Metodi.............................................................................................................132 Classi฀Reader฀e฀Writer..........................................................................................133 Le฀classi฀PrintStream฀e฀PrintWriter...............................................................134 Altre฀classi฀e฀metodi฀deprecati.............................................................................134 Capitolo฀11฀-฀Programmazione฀concorrente฀ e฀gestione฀del฀multithread฀in฀Java................................................................135 Introduzione.........................................................................................................135 Processi฀e฀multitasking.........................................................................................135 Thread฀e฀multithreading......................................................................................138 I฀thread฀e฀la฀Java฀Virtual฀Machine.......................................................................139 La฀programmazione฀concorrente฀in฀Java............................................................140 Creazione฀e฀terminazione฀di฀un฀thread..........................................................141 L’interfaccia฀Runnable....................................................................................142 Identifi฀cazione฀del฀thread...............................................................................146 Maggior฀controllo฀sui฀thread...............................................................................146 Una฀fi฀ne฀tranquilla:฀uscire฀da฀run()................................................................146 Bisogno฀di฀riposo:฀il฀metodo฀sleep()...............................................................147 Gioco฀di฀squadra:฀il฀metodo฀yield()...............................................................148 La฀legge฀non฀è฀uguale฀per฀tutti:฀la฀priorità.....................................................149 E฀l’ultimo฀chiuda฀la฀porta:฀il฀metodo฀join()...................................................151 Interruzione฀di฀un฀thread...............................................................................154 Metodi฀deprecati.............................................................................................155 La฀sincronizzazione฀dei฀thread............................................................................156 Condivisione฀di฀dati฀fra฀thread.......................................................................156 Competizione฀fra฀thread.................................................................................158

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.