Introduzione a JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – 53100 – SIENA

Slides:



Advertisements
Presentazioni simili
Programmazione in Java
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Code::Blocks Ambiente di sviluppo.
JavaScript 1. Per cominciare.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Introduzione alla programmazione A. Ferrari. Il linguaggio C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede.
PHP.
I linguaggi di programmazione
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Programma Dott. Ing. Leonardo Rigutini
Applet Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
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.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
Introduzione al linguaggio Java
Architettura del World Wide Web
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Corso di Informatica A.A
Primi programmi in Java
CAPITOLO 1 JAVA: UN TUFFO NEL LINGUAGGIO E NELL'AMBIENTE.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Espressioni condizionali
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Ambienti di programmazione Stefano Cagnoni e Monica Mordonini.
Introduzione a Java.
Argomenti della lezione
C# LE BASI 2007 Prima lezione - Introduzione.
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
Programmazione in Java
Creiamo una cartella nel nostro hard disk dove andremo ad inserire le risorse che costituiranno i contenuti del sito. Apriamo il programma Dopo aver cliccato.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Java Contardi Carlo A.S. 2008/09.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Java come linguaggio di programmazione
BIOINFO3 - Lezione 321 ACCESSO REMOTO AL SERVER SIBILLA Attraverso Internet è possibile accedere al server sibilla.cribi.unipd.it. Potrete così effettuare.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Macro 1 Una macro è un elenco denominato di istruzioni. Ciascuna istruzione viene chiamata ‘azione’. Le azioni vengono eseguite in modo sequenziale e,
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Introduzione. Introduzione Un’applet Java: Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet.
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
1 Macro 1 Una macro è un elenco denominato di istruzioni. Ciascuna istruzione viene chiamata ‘azione’. Le azioni vengono eseguite in modo sequenziale e,
Lezione 3 Struttura lessicale del linguaggio
Programmazione ad oggetti
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
© 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.
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.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Informatica e Informatica di Base
1 Java primo contatto Quando le classi fanno la differenza …
Eprogram informatica V anno.
Cloud Tecno V. Percorso didattico per l’apprendimento di Microsoft Access 4 - Le maschere.
12/08/02Introduzione 1 Introduzione a Java La programmazione Il linguaggio Java Primi programmi.
Programmazione orientata agli Oggetti Introduzione a Java.
I L SO MS DOS … una breve guida…. C OS ’ È UN S ISTEMA OPERATIVO Un sistema operativo (SO) è un insieme di programmi che agisce come intermediario tra.
Transcript della presentazione:

Introduzione a JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA

JAVA

Il linguaggio di programmazione JAVA Nel 1991 un gruppo di Sun MicroSystems, guidato da James Gosling e Patrick Naughton, progettò un linguaggio chiamato in codice Green, per lutilizzo in apparecchi di consumo: Elettrodomestici intelligenti, telefoni mobili, ecc…. Il linguaggio era stato progettato per essere SEMPLICE e NEUTRALE rispetto allarchitetture, in modo da operare su hardware diversi: Non si trovò mai un cliente per questa tecnologia Nel 1994, la squadra si rese conto che unaltra area poteva sfruttare le proprietà di Green: il filone client/server Indipendenza dallarchitettura Esecuzione in tempo reale Affidabilità e sicurezza

Nasce JAVA Nel 1995 fu presentato dalla Sun il browser HotJava che aveva una caratteristica unica: Poteva scaricare piccoli programmi, chiamati applet, dal web ed eseguirli sulla macchina client con un elevato grado di sicurezza Gli applet scritti nel linguaggio che adesso si chiama Java, permettevano agli sviluppatori Web di predisporre una serie di animazioni e integrazioni che potevano migliorare molto le potenzialità della pagina Dal 1996, sia Netscape (allora molto diffuso) che Explorer supportano Java

La crescita di Java 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 Nel 1998 la Sun rilasciò la nuova versione del linguaggio, chiamata Java2, e la sua libreria ampliata con nuove classi: La nuova release aveva due versioni, la micro-edition(J2ME), pensata per lo sviluppo su piccoli dispositivi integrati (gli anni del boom del cellulare) e la enterprise edition (J2EE), pensata per le workstation

