Indice generale. Introduzione...xiii. Concetti e costrutti fondamentali...1. Introduzione al linguaggio...3

Documenti analoghi
Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

Capitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza

Indice generale. Introduzione...xv. Introduzione al linguaggio...1. Variabili, costanti, letterali e tipi...11

Indice generale. Capitolo 3 Array...23 Array monodimensionali Array bidimensionali Array multidimensionali... 31

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

PROGRAMMARE IN JAVA Volume I

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA...

Prefazione. Capitolo 1 Sistemi di elaborazione 1

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii

Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Corso Programmazione Java Standard

Esercizi di autovalutazione Risposte agli esercizi di autovalutazione Esercizi... 64

Indice. Prefazione. 3 Oggetti e Java 53

Indice Introduzione I fondamenti di C#

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice. Introduzione PARTE PRIMA LE BASI DEL C++: IL LINGUAGGIO C 1

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

Indice generale. Modulo 1 - Introduzione a Java 7 1. Modulo 2 - Componenti fondamentali di un programma Java 29

Introduzione alla programmazione con Java

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

PROGRAMMA = ALGORITMO

vi Sommario Operatore di decremento Operatore di complemento logico Operatore di complemento a bit Operatori binari Operatori

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

Introduzione alla programmazione con Java

Introduzione. Organizzazione del libro

PRIMO MODULO. DURATA: 80 ore CONTENUTI

OEO041 Programmazione Java SE 8 avanzato

Le basi del linguaggio Java

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE: I COMPUTER, LA PROGRAMMAZIONE E IL C

Giuseppe Callegarin Java, Oggetti e Strutture Dati Cedam INDICE

Java il Corso Fondamentale

Argomento della lezione N. 2. Argomento della lezione N. 1. Presentazione del corso.

Fondamenti di Programmazione

Programma Master Programmatore Java

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

Indice. Prefazione. Ringraziamenti dell Editore

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

Inizializzare oggetti

Corso di Fondamenti di Informatica e Laboratorio

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

La programmazione ad oggetti: chiamate di metodi. Overloading. This

Indice generale Prefazione...xiii Capitolo 1 Introduzione...1 Capitolo 2 Sviluppo del software, tipi di dati ed espressioni...31

IL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate

Sistemi Informativi Aziendali. Programma del corso

Indice generale. Introduzione...xiii. Uno sguardo più da vicino a JavaScript...17

Indice. Prefazione. sommario.pdf 1 05/12/

Indice. Introduzione PARTE PRIMA PRELUDIO: SERVIZIO CON SORRISO 1

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Laboratorio di Informatica I

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Dati due punti sul piano calcolare la loro distanza

Anno Scolastico

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Indice. 3 Reti logiche Reti logiche Algebra di Boole Espressioni booleane e funzioni... 48

SOMMARIO INTRODUZIONE...XV CAPITOLO 1: PRESENTAZIONE...1 CAPITOLO 2: FONDAMENTI DI JAVA...39

