Manuali Gratis >
Programmazione >
Java
Manuale
Concetti di informatica e fondamenti di Java - terza edizione
Editore: Apogeo
Pagine: 793
Autore: Horstmann Cay S.
Collana: Idee e strumenti
Acquistalo a prezzo scontato:
|
Data Pubblicazione: 2005-06-01
ISBN: 8850323182
Prezzo: 45.00 €
Lingua: Italiano
|
Quarta di copertina
Scritto in modo chiaro e brillante, questo libro ha rappresentato una risposta didattica di grande efficacia per la nuova formulazione dei corsi di laurea.
La terza edizione è stata completamente aggiornata alla nuova release di Java (Java 2 Platform Standard Edition 5.0).
La prime due edizioni di questo libro si sono imposte nel mondo universitario italiano come efficace soluzione per i corsi introduttivi di informatica dedicati ai principi della progammazione.
L'autore non si addentra nei dettagli di Java; piuttosto, con oculata scelta didattica, utilizza questo linguaggio come uno strumento per insegnare a programmare "bene", ossia per far adottare agli studenti un corretto stile di programmazione, e in particolare per trasmettere loro fin dal principio gli strumenti concettuali e gli schemi di pensiero più appropriati per la programmazione orientata agli oggetti.
Questa nuova edizione contiene molte modifiche sostanziali e decisamente interessanti, che si possono così riassumere:
- l'adeguamento a Java 5 ha richiesto alcune modifiche significative, in particolare:
-
- tutto il codice che gestisce i dati in ingresso è stato riscritto, per l'introduzione della nuova classe Scanner;
- presentazione e utilizzo della "programmazione per tipi generici";
- seguendo una tendenza ormai consolidata si è proceduto a una "emarginazione" degli applet dando maggior risalto alle applicazioni grafiche di tipo "frame";
- il capitolo 2 della vecchia edizione "Introduzione a classi e oggetti" è stato quasi completamente riscritto, dando origine a due nuovi capitoli, "Utilizzare oggetti" e "Realizzare classi", che rendono la trattazione molto più fluida e didatticamente efficace;
- il libro è arricchito di sezioni con domande di auto-valutazione al termine di ogni paragrafo (con risposte al termine di ogni capitolo) e corposi progetti di programmazione al termine di ogni capitolo;
- il capitolo sugli array è stato decisamente anticipato e sostanzialmente ristrutturato.
- è stato aggiunto un capitolo alla fine del libro, dal titolo "Generic Programming", fondamentale per garantire l'adeguamento del testo a Java 5.
Contenuti in breve:
- Oggetti e Classi
- Tipi di dati fondamentali
- Grafica
- Decisioni
- Iterazioni
- Interfacce e polimorfismo
- Gestione di eventi
- Ereditarietà
- Interfacce grafiche utente
- Array
- Eccezioni
- Flussi
- Ricorsione
- Ricerca e ordinamento
- Strutture dati.
L'autore
Cay Horstmann è docente presso la San Jose State University.
L'edizione italiana è a cura di Marcello Dalpasso docente di Informatica presso l'Università di Padova
Al volume è abbinato un sito dove studenti e docenti potranno trovare approfondimenti e materiale di supporto.
Indice
Presentazione della terza edizione italiana
Prefazione
Capitolo 1 – Introduzione
1.1 Che cos’è la programmazione?
1.2 L’anatomia di un computer
1.3 Tradurre in codice macchina programmi leggibili dalle persone
1.4 Il linguaggio di programmazione Java
1.5 Prendere confidenza con il computer
1.6 Compilare un semplice programma
1.7 Errori
1.8 Il processo di compilazione
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 2 – Utilizzare oggetti
2.1 Tipi e variabili
2.2 L’operatore di assegnazione
2.3 Oggetti, classi e metodi
2.4 Parametri e valori restituiti dei metodi
2.5 Tipi numerici
2.6 Costruire oggetti
2.7 Metodi d’accesso e metodi modificatori
2.8 Realizzare un programma di collaudo
2.9 La documentazione API
2.10 Riferimenti a oggetti
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 3 – Realizzare classi
3.1 Scatole nere
3.2 Progettare l’interfaccia pubblica di una classe
3.3 Commentare l’interfaccia pubblica
3.4 Campi di esemplare
3.5 Realizzare costruttori e metodi
3.6 Collaudare una classe
3.7 Categorie di variabili
3.8 Parametri impliciti ed espliciti nei metodi
Riepilogo del capitolo
Ulteriori letture
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 4 – Tipi di dati fondamentali
4.1 Tipi di numeri
4.2 Costanti
4.3 Assegnazione, incremento e decremento
4.4 Aritmetica e funzioni matematiche
4.5 Invocare metodi statici
4.6 Stringhe
4.7 Leggere dati in ingresso
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 5 – Programmazione grafica
5.1 Finestre di tipo frame
5.2 Disegnare figure
5.3 Forme grafiche
5.4 Colori
5.5 Disegnare figure complesse
5.6 Ricevere testo in ingresso
5.7 Confrontare informazioni visive e numeriche
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 6 – Decisioni
6.1 L’enunciato if
6.2 Confrontare valori
6.2.1 Operatori relazionali
6.2.2 Confrontare numeri in virgola mobile
6.2.3 Confrontare stringhe
6.2.4 Confrontare oggetti
6.2.5 Confrontare null
6.3 Alternative multiple
6.3.1 Sequenze di confronti
6.3.2 Diramazioni annidate
6.4 Utilizzare le espressioni booleane
6.4.1 Il tipo boolean
6.4.2 I metodi predicativi
6.4.3 Gli operatori booleani
6.4.4 Utilizzare variabili booleane
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 7 – Iterazioni
7.1 Cicli while
7.2 Cicli for
7.3 Cicli annidati
7.4 Utilizzo di valori “sentinella”
7.5 Numeri causali e simulazioni
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 8 – Vettori e array
8.1 Array
8.2 Vettori
8.3 Involucri e auto-impacchettamento
8.4 Il ciclo for generalizzato
8.5 Semplici algoritmi per vettori
8.5.1 Contare
8.5.2 Trovare un valore
8.5.3 Trovare il massimo o il minimo
8.6 Array a due dimensioni
8.7 Copiare gli array
Riepilogo del capitolo
Ulteriori letture
Classi. oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 9 – Progettazione di classi
9.1 Scegliere le classi
9.2 Coesione e accoppiamento
9.3 Metodi di accesso, metodi modificatori e classi immutabili
9.4 Effetti collaterali
9.5 Pre-condizioni e post-condizioni
9.6 Metodi statici
9.7 Variabili statiche
9.8 Ambito di visibilità
9.8.1 Visibilità di variabili locali
9.8.2 Visibilità di membri di classi
9.8.3 Visibilità sovrapposte
9.9 Pacchetti
9.9.1 Organizzare in pacchetti le classi correlate
9.9.2 Importare pacchetti
9.9.3 Nomi di pacchetto
9.9.4 Come vengono localizzate le classi
Riepilogo del capitolo
Ulteriori letture
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 10 – Interfacce e polimorfismo
10.1 Utilizzo di interfacce per il riutilizzo del codice
10.2 Conversione di tipo fra classi e interfacce
10.3 Polimorfismo
10.4 Usare interfacce di smistamento
10.5 Classi interne
10.6 Elaborare eventi di temporizzazione
10.7 Accesso alle variabili circostanti
Riepilogo del capitolo
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 11 – Gestione degli eventi
11.1 Eventi: ricevitori e sorgenti
11.2 Costruire applicazioni dotate di pulsanti
11.3 Elaborare testo in ingresso
11.4 Eventi del mouse
Riepilogo del capitolo
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 12 – Ereditarietà
12.1 Introduzione all’ereditarietà
12.2 Gerarchie di ereditarietà
12.3 Ereditare metodi e campi di esemplare
12.4 Costruzione di sottoclassi
12.5 Conversione di tipo fra sottoclasse e superclasse
12.6 Polimorfismo
12.7 Controllo di accesso
12.8 La superclasse universale Object
12.8.1 Sovrascrivere il metodo toString
12.8.2 Sovrascrivere il metodo equals
12.8.3 Sovrascrivere il metodo clone
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 13 – Interfacce utente grafiche
13.1 L’ereditarietà per personalizzare i frame
13.2 Gestione della disposizione dei componenti
13.3 Scelte
13.3.1 Pulsanti radio
13.3.2 Caselle di controllo
13.3.3 Caselle combinate
13.4 Menu
13.5 Aree di testo
13.6 Consultare la documentazione di Swing
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 14 – Gestione delle eccezioni
14.1 Lanciare eccezioni
14.2 Eccezioni controllate e non controllate
14.3 Catturare eccezioni
14.4 La clausola finally
14.5 Progettare i vostri tipi di eccezione
14.6 Un esempio completo
Riepilogo del capitolo
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 15- File e flussi
15.1 Leggere e scrivere file di testo
15.2 Formato binario e formato di testo
15.3 Un programma di crittografia
15.4 Accesso casuale
15.5 Flussi di oggetti
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 16 – Ricorsione
16.1 Numeri triangoli
16.2 Permutazioni
16.3 Metodi ausiliari ricorsivi
16.4 L’efficienza della ricorsione
16.5 Ricorsione mutua
Riepilogo del capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 17 – Ordinamento e ricerca
17.1 Ordinamento per selezione
17.2 Misurazione delle prestazioni dell’algoritmo di ordinamento per selezione
17.3 Analisi delle prestazioni dell’algoritmo di ordinamento per selezione
17.4 Ordinamento per fusione (MergeSort)
17.5 Analisi dell’algoritmo di ordinamento per fusione
17.6 Effettuare ricerche
17.7 Ricerca binaria
17.8 Ordinare dati veri
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 18 - Introduzione alle strutture di dati
18.1 Utilizzare liste concatenate
18.2 Realizzare liste concatenate
18.3 Tipi di dati astratti e concreti
18.4 Pile e code
Riepilogo del capitolo
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 19 – Strutture di dati avanzati
19.1 Insiemi
19.2 Mappe
19.3 Tabelle hash
19.4 Calcolare codici hash
19.5 Alberi di ricerca binari
19.6 Attraversamento di un albero
19.7 Usare insiemi e mappe realizzati con alberi
19.8 Code prioritarie
19.9 Heap
19.10 L’algoritmo Heapsort
Riepilogo del capitolo
Ulteriori letture
Classi, oggetti e metodi presentati nel capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Capitolo 20 – Programmazione generica
20.1 Variabili di tipo
20.2 Realizzare classi generiche
20.3 Metodi generici
20.4 Vincolare le variabili di tipo
20.5 Tipi “grezzi”(raw)
Riepilogo del capitolo
Esercizi di ripasso
Esercizi di programmazione
Progetti di programmazione
Appendice A - Risposte alle domande di auto-valutazione
Appendice B – Linguaggio Java: linee guida per la codifica
Appendice C – Linguaggio Java: compendio sintattico
Appendice D – Come adattare a compilatori precedenti i programmi per Java 5.0
Appendice E – Linguaggio Java: operatori
Appendice F – Linguaggio Java: parole chiave
Appendice G – I sottoinsiemi Basic Latin e Latin 1 di Unicode
Appendice H – Sistemi di numerazione
Appendice I – Operazioni con bit e scorrimenti
Glossario
Indice analitico
Manuali gratis di Java