JAVA ed internet Poiché Java era stato pensato per Internet, ha due qualità che lo rendono molto adatto per i principianti: Sicurezza – le applet si avviano automaticamente una volta scaricate dal browser, quindi è importante che esse siano intrinsecamente sicuri Trasferibilità – lo stesso programma Java è eseguibile su qualsiasi piattaforma (Windows, Unix-like o Machintosh) Quando si visita un sito, il server web non ha idea di quale computer state utilizzando, ma restituisce semplicemente il codice trasferibile che è stato generato dal compilatore Java la macchina virtuale Java sul computer client si occuperà di eseguire questo codice trasferibile

Tipi di programmi Java Applets Piccoli programmi Java utilizzati all'interno di pagine HTML Vengono scaricate insieme alla pagina HTML ed eseguite lato client (dal browser o da un applet viewer) Normalmente i browser incorporano una JVM con cui eseguono l'applet Servlets e JSP Sono programmi Java che risiedono sul server Web e vengono invocati dalle pagine HTML Vengono eseguiti lato server solitamente per la generazione di pagine Web dinamiche (accesso a Database, risposta a dati inviati o operazioni effettuate dallutente) Applicazioni Sono normali programmi eseguiti su una JVM (lanciata esplicitamente da riga di comando)

Scrivere un programma in Java Una caratteristica che ha reso popolare il Java è quella di essere indipendente dal S.O. in cui un programma è compilato. Ma come è resa possibile questa cosa? Il compilatore Java produce un codice che non è il codice binario finale, ma un codice binario intermedio chiamato bytecode (indipendente dallarchitettura) 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. La Sun mette a disposizione JVM per tutti i sistemi operativi: Windows, Linux, Unix, Mac ecc…

Scrivere un programma in Java In definitiva, scrivere un programma Java vuole dire creare un file di testo contenente del codice Java: un file per ogni classe (ossia astrazione delloggetto) Il file così creato ha estensione.java e deve essere passato al compilatore Java: javac xxx.java xxx.class Questo software crea un file.class con lo stesso nome delloriginario, che contiene il bytecode per la JVM java xxx esecuzione del main della classe xxx.class

