Argomento: Java, Linguaggi e Programmazione.
di Cay Horstmann
Prezzo: 33,05 Euro
Acquistalo da: laFeltrinelli.it
Prefazione xi
Capitolo 1 - Introduzione 1
1.1 Che cos'è un computer? 2
1.2 Che cos'è la programmazione? 2
1.3 L'anatomia di un computer 3
1.4 Tradurre in codice macchina programmi leggibili dalle persone 11
1.5 Linguaggi di programmazione 14
1.6 Il linguaggio di programmazione Java 14
1.7 Prendere confidenza con il computer 17
1.8 Compilare un semplice programma 20
1.9 Errori 27
1.10 Il processo di compilazione 29
1.11 Un primo sguardo a oggetti e classi 31
1.12 Algoritmi 39
Riepilogo del capitolo 41
Ulteriori letture 42
Classi, oggetti e metodi presentati nel capitolo 42
Esercizi di ripasso 43
Esercizi di programmazione 44
Capitolo 2 - Tipi di dati fondamentali 47
2.1 Tipi di numeri 48
2.2 Assegnazioni 57
2.3 Conversione dei tipi di dati 61
2.4 Costanti 68
2.5 Aritmetica 71
2.6 Stringhe 78
2.6.1 Variabili stringhe 78
2.6.2 Sottostringhe 79
2.6.3 Concatenazione 80
2.6.4 Conversione fra numeri e stringhe 81
2.7 Leggere l'input mediante la classe ConsoleReader 84
2.8 Leggere l'input nel linguaggio Java standard (argomento avanzato) 86
2.8.1 Convertire un flusso in un lettore 86
2.8.2 Gestire le eccezioni di input/output 87
2.8.3 Leggere numeri 90
Riepilogo del capitolo 92
Classi, oggetti e metodi presentati nel capitolo 93
Esercizi di ripasso 94
Esercizi di programmazione 97
Capitolo 3 - Classi
3.1 Determinare il comportamento di un oggetto
3.2 Definire i metodi
3.3 Variabili istanza
3.4 Implementare i metodi
3.5 Costruttori
3.6 Mettere all'opera una classe
3.7 Scoprire le classi
3.8 Copiare i riferimenti agli oggetti
3.9 Il riferimento a null
3.10 Implementare la classe ConsoleReader (argomento avanzato)
Riepilogo del capitolo
Esercizi di ripasso
Esercizi di programmazione
Capitolo 4 - Grafica
4.1 Perché le applet?
4.2 Una breve introduzione all'HTML
4.3 Una semplice applet
4.4 Forme grafiche
4.5 Colori
4.6 Font
4.7 Disegni semplici
4.8 Leggere testo di input
4.9 Confrontare informazioni visive e numeriche
4.10 Scegliere unità di misura adatte (avanzato)
Riepilogo del capitolo
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Capitolo 5 - Decisioni
5.1 L'enunciato if
5.2 Confrontare i valori
5.2.1 Operatori relazionali
5.2.2 Confrontare numeri in virgola mobile
5.2.3 Confrontare stringhe
5.2.4 Confrontare oggetti
5.3 Alternative multiple
5.3.1 Sequenze di confronto
5.3.2 Diramazioni annidate
5.4 Utilizzare le espressioni booleane
5.4.1 Il tipo booleano
5.4.2 Gli operatori booleani
5.4.3 La legge di De Morgan
5.4.4 Utilizzare variabili booleane
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Capitolo 6 - Iterazioni
6.1 Cicli while
6.2 Cicli for
6.3 Cicli do
6.4 Cicli annidati
6.5 Elaborazione dell'input
6.5.1 Leggere una serie di numeri
6.5.2 Rilevare un terminatore
6.5.3 Scomposizione di stringhe
6.5.4 Individuare i caratteri in una stringa
6.6 Numeri casuali e simulazioni
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Capitolo 7 - Ancora sui metodi
7.1 Parametri di metodi
7.2 Metodi accessori, metodi modificatori ed effetti collaterali
7.3 Metodi statici
7.4 L'enunciato return
7.5 Variabili statiche
7.6 Ciclo di vita, inizializzazione e ambito di una variabile
7.7 Commenti
7.8 Precondizioni
7.9 Ricorsione
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Capitolo 8 - Prove e debug
8.1 Test unitari
8.2 Selezionare i casi di prova
8.3 Valutazione dei casi di prova
8.4 Tracciamento dei programmi
8.5 Condizioni assertive
8.6 Il debugger
8.6.1 Usare un debugger
8.6.2 Un esempio di sessione di debug
8.6.3 Spostarsi attraverso il programma
8.7 Strategie di debug
8.7.1 Riprodurre l'errore
8.7.2 Dividi e impera
8.7.3 Sapere che cosa dovrebbe fare il programma
8.7.4 Controllare tutti i particolari
8.7.5 Capire ciascun errore prima di sistemarlo
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Capitolo 9 - Ereditarietà
9.1 Introduzione all'ereditarietà
9.2 Conversione fra tipi di classi
9.3 Gerarchie di ereditarietà
9.4 Ereditare variabili istanza e metodi
9.5 Costruzione della sottoclasse
9.6 Polimorfismo
9.7 Interfacce
9.8 Controllo di accesso
9.9 Object, la superclasse universale
9.9.1 Sovrascrivere il metodo toString
9.9.2 Sovrascrivere il metodo equals
9.9.3 Sovrascrivere il metodo clone
9.10 Pacchetti
9.10.1 Organizzare le classi correlate in pacchetti
9.10.2 Importare i pacchetti
9.10.3 Nomi di pacchetto
9.10.4 Come vengono individuate le classi
Riepilogo del capitolo 400
Ulteriori letture 401
Classi, oggetti e metodi presentati nel capitolo 401
Esercizi di ripasso 401
Esercizi di programmazione 404
Capitolo 10 - Gestione degli eventi 407
10.1 Eventi, intercettatori di eventi e origini di eventi 408
10.2 Event adapter 412
10.3 Implementare gli intercettatori di eventi quali classi interne 413
10.4 Finestre frame 422
10.5 Aggiungere componenti dell'interfaccia utente a una finestra frame 426
10.6 Leggere input di testo 429
Riepilogo del capitolo 437
Ulteriori letture 438
Classi, oggetti e metodi presentati nel capitolo 438
Esercizi di ripasso 439
Esercizi di programmazione 440
Capitolo 11 - Array e vettori 443
11.1 Usare gli array per immagazzinare dati 444
11.1.1 Accedere agli elementi degli array 444
11.1.2 Copiare gli array 449
11.1.3 Array riempiti solo in parte 450
11.2 Array come parametri e come valori di ritorno 455
11.3 Semplici algoritmi degli array 456
11.3.1 Trovare un valore 456
11.3.2 Contare 457
11.3.3 Eliminare un elemento 457
11.3.4 Inserire un elemento 460
11.4 Array paralleli 461
11.5 Array come dati oggetto 466
11.6 Vettori 473
11.6.1 Aggiungere, impostare e ottenere elementi vettore 473
11.6.2 Inserire numeri nei vettori 474
11.6.3 Convertire i vettori in array 475
11.7 Array bidimensionali 477
Riepilogo del capitolo 480
Ulteriori letture 480
Classi, oggetti e metodi presentati nel capitolo 481
Esercizi di ripasso 481
Esercizi di programmazione 483
Capitolo 12 - Interfacce utente grafiche 491
12.1 Gestione del layout 492
12.2 Pulsanti 495
12.3 Componenti testuali 500
12.4 Scelte 504
12.4.1 Pulsanti radio 504
12.4.2 Caselle di controllo 505
12.4.3 Caselle combinate a discesa 506
12.5 Menu 510
12.6 Esempio: consultare la documentazione di Swing 514
Riepilogo del capitolo 521
Ulteriori letture 522
Classi, oggetti e metodi presentati nel capitolo 522
Esercizi di ripasso 523
Esercizi di programmazione 524
Capitolo 13 - Flussi ed eccezioni 527
13.1 Flussi, lettori e scrittori 528
13.2 Leggere e scrivere file di testo 533
13.3 Introduzione alla gestione delle eccezioni 534
13.3.1 Sollevare eccezioni 534
13.3.2 Intercettare eccezioni 536
13.3.3 Eccezioni controllate 538
13.4 Esempio: leggere dati di input in un programma grafico 544
13.5 Argomenti della riga comandi 550
13.6 Accesso casuale 556
13.7 Flussi di oggetti 563
Riepilogo del capitolo 565
Ulteriori letture 566
Classi, oggetti e metodi presentati nel capitolo 566
Esercizi di ripasso 567
Esercizi di programmazione 568
Capitolo 14 - Progettazione orientata agli oggetti 575
14.1 Il ciclo di vita del software 576
14.2 Scoprire le classi 580
14.3 Relazioni fra classi 583
14.4 Esempio: stampare una fattura 586
14.4.1 Requisiti 587
14.4.2 Schede CRC 587
14.4.3 Diagrammi UML 590
14.4.4 Documentazione dei metodi 592
14.4.5 Implementazione 594
14.5 Esempio: uno sportello bancario automatico 598
14.5.1 Requisiti 598
14.5.2 Schede CRC 599
14.5.3 Diagramma UML 603
14.5.4 Documentazione dei metodi 604
14.5.5 Implementazione 606
Riepilogo del capitolo 617
Ulteriori letture 617
Eercizi di ripasso 618
Esercizi di programmazione 619
Capitolo 15 - Algoritmi 623
15.1 Ordinamento per selezione 624
15.2 Profilo dell'algoritmo di ordinamento per selezione 627
15.3 Analisi delle prestazioni dell'algoritmo di ordinamento per selezione 630
15.4 Ordinamento per fusione 632
15.5 Analisi dell'algoritmo di ordinamento per fusione 635
15.6 Cercare 639
15.7 Ricerca binaria 641
15.8 Esplorare e ordinare dati veri 643
15.9 L'efficienza della ricorsione 646
Riepilogo del capitolo 652
Ulteriori letture 652
Classi, oggetti e metodi presentati nel capitolo 652
Esercizi di ripasso 652
Esercizi di programmazione 655
Capitolo 16 - Introduzione alle strutture di dati 659
16.1 Utilizzare liste concatenate 660
16.2 Implementare liste concatenate 664
16.3 Alberi di ricerca binari 673
Riepilogo del capitolo 684
Classi, oggetti e metodi presentati nel capitolo 684
Esercizi di ripasso 685
Esercizi di programmazione 688
Appendice 1 - Linguaggio Java: linee guida per la codifica 691
A1.1 Introduzione 691
A1.2 File sorgenti 692
A1.3 Classi 693
A1.4 Metodi 693
A1.5 Variabili e costanti 694
A1.6 Controllo del flusso 695
A 1.6.1 L'enunciato if 695
A 1.6.2 L'enunciato for 696
A 1.6.3 Controllo di flusso non lineare 696
A 1.6.4 Eccezioni 696
A1.7 Questioni lessicali 697
A 1.7.1 Convenzioni per l'assegnazione dei nomi 697
A 1.7.2 Rientri e spazi vuoti 697
A 1.7.3 Graffe 698
A 1.7.4 Layout instabile 699
Appendice 2 - La libreria Java 701
A 2.1 Pacchetto java.applet 703
A 2.2 Pacchetto java.awt 704
A 2.3 Pacchetto java.awt.event 708
A 2.4 Pacchetto java.awt.font 709
A 2.5 Pacchetto java.awt.geom 710
A 2.6 Pacchetto java.io 712
A 2.7 Pacchetto java.lang 717
A 2.8 Pacchetto java.math 724
A 2.9 Pacchetto java.text 725
A 2.10 Pacchetto java.util 726
A 2.11 Pacchetto javax.swing 729
A 2.12 Pacchetto javax.swing.border 734
A 2.13 Pacchetto javax.swing.event 734
A 2.14 Pacchetto javax.swing.text 735
Appendice 3 - I sottoinsiemi Basic Latin e Latin-1 di Unicode 737
Glossario 741
Collana: Idee e Strumenti
Uscita: Settembre 2000
Pagine: 768
ISBN: 9788873036685
Formato: 19 x 23,5
Booksite:
» Presentazione
» Indice libro
» Sommario
» Prefazione
» Capitolo primo
» Codice sorgente
» Errata
» Area docenti
*Nota per i docenti
I docenti interessati a ricevere copie saggio possono richiederle qui.
Feedback: View blog reactions
Una nuova ed arricchita edizione del volume che insegna a programmare in Java e ad acquisire la padronanza del linguaggio
L'apprendimento di Java è piuttosto semplice rispetto ad altri linguaggi di programmazione, tuttavia il linguaggio non è tutto. La parte più interessante è data dall'uso adeguato delle numerosissime classi. L'autore mostra...
La classifica delle vendite di questo sito durante l'ultimo mese.