Descrizione. Obiettivi. Modalità di svolgimento. Prerequisiti di partecipazione. » Corso SL 275 SE6: Java Programming Launguage (durata 5 gg.

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA

Introduzione a Java. Riferimenti

Introduzione...xv. Giorno 1 - Una panoramica sui concetti principali...1

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Docenti Prof.ssa Biagini Barbara Prof. Sollitto Carlo INDIRIZZO DI STUDI SISTEMI INFORMATIVI AZIENDALI

Introduzione. Programma didattico

Sommario. Note alla traduzione... xix

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

La sintassi del C APPENDICE H

Indice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma

Programmazione ad Oggetti. Java Parte II

Indice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma

Docenti Marco Cirrito, Pier Luigi Girelli. Disciplina. OBIETTIVI MINIMI (necessari al passaggio alla classe successiva)

CARATTERI SPECIALI. \n Nuova linea \t Tabulazione orizzontale \b Backspace \f Form feed \r Ritorno carrello \ Virgolette \ Apice \\ Backslash

Programmazione modulare

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Le basi del linguaggio Java

Lezione 6 Introduzione al C++ Mauro Piccolo

Programmazione I - corso B a.a prof. Viviana Bono

Algoritmi e Strutture Dati

PIANO DI LAVORO. Programmazione Didattica per Competenze. Indirizzo Informatica e Telecomunicazioni. Articolazione Informatica DOCENTE:

Introduzione al Corso

Indice. Introduzione PARTE PRIMA FONDAMENTI 1

Programmazione modulare

Programmazione C Massimo Callisto De Donato

Dichiarazione di una classe. Dichiarazione ereditarietà

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Parte seconda: espressioni, operandi e operatori.

Costrutti per il controllo del flusso di esecuzione

MATERIA: SISTEMI AUTOMATICI ELETTRONICI

Costrutti per il controllo del flusso di esecuzione

Introduzione alla programmazione in linguaggio C

Elementi di Informatica A. A. 2016/2017

Indice generale. Prefazione all edizione italiana...xi. La prima applicazione...5. Tutto sugli oggetti...17

Java: un linguaggio per applicazioni di rete

Transcript:

Indice generale Introduzione...xiii Organizzazione del libro...xiv Struttura del libro e convenzioni...xv Codice sorgente e progetti...xvi Compilare ed eseguire direttamente i listati e gli snippet di codice...xvi Compilare ed eseguire con gli IDE i listati e gli snippet di codice...xvi Il nuovo sistema di rilasci della piattaforma Java...xvi Parte I Capitolo 1 Concetti e costrutti fondamentali...1 Introduzione al linguaggio...3 Cenni sull architettura di un elaboratore... 7 Il modello di von Neumann... 8 La CPU... 8 La memoria centrale...10 Paradigmi di programmazione...13 Il paradigma procedurale...13 Il paradigma a oggetti...14 Concetti introduttivi allo sviluppo in Java...16 Fasi di sviluppo di un programma in Java...16 Elementi di un ambiente Java...18 Il primo programma in Java...20 Un assaggio dei metodi printf, println e print...26 Elementi strutturali di un programma in Java...28 Compilazione ed esecuzione del codice...32 La Java Virtual Machine: un breve dettaglio...35

iv Java 11 Capitolo 2 Capitolo 3 Capitolo 4 Variabili, costanti, letterali e tipi...39 Variabili...39 Dichiarazione...40 Inizializzazione...44 Costanti...47 Tipi di dato fondamentali o primitivi...49 Tipi interi...49 Tipi in virgola mobile...54 Tipi carattere...57 Tipi booleani...63 Categorizzazione completa dei tipi...65 Wrapper class...66 Autoboxing e auto-unboxing...67 Caratteristiche fondamentali dei tipi primitivi...70 Tipi riferimento...70 Che cosa sono esattamente i riferimenti?...71 Tipo nullo...75 Dimensione dei tipi di dato...76 Conversioni di tipo...77 Conversioni implicite...78 Promozioni numeriche...79 Conversioni esplicite...81 Variabili locali, globali e scope...84 Categorizzazione delle variabili...87 Valori di default delle variabili...89 L identificatore var...89 Array...97 Array monodimensionali...98 Dichiarazione...98 Inizializzazione...100 Subscripting...104 Array multidimensionali...108 Array bidimensionali...109 Array tridimensionali...118 Costanti di tipo array...128 Operatori...129 Operatore di assegnamento semplice...131 Operatori aritmetici...133 Operatore di addizione...134 Operatore di sottrazione...134 Operatore di moltiplicazione...135 Operatore di divisione...136 Operatore modulo...137 Operatori unari più e meno...137

Indice generale v Operatori unari di incremento e decremento...138 Operatore postfisso di incremento e decremento...138 Operatore prefisso di incremento e decremento...139 Operatori relazionali...140 Operatore maggiore di...140 Operatore maggiore di o uguale a...141 Operatore minore di...141 Operatore minore di o uguale a...141 Operatori di uguaglianza...143 Operatore uguale a...144 Operatore non uguale a...145 Operatori logici...146 Operatore AND logico condizionale...147 Operatore OR logico condizionale...147 Operatore NOT logico...148 Operatore condizionale...148 Operatori bit per bit e operatori logici booleani...150 Operatore di complemento bit per bit...152 Operatore AND bit per bit...153 Operatore OR bit per bit inclusivo...153 Operatore OR bit per bit esclusivo...154 Operatore di scorrimento a sinistra bit per bit...155 Operatore di scorrimento a destra bit per bit con segno...155 Operatore di scorrimento a destra bit per bit senza segno...157 Comuni casi di utilizzo...157 Operatori di assegnamento composti...161 Tabella di precedenza degli operatori...164 Capitolo 5 Istruzioni e strutture di controllo...167 Istruzioni di selezione...169 Istruzione di selezione singola if...169 Istruzione di selezione doppia if/else...170 Istruzione di selezione multipla switch...174 Istruzioni di iterazione...179 Istruzione di iterazione while...179 Istruzione di iterazione do/while...180 Istruzione di iterazione for...182 Istruzioni di salto...190 Istruzione break...190 Istruzione continue...194 Istruzione return...197 Istruzione throw...198 Ulteriori istruzioni...198 Istruzione assert...198 Istruzione synchronized...198 Istruzione try...199

vi Java 11 Capitolo 6 Parte II Capitolo 7 Capitolo 8 Metodi...201 Dichiarazione di un metodo...202 Utilizzo di un metodo...206 Parametri di un metodo: dettaglio...210 Argomenti di lunghezza variabile...217 Conversione, promozione e ordine di valutazione degli argomenti...219 Parametri di tipo array...221 Parametri come array monodimensionali...221 Parametri come array multidimensionali...222 L istruzione return: dettaglio...224 Ricorsione...226 La funzione main: nozioni conclusive...231 Elaborare gli argomenti dalla riga di comando...232 Elaborare il codice di terminazione di un programma...233 Overloading dei metodi...236 Paradigmi, stili di programmazione e gestione degli errori...241 Programmazione basata sugli oggetti...243 Classi...244 Costruttori di istanza...249 Finalizzatori di istanza...253 La keyword this...256 Visibilità e controllo di accesso...264 Metodi get e set...266 Membri statici...268 Inizializzatori statici...272 Membri costanti...274 Oggetti come elementi di array...277 Oggetti come membri di una classe...278 Oggetti come parametri...279 Classi interne...280 Enumerazioni...285 Costanti di enumerazione...287 Il body di un enumerazione...287 Esempi pratici...288 Il tipo Enum<E>...292 Programmazione orientata agli oggetti...295 Gerarchie di classi ed ereditarietà...296 Polimorfismo e binding dinamico...303 Come definire un sistema polimorfo...306 Risoluzione del metodo da invocare...307

Indice generale vii L operatore instanceof...308 Eccezioni all ereditarietà...309 La classe Object...311 Classi astratte...313 Interfacce...318 Ereditarietà multipla con le interfacce...323 Classi anonime...325 Utilizzo dell identificatore var...327 Capitolo 9 Capitolo 10 Programmazione generica...331 Terminologia essenziale...334 Metodi generici...335 Classi generiche...343 Diamond operator e classi anonime...346 Metodi statici...348 Interfacce generiche...349 Ereditarietà e generici...352 Vincoli sui parametri di tipo...353 Covarianza, controvarianza e invarianza...355 Annotazioni di varianza e wildcard...357 Covarianza degli array...363 Tipi raw...365 Caso 1...366 Caso 2...366 Caso 3...367 Rappresentazione low-level dei generici...368 Limiti e restrizioni dei generici...373 I Restrizione: utilizzo degli array...373 II Restrizione: utilizzo nei contesti static...375 III Restrizione: utilizzo delle variabili di tipo...375 IV Restrizione: utilizzo di cast e instanceof...376 V Restrizione: utilizzo dei tipi primitivi...377 VI Restrizione: utilizzo con le eccezioni...377 VII Restrizione: utilizzo dell overloading...378 Utilizzo dell identificatore var...379 I tipi intersezione...380 I tipi wildcard...381 Programmazione funzionale...385 Concetti propedeutici...387 Lo stile dichiarativo: un esempio...396 Immutabilità dello stato: un esempio...399 First-class values e closure: un esempio...404 La programmazione funzionale con Java...406 Estensione delle interfacce...408 Interfacce funzionali...409

viii Java 11 Metodi di default...409 Metodi statici...410 Metodi privati...412 Ereditarietà e problemi di ambiguità...414 Lambda expression...418 Regole di scope rivisitate...421 Le keyword this e super...425 Riferimenti a metodi...427 Riferimenti ai costruttori...430 this e i riferimenti a metodi...430 super e i riferimenti a metodi...431 Target typing...431 Il package java.util.function...433 Capitolo 11 Parte III Capitolo 12 Eccezioni e asserzioni...435 Eccezioni...436 Sintassi di base...437 Rilancio delle eccezioni...442 Eccezioni controllate e non controllate...447 Eccezioni a catena...450 Eccezioni nei costruttori e nei finalizzatori di istanza...452 La clausola finally...454 Classi eccezione della libreria standard...456 Asserzioni...457 Abilitazione delle asserzioni...457 Disabilitazione delle asserzioni...458 Comuni casi di utilizzo...459 Rappresentazione low-level delle asserzioni...463 Concetti e costrutti supplementari e avanzati...465 Package...467 Una panoramica concettuale...468 Dichiarazione dei package...468 Package senza nome...470 Dichiarazioni di importazione...471 Importazione di tipo singolo...471 Importazione su richiesta...472 Importazione statica...473 Importazione statica su richiesta...475 Visibilità e disponibilità dei package...476 L opzione --class-path (o -cp o -classpath)...476 La variabile di ambiente CLASSPATH...480 Archiviazione dei package...481 Accesso di tipo package...486 Riepilogo delle modalità di accesso ai tipi e ai membri...487

Indice generale ix Capitolo 13 Capitolo 14 Moduli...491 Senza un sistema a moduli: prima di Java 9...493 Con un sistema a moduli: a partire da Java 9...498 Moduli...500 Dichiarazione...503 Dipendenza...504 Esportazione...505 Apertura...505 Accessibilità...506 Descrittori...507 Packaging...508 Path...509 Risoluzione...510 Osservabilità...511 Compatibilità...512 Servizi...513 Moduli: un esempio pratico...514 Interazione tra i moduli: un esempio pratico...518 Creazione e utilizzo dei servizi: un esempio pratico...526 Compatibilità e migrazione: un esempio pratico...531 File DOT...535 Immagini di runtime custom: un esempio pratico...538 Annotazioni...541 Il tipo annotazione...542 Membri di un tipo annotazione...543 Annotazioni...545 Annotazioni normali...545 Annotazioni a singolo elemento...546 Annotazioni marcatore...547 Applicabilità delle annotazioni...547 Tipi annotazione predefiniti...550 @Deprecated...550 @FunctionalInterface...552 @Inherited...552 @Override...554 @Repeatable...554 @Retention...556 @SafeVarargs...557 @SuppressWarnings...562 @Target...565 Elaborazione delle annotazioni...566 Elaborazione a livello di codice sorgente...567 Elaborazione a livello di file.class...569 Elaborazione a runtime...570

x Java 11 Capitolo 15 Parte IV Capitolo 16 Capitolo 17 Capitolo 18 Documentazione del codice sorgente...573 Documentare una classe...573 Altri tag...579 Generare la documentazione...582 Introduzione ai tipi e alle librerie essenziali...585 Caratteri e stringhe...587 La classe Character...588 Alcuni metodi del tipo Character...589 La classe String...592 Alcuni metodi del tipo String...593 La classe StringBuilder...602 Alcuni metodi del tipo StringBuilder...603 La classe StringTokenizer...605 Alcuni metodi del tipo StringTokenizer...606 Espressioni regolari...607 Concetti propedeutici...607 Corrispondenza precisa con il carattere indicato...608 Corrispondenza con una classe di caratteri non predefinita...608 Corrispondenza con una classe di caratteri predefinita...609 Corrispondenze di limite...609 Corrispondenze con quantificatori greedy...610 Corrispondenze con gli operatori logici...611 Corrispondenze con costrutti speciali...611 Espressioni regolari con la classe String...612 Le classi Pattern e Matcher...613 Alcuni metodi del tipo Pattern...615 Alcuni metodi del tipo Matcher...617 Collezioni...623 Il framework di Java per le collezioni...626 L interfaccia Collection...627 L interfaccia Set...629 L interfaccia SortedSet...629 L interfaccia NavigableSet...630 L interfaccia List...631 L interfaccia Queue...632 L interfaccia Deque...632 L interfaccia Map...633 L interfaccia SortedMap...634 L interfaccia NavigableMap...635 Implementazioni dell interfaccia Set...636 Implementazioni dell interfaccia List...641

Indice generale xi Implementazioni delle interfacce Queue e Deque...643 Implementazioni dell interfaccia Map...644 Le interfacce Comparable e Comparator...646 Le interfacce Iterator, ListIterator e Iterable...650 Algoritmi polimorfici sulle collezioni...655 Collezioni concorrenti...657 Stream...659 Il package java.util.stream...660 Concetti preliminari...660 Tipologie di iterazioni...665 Operazioni sugli stream...665 Parallelismo...666 Ordinamento...666 Riduzione...667 Alcuni metodi del tipo Stream...669 Alcuni metodi del tipo Collectors...670 Capitolo 19 Capitolo 20 Programmazione concorrente...673 Processi e thread...674 Stati di un thread...674 Priorità dei thread...675 La classe Thread e l interfaccia Runnable...676 Alcuni metodi del tipo Thread...679 Sincronizzazione fra i thread...679 Un esempio di mutex...682 Un esempio di cooperazione...685 Liveness dei thread...691 Un esempio di deadlock...691 Un esempio di starvation...694 Un esempio di livelock...696 Concorrenza con le API ad alto livello...698 Il package java.util.concurrent...699 Il package java.util.concurrent.locks...703 Il package java.util.concurrent.atomic...706 Input/Output: stream e file...709 Utilizzo degli stream...709 Alcuni metodi del tipo BufferedReader...716 Alcuni metodi del tipo BufferedWriter...716 Scansione e formattazione del testo...716 Le nuove API per l input e l output (NIO.2)...719 L interfaccia Path...720 La classe Files...723 L interfaccia PathMatcher...729 L interfaccia FileVisitor...731 L interfaccia WatchService...733

xii Java 11 Capitolo 21 Parte V Programmazione di rete...737 Teoria di base...737 Classificazione delle reti...738 Livelli e protocolli di rete...739 Il modello OSI e la suite TCP/IP...741 Trasmissione dei dati e mezzi trasmissivi...743 Indirizzi IP...743 Il protocollo TCP...746 Il protocollo UDP...747 DNS...748 La posta elettronica...750 Il World Wide Web...751 Le API per l accesso alle interfacce di rete...757 Alcuni metodi del tipo NetworkInterface...760 Alcuni metodi del tipo InetAddress...760 Utilizzo degli URL...761 Alcuni metodi del tipo URL...765 Alcuni metodi del tipo UrlConnection...766 Utilizzo dei socket...766 Alcuni metodi del tipo ServerSocket...775 Alcuni metodi del tipo Socket...775 Utilizzo dei datagrammi...776 Alcuni metodi del tipo DatagramSocket...779 Alcuni metodi del tipo DatagramPacket...780 Appendici...781 Appendice A Installazione e configurazione della piattaforma Java SE 11...783 Appendice B Installazione e utilizzo di NetBeans...787 Sviluppare applicazioni Java SE con l IDE...788 Creazione di un progetto che fa uso dei moduli...790 Appendice C Sistemi numerici: cenni...793 Indice analitico...799