© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.

Slides:



Advertisements
Presentazioni simili
Traduzione ed Interpretazione
Advertisements

Ambiente Java.
Programmazione in Java
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Code::Blocks Ambiente di sviluppo.
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
Massa Laura Mela Enrica
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
I Linguaggi Di Luca Brugnone 13/11/2007
Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti.
Introduzione a JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA
PROGRAMMAZIONE Introduzione
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Terza parte: Programmazione ad oggetti in Java. Cosè Java Linguaggio di programmazione definito dalla Sun Obiettivo: sviluppo di applicazioni sicure,
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
Introduzione al linguaggio Java
Derivazione tra classi
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Selezione (=scelta) con “if-else”
Primi programmi in Java
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
CAPITOLO 4 LINGUAGGIO JAVA: COSTRUTTI DI BASE. ALFABETO Java adotta la codifica standard Unicode della società Unicode, Inc. (ftp://ftp.unicode.org) definito.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Introduzione a Java.
Argomenti della lezione
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
C# LE BASI 2007 Prima lezione - Introduzione.
Programmazione in Java
...dal bit al linguaggio R. In principio era il bit… …Per intenderci 0 e 1, il linguaggio macchina. Tra gli anni '40 e gli anni '50, la programmazione.
Introduzione a C#.
Java Contardi Carlo A.S. 2008/09.
Introduzione al C++ Introduzione al linguaggio C++
Java come linguaggio di programmazione
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
1 Applet ed HTML Fondamenti di Informatica Corso D.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Gena - Applicata - 05/061 Java: javac e java Per compilare una classe: > javac NomeClasse.java  NomeClasse.class javac = invocazione.
Programmazione a oggetti
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Una "vera" classe.. ..un esempio pratico: la calcolatrice
Programmazione ad oggetti
Sommario Cartelle Gestione delle risorse Manifest dell’applicazione
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
la traduzione dei programmi
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
Introduzione a Javascript
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Gestione dei thread in Java
Programmazione in Java
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Concetti Fondamentali sulla Programmazione
1 Macchine astratte, linguaggi, interpretazione, compilazione.
Il software Claudia Raibulet
Fabio Scotti – Università degli Studi di Milano 1 Lezione 1 e 2 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani.
1 Java primo contatto Quando le classi fanno la differenza …
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
Programmazione orientata agli Oggetti Introduzione a Java.
Transcript della presentazione:

© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee of the document. The information is closely linked to the oral comments accompanying the same, and may be used only by those attending the presentation. Copying, publishing or divulging the material contained in this document is forbidden and may be illegal. ITIS A. Monaco Cosenza, 25 Marzo 2014 Introduzione a Java

© Copyright NTT DATA Italia – All Rights Reserved1 M ► Nascita di Java ► Caratteristiche principali ► Differenze tra C# e Java Sommario

© Copyright NTT DATA Italia – All Rights Reserved2 M Primo meseSecondo mese…………… Nascita di Java Nel 1991 un gruppo di Sun MicroSystems, guidato da James Gosling e Patrick Naughton, iniziò a lavorare ad un progetto per un nuovo linguaggio. L’idea di base era quella di creare un linguaggio semplice e neutrale rispetto all’architettura, in modo da poter essere eseguito su hardware diversi. La prima implementazione (Alpha) vide la luce nel 1995 per poi essere pubblicata, in versione stabile, nel 1996 come Java 1.

© Copyright NTT DATA Italia – All Rights Reserved3 M Primo meseSecondo mese…………… Caratteristiche e Java Development Kit Linguaggio di programmazione ad alto livello Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma Affidabile e sicuro Multithread Da allora Java è cresciuto a ritmo fenomenale: i programmatori lo hanno adottato per la sua elevata semplicità rispetto al rivale/progenitore (il C++). Inoltre la Sun rilasciava con Java, una libreria enormemente ricca, JDK – Java Development Kit, che forniva agli sviluppatori una innumerevole quantità di classi per i problemi più diversi.

© Copyright NTT DATA Italia – All Rights Reserved4 M Primo meseSecondo mese…………… Caratteristiche e Java Development Kit Linguaggio di programmazione ad alto livello Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma Affidabile e sicuro Multithread Da allora Java è cresciuto a ritmo fenomenale: i programmatori lo hanno adottato per la sua elevata semplicità rispetto al rivale/progenitore (il C++). Inoltre la Sun rilasciava con Java, una libreria enormemente ricca, JDK – Java Development Kit, che forniva agli sviluppatori una innumerevole quantità di classi per i problemi più diversi. Sintassi simile a C e C++ Eliminati i costrutti più "pericolosi" di C e C++ aritmetica dei puntatori preprocessore (#define) (de)allocazione esplicita della memoria Sintassi simile a C e C++ Eliminati i costrutti più "pericolosi" di C e C++ aritmetica dei puntatori preprocessore (#define) (de)allocazione esplicita della memoria

© Copyright NTT DATA Italia – All Rights Reserved5 M Primo meseSecondo mese…………… Caratteristiche e Java Development Kit Linguaggio di programmazione ad alto livello Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma Affidabile e sicuro Multithread Da allora Java è cresciuto a ritmo fenomenale: i programmatori lo hanno adottato per la sua elevata semplicità rispetto al rivale/progenitore (il C++). Inoltre la Sun rilasciava con Java, una libreria enormemente ricca, JDK – Java Development Kit, che forniva agli sviluppatori una innumerevole quantità di classi per i problemi più diversi. Rilevamento errori e typechecking a tempo di compilazione e di esecuzione Mascheramento dei puntatori all'utente Controllo automatico degli indici degli array Gestione delle eccezioni da parte dell'utente Gestione della memoria (allocazione & GC) Rilevamento errori e typechecking a tempo di compilazione e di esecuzione Mascheramento dei puntatori all'utente Controllo automatico degli indici degli array Gestione delle eccezioni da parte dell'utente Gestione della memoria (allocazione & GC)

© Copyright NTT DATA Italia – All Rights Reserved6 M Primo meseSecondo mese…………… Caratteristiche e Java Development Kit Linguaggio di programmazione ad alto livello Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma Affidabile e sicuro Multithread Da allora Java è cresciuto a ritmo fenomenale: i programmatori lo hanno adottato per la sua elevata semplicità rispetto al rivale/progenitore (il C++). Inoltre la Sun rilasciava con Java, una libreria enormemente ricca, JDK – Java Development Kit, che forniva agli sviluppatori una innumerevole quantità di classi per i problemi più diversi. Tutto all’interno di Java è un oggetto Fanno eccezione i tipi semplici (es. interi), considerati come non-oggetti a prestazioni elevate Incapsulamento, Ereditarietà, Polimorfismo Tutto all’interno di Java è un oggetto Fanno eccezione i tipi semplici (es. interi), considerati come non-oggetti a prestazioni elevate Incapsulamento, Ereditarietà, Polimorfismo

© Copyright NTT DATA Italia – All Rights Reserved7 M Primo meseSecondo mese…………… Caratteristiche e Java Development Kit Linguaggio di programmazione ad alto livello Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma Affidabile e sicuro Multithread Da allora Java è cresciuto a ritmo fenomenale: i programmatori lo hanno adottato per la sua elevata semplicità rispetto al rivale/progenitore (il C++). Inoltre la Sun rilasciava con Java, una libreria enormemente ricca, JDK – Java Development Kit, che forniva agli sviluppatori una innumerevole quantità di classi per i problemi più diversi. Lo stesso codice una volta compilato può essere eseguito su diverse piattaforme

© Copyright NTT DATA Italia – All Rights Reserved8 M Primo meseSecondo mese…………… Caratteristiche e Java Development Kit Linguaggio di programmazione ad alto livello Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma Affidabile e sicuro Multithread Da allora Java è cresciuto a ritmo fenomenale: i programmatori lo hanno adottato per la sua elevata semplicità rispetto al rivale/progenitore (il C++). Inoltre la Sun rilasciava con Java, una libreria enormemente ricca, JDK – Java Development Kit, che forniva agli sviluppatori una innumerevole quantità di classi per i problemi più diversi. Possibilità di controllare e impedire l’esecuzione di istruzioni pericolose

© Copyright NTT DATA Italia – All Rights Reserved9 M Primo meseSecondo mese…………… Caratteristiche e Java Development Kit Linguaggio di programmazione ad alto livello Semplice e robusto Orientato agli oggetti Indipendente dalla piattaforma Affidabile e sicuro Multithread Da allora Java è cresciuto a ritmo fenomenale: i programmatori lo hanno adottato per la sua elevata semplicità rispetto al rivale/progenitore (il C++). Inoltre la Sun rilasciava con Java, una libreria enormemente ricca, JDK – Java Development Kit, che forniva agli sviluppatori una innumerevole quantità di classi per i problemi più diversi. ??

© Copyright NTT DATA Italia – All Rights Reserved10 M Primo meseSecondo mese…………… Bytecode e Java Virtual Machine Una caratteristica che ha reso popolare Java è quella di essere indipendente dal Sistema Operativo su cui un programma viene scritto e compilato. Ma come è resa possibile questa cosa? Il compilatore Java produce un codice che non è il codice binario finale, ma un codice binario intermedio, indipendente dall’architettura, chiamato Bytecode. Questo codice intermedio è interpretato da una “macchina virtuale” che lo traduce in istruzioni macchina: la Java Virtual Machine (JVM). La JVM ha bisogno di conoscere il SO su cui sta girando. Per questo motivo la Sun mise a disposizione JVM per tutti i principali sistemi operativi: Windows, Linux, Unix, Mac ecc...

© Copyright NTT DATA Italia – All Rights Reserved11 M Primo meseSecondo mese…………… Write Once, Run Anywhere

© Copyright NTT DATA Italia – All Rights Reserved12 M Primo meseSecondo mese…………… javac.exe e java.exe Semplificando, un programma Java è un file di testo contenente del codice Java: class HelloWorld { public static main(String[] args) { System.out.println(“Hello World !!”); } Il file così creato ha estensione.java e deve essere passato al compilatore: C:\>javac HelloWorld.java questo software crea un file.class con lo stesso nome dell’originario: HelloWorld.class il file.class contiene il bytecode per la JVM. Il comando: C:\>java HelloWorld avvia l’esecuzione del metodo «main» della classe HelloWorld.class

© Copyright NTT DATA Italia – All Rights Reserved13 M Primo meseSecondo mese…………… javac.exe e java.exe

© Copyright NTT DATA Italia – All Rights Reserved14 M Primo meseSecondo mese…………… Sintassi e costrutti di base /** Esempio di classe */ public class VotiEsame { private int voti[]; // variabile di tipo vettore di interi public VotiEsame(int n) { voti = new int[n]; /* inizializza un vettore di lunghezza n */ } // genera un vettore contenente interi pseudo-casuali compresi tra 0 e 10 public void generaVoti() { Random r = new Random(); for (int i=0; i<voti.length; i++) { voti[i] = r.nextInt(11); } // stampa vettore public double calcolaMedia() { int somma = 0; for (int i=0; i<voti.length; i++) { somma += voti[i]; } return somma / voti.length; }

© Copyright NTT DATA Italia – All Rights Reserved15 M Primo meseSecondo mese…………… Sintassi e costrutti di base /** Esempio di classe */ public class VotiEsame { private int voti[]; // variabile di tipo vettore di interi public VotiEsame(int n) { voti = new int[n]; /* inizializza un vettore di lunghezza n */ } // genera un vettore contenente interi pseudo-casuali compresi tra 0 e 10 public void generaVoti() { Random r = new Random(); for (int i=0; i<voti.length; i++) { voti[i] = r.nextInt(11); } // stampa vettore public double calcolaMedia() { int somma = 0; for (int i=0; i<voti.length; i++) { somma += voti[i]; } return somma / voti.length; } Commenti

© Copyright NTT DATA Italia – All Rights Reserved16 M Primo meseSecondo mese…………… Sintassi e costrutti di base /** Esempio di classe */ public class VotiEsame { private int voti[]; // variabile di tipo vettore di interi public VotiEsame(int n) { voti = new int[n]; /* inizializza un vettore di lunghezza n */ } // genera un vettore contenente interi pseudo-casuali compresi tra 0 e 10 public void generaVoti() { Random r = new Random(); for (int i=0; i<voti.length; i++) { voti[i] = r.nextInt(11); } // stampa vettore public double calcolaMedia() { int somma = 0; for (int i=0; i<voti.length; i++) { somma += voti[i]; } return somma / voti.length; } Parole chiave

© Copyright NTT DATA Italia – All Rights Reserved17 M Primo meseSecondo mese…………… Sintassi e costrutti di base /** Esempio di classe */ public class VotiEsame { private int voti[]; // variabile di tipo vettore di interi public VotiEsame(int n) { voti = new int[n]; /* inizializza un vettore di lunghezza n */ } // genera un vettore contenente interi pseudo-casuali compresi tra 0 e 10 public void generaVoti() { Random r = new Random(); for (int i=0; i<voti.length; i++) { voti[i] = r.nextInt(11); } // stampa vettore public double calcolaMedia() { int somma = 0; for (int i=0; i<voti.length; i++) { somma += voti[i]; } return somma / voti.length; } Letterali

© Copyright NTT DATA Italia – All Rights Reserved18 M Primo meseSecondo mese…………… Sintassi e costrutti di base /** Esempio di classe */ public class VotiEsame { private int voti[]; // variabile di tipo vettore di interi public VotiEsame(int n) { voti = new int[n]; /* inizializza un vettore di lunghezza n */ } // genera un vettore contenente interi pseudo-casuali compresi tra 0 e 10 public void generaVoti() { Random r = new Random(); for (int i=0; i<voti.length; i++) { voti[i] = r.nextInt(11); } // stampa vettore public double calcolaMedia() { int somma = 0; for (int i=0; i<voti.length; i++) { somma += voti[i]; } return somma / voti.length; } Identificatori

© Copyright NTT DATA Italia – All Rights Reserved19 M Primo meseSecondo mese…………… Sintassi e costrutti di base /** Esempio di classe */ public class VotiEsame { private int voti[]; // variabile di tipo vettore di interi public VotiEsame(int n) { voti = new int[n]; /* inizializza un vettore di lunghezza n */ } // genera un vettore contenente interi pseudo-casuali compresi tra 0 e 10 public void generaVoti() { Random r = new Random(); for (int i=0; i<voti.length; i++) { voti[i] = r.nextInt(11); } // stampa vettore public double calcolaMedia() { int somma = 0; for (int i=0; i<voti.length; i++) { somma += voti[i]; } return somma / voti.length; } Operatori

© Copyright NTT DATA Italia – All Rights Reserved20 M Primo meseSecondo mese…………… Sintassi e costrutti di base /** Esempio di classe */ public class VotiEsame { private int voti[]; // variabile di tipo vettore di interi public VotiEsame(int n) { voti = new int[n]; /* inizializza un vettore di lunghezza n */ } // genera un vettore contenente interi pseudo-casuali compresi tra 0 e 10 public void generaVoti() { Random r = new Random(); for (int i=0; i<voti.length; i++) { voti[i] = r.nextInt(11); } // stampa vettore public double calcolaMedia() { int somma = 0; for (int i=0; i<voti.length; i++) { somma += voti[i]; } return somma / voti.length; } Separatori

© Copyright NTT DATA Italia – All Rights Reserved21 M Primo meseSecondo mese…………… Sintassi e costrutti di base

© Copyright NTT DATA Italia – All Rights Reserved22 M Primo meseSecondo mese…………… Sintassi e costrutti di base

© Copyright NTT DATA Italia – All Rights Reserved23 M Primo meseSecondo mese…………… Sintassi e costrutti di base

© Copyright NTT DATA Italia – All Rights Reserved24 M Primo meseSecondo mese…………… Differenze tra C# e Java.

© Copyright NTT DATA Italia – All Rights Reserved25 M Primo meseSecondo mese…………… Differenze tra C# e Java C# permette di avere più classi nello stesso file. Java richiede che il nome di un file sorgente corrisponda al nome della unica classe public contenuta al suo interno.

© Copyright NTT DATA Italia – All Rights Reserved26 M Primo meseSecondo mese…………… Differenze tra C# e Java In C# il codice viene “raggruppato” in namespaces: namespace il.mio.namespace; using System.IO; class MiaClasse { public static void Main(string[] args) { … } In Java il codice viene “raggruppato” in packages: package il.mio.package; import java.io.*; class MiaClasse { public static void Main(string[] args) { … }

© Copyright NTT DATA Italia – All Rights Reserved27 M Primo meseSecondo mese…………… Differenze tra C# e Java Package e Namespace In C# i namespace NON devono riflettere la struttura delle directory. In Java la struttura gerarchica dei package DEVE riflettere la struttura gerarchica delle directory. Es: I file del package: com.mionamespace.miopackage.* dovranno obbligatoriamente risiedere nella cartella:.\com\mionamespace\miopackage\*.*

© Copyright NTT DATA Italia – All Rights Reserved28 M Primo meseSecondo mese…………… Differenze tra C# e Java Standard output C#: Console.WriteLine(“testo !!!"); Java: System.out.println("testo !!!"); Riferimento alla classe parent C#: base.* Java: super.*

© Copyright NTT DATA Italia – All Rights Reserved29 M Primo meseSecondo mese…………… Differenze tra C# e Java Il “constructor chaining” in C#, viene inserito nella signature del metodo: public MyConstructor(int i) : this(i, -1) {... } public MyConstructor(int i, int j) {... } In Java, può essere usato all’interno del costruttore: public MyConstructor(int i) { this(i, -1);... }

© Copyright NTT DATA Italia – All Rights Reserved30 M Primo meseSecondo mese…………… Differenze tra C# e Java In C#, la distinzione tra implementazione di una interfaccia ed estensione di una classe non esiste: public class MyClass : MyParentClass, MyInterface {... } In Java, i due casi sono gestiti separatamente con due apposite keyword: public class MyClass1 extends MyParentClass implements MyInterface {... } public class MyClass2 implements MyInterface {... }

© Copyright NTT DATA Italia – All Rights Reserved31 M Primo meseSecondo mese…………… Differenze tra C# e Java Override In C#, il metodo di base sottoposto a override deve essere virtual, abstract o override. class MyParentClass { public virtual void MyMethod() {... } } Nella classe figlia è, poi, necessario usare la keyword override: class MyChildClass : MyParentClass { public override void MyMethod() {... } } In Java, tutti I metodi sono virtual di default virtual e se ne può fare sempre l’override.

© Copyright NTT DATA Italia – All Rights Reserved32 M Primo meseSecondo mese…………… Differenze tra C# e Java Riferimenti:

33© Copyright NTT DATA Italia – All Rights Reserved M