Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso – Creare, compilare, e eseguire programmi Java – Tipi di dato primitivi – Flusso di controllo Java – Metodi – Arrays – Introduzione alla programmazione ad oggetti – Le principali classi Java (Swing, eccezioni, I/O) 2 Obiettivi del corso (2) ) Sarete in grado di: – Scrivere semplici programmi utilizzando tipi di dato primitivi, statements di controllo, metodi, e arrays. – Creare ed utilizzare metodi – Sviluppare una GUI 3 Capitolo 1 Introduzione a Java e NetBeans ) Cos’è Java? ) I primi passi nella programmazione Java – Creare, Compilare ed eseguire una applicazione Java 4 Le caratteristiche di Java ) Java è semplice ) Java è object-oriented ) Java è distribuito ) Java è interpretato ) Java è robusto ) Java è sicuro ) Java è indipendente dall’architettura ) Java è portabile ) Java’s performance ) Java è multithreaded ) Java è dinamico 5 JDK Versioni )1 JDK 1.0 (January 23, 1996) ) 1.1 JDK 1.1 (February 19, 1997) ) 2 J2SE 1.2 (December 8, 1998) ) 3 J2SE 1.3 (May 8, 2000) ) 4 J2SE 1.4 (February 6, 2002) ) 5 J2SE 5.0 (September 30, 2004) ) 6 Java SE 6 (December 11, 2006) 6 JDK Edizioni ) Java Standard Edition (J2SE) – J2SE può essere usata per sviluppare applicazioni “client-side standalone” oppure applets. ) Java Enterprise Edition (J2EE) – J2EE può essere usata per sviluppare applicazioni “server-side” come ad esempio Java servlets e Java ServerPages. ) Java Micro Edition (J2ME). – J2ME può essere usata per sviluppare applicazioni per dispositivi mobili come smart phone. 7 I primi passi nella programmazione Java ) Una semplice applicazione Java ) Compilare ) Eseguire un programma una applicazione 8 Una semplice applicazione Esempio 1 //This application program prints Welcome //to Java! package chapter1; public class Welcome { public static void main(String[] args) { System.out.println("Welcome to Java!"); } } 9 Creare e compilare un Programma ) Da riga di comando – javac file.java Create/Modify Source Code Source Code Compile Source Code i.e. javac Welcome.java If compilation errors Bytecode Run Byteode i.e. java Welcome Result If runtime errors or incorrect result 10 Eseguire applicazioni ) Da riga di comando – java classname Bytecode Java Interpreter on Windows Java Interpreter on Linux ... Java Interpreter on Sun Solaris 11 Esempio javac Welcome.java java Welcome output:... 12 Anatomia di un programma Java ) Commenti ) Package ) Parole riservate ) Modificatori ) Statements ) Blocchi ) Classi ) Metodi ) Il metodo main 13 I Commenti //This application program prints Welcome //to Java! In Java, I commenti sono preceduti da due slashes (//) in una riga, oppure racchiusi tra /* e */ in una o più righe. Quando il compilatore incontra //, ignora tutto il testo dopo // sulla stessa riga. Quando incontra /*, ricerca la chiusura del commento */ e ignora il testo ivi comprso. 14 Package package chapter1; Specifica il nome di un package, chapter1, per la classe Welcome. NetBeans compila il codice sorgente contenuto in Welcome.java, genera Welcome.class, e inserisce Welcome.class nella directory chapter1. 15 Parole riservate Le parole riservate, dette keywords sono parole che hanno uno specifico significato per il compilatore e non possono essere utilizzate per altri scopi nel programma. Per esempio, quando il compilatore incontra la parola class, esso comprende che la parola dopo la dicitura class è il nome della classe stessa. Altre parole riservate presenti nell’esempio Example 1.1 sono: public, static, e void. 16 Modificatori Java utilizza certe parole riservate chiamate modifiers (modificatori) I quali specificano le proprietà di: dati, metodi, e classi e come essi possono essere utilizzati. Esempi di modificatori sono: public e static. Altri modificatorisono: private, final, abstract, e protected. Un dato, metodo o classe pubblico può essere acceduto da apri programmi. Un dato, metodo privato non può essere acceduto da altri programmi. 17 Statements Uno statement rappresenta una azione o una sequenza di azioni. Lo statement: System.out.println("Welcome to Java!") nel programma Example 1.1 è uno statement che visualizza la frase "Welcome to Java!" Ogni statement in Java deve essere seguito da punto e virgola finale (;). 18 Blocchi Una coppia di parentesi grasse in un programma formano un blocco che raggruppa elementi del programma. public class Test { public static void main(String[] args) { System.out.println("Welcome to Java!"); } } Class block Method block 19 Le Classi La classe è il costrutto essenziale del Java. Una classe è un template per oggetti. Per programmare in Java, occorre capire il significato delle classi e imparare a scriverle ed utilizzarle. Un programma è costituito da una o più classi. 20 I metodi Cosa è System.out.println? È un metodo: una collezione di statement che realizzano una sequenza di operazioni per visualizzare un messaggio sulla console. Esso può essere utilizzato anche senza una completa comprensione dei dettagli di come esso lavora. Esso è utilizzato invocando uno statement con un argomento di tipo stringa. L’argomento di tipo stringa è racchiuso fra parentesi. In questo caso l’argomento è "Welcome to Java!“. 21 Il metodo Main Il metodo main fornisce il flusso di controllo del programma. L’interprete Java esegue una applicazione partendo dal metodo main. Il metodo main assomiglia al seguente: public static void main(String[] args) { // Statements; } 22 Visualizzare testo in un Message Dialog Box Si può utilizzare il metodo showMessageDialog che si trova nella classe JOptionPane. JOptionPane è una delle molte classi predefinite del Java, le quali possono essere riutilizzate anzichè reinventare la ruota. 23 Il metodo showMessageDialog import javax.swing.*; public class HelloWorld { public static void main(String args[]) { JOptionPane.showMessageDialog(null,"hello world!"); System.exit(0); } } "Example 1.2", JOptionPane.INFORMATION_MESSAGE)); 24 Il metodo exit Utilizzare Exit per terminare il programma e fermare tutti I thread. NOTA: Quando il programma si esegue, un thread si occupa dell’esecuzione del programma. Quando il showMessageDialog viene invocato, un thread separato è iniziato per eseguire questo metodo. Il thread non termina anche se si chiude il dialog box. Per terminare il thread, occorre invocare il 25 metodo exit.