Es javac e java sono forniti con la distribuzione Java (JDK) class HelloWorld { public static void main(String[] args) { System.out.println(Hello World!); } Java Compiler javac java JVM bytecode HelloWorld.java HelloWorld.class

javac.exe e java.exe Forniti con la distribuzione Java della SUN: JDK Dipendono dallarchitettura su cui si va ad operare: È necessario utilizzare il JDK per Windows se si usa Windows, ugualmente per Linux, Mac ecc… Sono applicazioni lanciate dallutente dalla shell dei comandi oppure dallambiente di sviluppo grafico utilizzato Devono essere nel path di ricerca del S.O. : Es. in windows: path %path%;C:\Programmi\Java\jdk1.5.0_02;C:\Programmi\Java\ jdk1.5.0_02\bin; set JAVAHOME=C:\Programmi\Java\jdk1.5.0_02

javac.exe

java.exe

CLASSPATH Quando creiamo una classe Java (nellesempio precedente prova), affinché sia utilizzabile è necessario che il nome del file sia lo stesso del nome della classe: La classe prova va quindi salvata in un file prova.java e compilata nel file prova.class Il compilatore javac si occupa di generare il file.class con il nome del file.java che gli viene fornito come parametro di ingresso Il file.class deve poi essere nel classpath della macchina virtuale, altrimenti non sarà trovato. E possibile specificare il classpath come opzione diretta alla JVM: java.exe –classpath [PATH1;PATH2;…;PATHn] file.class In alternativa si può definire una variabile di sistema CLASSPATH da cui il compilatore e la JVM leggono automaticamente il classpath

Classpath in javac

Classpath in JVM

Regole di base di JAVA

Regole di base – 1 Java, come quasi tutti i linguaggi di programmazione di alto livello è case-sensitive, distingue cioè le lettere minuscole da quelle maiuscole: La variabile nome è quindi diversa da Nome È consigliato inserire delle linee di commento per rendere il codice più leggibile e comprensibile (commentare il codice): La sequenza // permette di commentare la parte di riga rimanente I delimitatori /* e */ permettono di commentare tutto ciò compreso tra queste due sequenze di caratteri Es: int a=3; // questa parte finale della riga è commentata /* commento su più righe */

Regole di base – 2 Istruzione Ogni istruzione deve essere terminata da un ; Blocchi di codice Ogni blocco di codice (sequenza di una o più istruzioni da eseguire in blocco) è racchiuso tra parentesi graffe: { } Formattazione Una singola istruzione per riga Lapertura di un blocco viene indentata per rendere più chiara la struttura del blocco class HelloWorld { public static main(String[] args) { // visualizza un messaggio di saluto System.out.println(Hello World !!); }

IDE

Integrated Development Environment (IDE) Un IDE è una applicazione grafica che fornisce al programmatore un ambiente di sviluppo completo ma al tempo stesso semplice e chiaro Tramite una interfaccia grafica (GUI) è possibile costruire il progetto, tenere sotto controllo le varie parti, effettuare il debugging e molto altro ancora I più comuni ambienti di sviluppo Java sono: JBuilder – della Borland, a pagamento, ma è disponibile una versione free (chiamata Foundation) NetBeans – della SunMicrosystem, free scaricabile dal sito Eclipse – della Eclipse Foundation

Integrated Development Environment (IDE) Luso dei programmi da linea di comando javac e java viene nascosto dalla IDE: Compilando il progetto, il software passa al compilatore tutti i files necessari e genera i file.class Anche lesecuzione del programma è gestita dallinterfaccia e richiede solamente di specificare quale funzione main() mandare in esecuzione Anche la gestione del path e del classpath è automatizzata e resa friendly dallinterfaccia grafica: Il path corrente è automaticamente inserito nel classpath Aggiungendo librerie automaticamente viene aggiunto il percorso al classpath Ecc…

NetBeans Lambiente che utilizzeremo in questo laboratorio è il NetBeans, ma tutto ciò che viene fatto è facilmente trasportabile su JBuilder o su Eclipse Oltre alla libreria standard del Java, ogni IDE può mettere a disposizione librerie proprietarie da utilizzare nel progetto: Non sempre consigliato dato che una caratteristica molto importante del Java è quella della trasferibilità del codice e molte volte luso di librerie proprietarie può limitare questa possibilità Il NB mette a disposizione una gran quantità di tipologie di progetto: tramite un wizard è possibile scegliere il tipo di progetto, specificarne i parametri ed iniziare a programmare

Esempio Proviamo adesso a creare una applicazione HelloWorld utilizzando il NB Prima di tutto avviamo il NB Andiamo su File e selezioniamo new Possiamo creare direttamente una classe o un progetto. Nel primo caso, viene richiesto comunque di creare un progetto per la classe. Una volta scelto il nome del progetto e dove salvarlo passiamo alla creazione guidata della classe Ci viene chiesto il nome della classe (HelloWorld) ed il package: Per adesso ignoriamo il package (lasciamo bianco il campo del package) Notiamo lopzione generate main method che permette di generare uno scheletro per la funzione main allinterno della classe

Esempio Inseriamo il codice Java nel file HelloWorld.java Adesso possiamo compilare ed eseguire lapplicazione: Tramite il menù run lanciamo lapplicazione Notiamo la possibilità di lanciare lapplicazione anche sotto debug class HelloWorld { public static void main(String[] args) { System.out.println(Hello World!); }

Esempio Nella finestra in basso vedremo visualizzato loutput dellapplicazione E possibile verificare che anche in questo caso, rinominando la funzione main() in qualsiasi altro modo (anche Main()) il Netbeans ritorna errore

Debug

Debug in NetBeans Un IDE permette di effettuare unoperazione molto utile al programmatore: Il debugging Trovare i punti in cui il programma si comporta in maniera differente da quello che il creatore si aspettava è un lavoro molto difficile e costoso: Il debug a run-time permette di fissare dei break-point Break-point: punto del programma in cui si desidera fermare il flusso delle istruzioni per verificare ed ispezionare lo stato dellapplicazione

Breakpoint Viene selezionata la riga di codice in cui si desidera interrompere il programma Quando lesecuzione del programma raggiunge tale riga di codice, lIDE interrompe lesecuzione e permette allutente di interagire con il programma: per esempio la lettura di alcuni valori attuali dellapplicazione Una volta terminata la verifica è possibile continuare fino al break-point successivo o fino alla terminazione dellapplicazione Inoltre esiste la modalità passo-passo in cui lambiente si ferma ad ogni istruzione

Esempio Riprendiamo lapplicazione HelloWorld Inseriamo una istruzione per aumentare il numero di istruzioni: ES : una istruzione di assegnamento ad una variabile int a = 4; Mettiamo un break-point nella istruzione successiva a questa Lanciamo lapplicazione in modalità debug

Esempio Vediamo che lesecuzione si interrompe alla linea di codice con il break-point A questo punto è possibile: ispezionare i contenuti delloggetto

Esempio mettere dei watch sulle variabili

Esempio Infine è possibile continuare lapplicazione (F9) fino ad un successivo break-point o alla fine, andare avanti passo-passo (F8), entrare allinterno della funzione corrente(F7), ecc… Modo 1 Modo 2

Il JavaDoc

Lambiente di sviluppo grafico permette di creare la documentazione in automatico: la Sun aveva previsto la possibilità di descrivere, mediante apposita sintassi, le varie funzioni disponibili in ogni oggetto Per creare una descrizione di una funzione è sufficiente inserire prima del metodo e fuori da ogni altra funzione la descrizione della funzione delimitata dalle sequenze /** e */ Aggiungendo il tool JavaDoc al progetto, è possibile creare la documentazione della classi e delle funzioni del progetto:

JavaDoc Descrizione di una classe: Quando inseriamo la sequenza /** il NB automaticamente inserisce i campi descrittivi della classe in cui lautore può inserire la descrizione: titolo, descrizione, autore, versione, ecc… Descrizione di una funzione Quando inseriamo la sequenza /** il NB crea automaticamente le righe per la descrizione dei parametri di ingresso e di ritorno della funzione: args String[] indica che la funzione ha un parametro di ingresso args di tipo String[] Lautore della funzione può inserire la descrizione della funzione nella prima riga del blocco generato automaticamente da NB

JavaDoc – Esempio Creare una classe HelloWorld de-selezionando tutti i check-box durante il wizard di NB: Verrà creata una classe semplice prova senza alcuna funzione o variabile Creiamo il JavaDoc per la classe: class HelloWorld { } /** * Title: * Description: * Copyright: Copyright (c) 2005 * Company: not attributable 1.0 */ class HelloWorld { }

JavaDoc – Esempio Creare una funzione nella classe HelloWorld (creiamo la funzione main() che per ora è lunica cha abbiamo visto come si scrive): Creiamo il JavaDoc per questa funzione: class HelloWorld { public static void main(String[] args) { } class HelloWorld { /** * args String[] */ public static void main(String[] args) { }

JavaDoc – Esempio Inseriamo il titolo e la descrizione della classe e la descrizione della funzione /** * Title: Hello World * Description: Classe di prova per il JavaDoc * Copyright: Copyright (c) 2005 * Company: not attributable 1.0 */ class HelloWorld { /** * Funzione principale per il test args String[] */ public static void main(String[] args) { }

JavaDoc – Esempio Compiliamo, solo il JavaDoc o tutto quanto ed apriamo il file index.html del JavaDoc:

JavaDoc – Esempio La funzione è visualizzata in due punti: nel sommario delle funzioni in cui viene mostrata una lista di tutte le funzioni con un breve descrizione (la prima riga del commento inserito) nella sezione dettagli, in cui viene visualizzata tutta la descrizione