Fondamenti di programmazione in Java. Lezione III



Похожие документы
Primi programmi in Java. Lezione IV

Programmare in Java. Olga Scotti

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Appunti di Informatica 1

Scrivere un programma in Java

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Panoramica: che cosa è necessario

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Struttura di un programma Java

Eclipse. Avviare un progetto e compilare un semplice programma

2 - Introduzione al linguaggio Java

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

Strumenti per la programmazione

Codifica: dal diagramma a blocchi al linguaggio C++

Introduzione ad Eclipse

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Java? Sì, grazie. Scopo del corso

Introduzione a Dev-C++

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Le command line di Java

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

Installazione del Software. per lo Sviluppo di Applicazioni Java

Tale attività non è descritta in questa dispensa

Il web server Apache Lezione n. 3. Introduzione

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Istruzioni per installare EpiData e i files dati ad uso di NetAudit

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Programmazione in Java Parte I: Fondamenti

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

Adobe Flash CS5.5 e Web Animation. Lezione 7: introduzione ad ActionScript 3.0, livelli guida, realizzazione di un player audio in streaming

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Corso di HTML. Prerequisiti. Modulo L3. 1-Concetti generali. Browser Rete Internet Client e server. M. Malatesta 1-Concetti generali-12 28/07/2013

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Il linguaggio di programmazione JAVA

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

Modello per la compilazione della scheda progetto SK_3.1.xls (da utilizzarsi per la presentazione di progetti di attività formative)

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Le variabili. Olga Scotti

Getting Started. Walter Cazzola. Dipartimento di Informatica e Comunicazione Università degli Studi di Milano

Fondamenti di Informatica T1 Guida all uso di JDK e Eclipse

Javascript: il browser

Introduzione al Python

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Programmazione. Programmare ad oggetti. Programmi e calcolatori. Focalizzazione del corso. Alcuni linguaggi famosi. Programmi e linguaggi

INDICE. IL CENTRO ATTIVITÀ... 3 I MODULI... 6 IL MY CLOUD ANASTASIS... 8 Il menu IMPORTA... 8 I COMANDI DEL DOCUMENTO...

Manuale Utente Albo Pretorio GA

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

Configurare TPTP in Eclipse e testare un applicazione

Concetto di Funzione e Procedura METODI in Java

Mac Application Manager 1.3 (SOLO PER TIGER)

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

Programmazione ad Oggetti. Java Parte I

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Programmazione Orientata agli Oggetti in Linguaggio Java

Registratori di Cassa

PORTALE CLIENTI Manuale utente

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it)

MANUALE DI INSTALLAZIONE OMNIPOINT

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Installazione del JDK 6

APPENDICE. Appendice. Strumenti per lo sviluppo dei programmi Java

Sistema operativo: Gestione della memoria

Manuale Utente Amministrazione Trasparente GA

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli

Eclipse - Nozioni Base

Introduzione all uso di Eclipse

Corso basi di dati Installazione e gestione di PWS

Introduzione alla programmazione in C

File, Modifica, Visualizza, Strumenti, Messaggio

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

3. Installare Wamp Server

Avvio di Internet ed esplorazione di pagine Web.

Esercizi di JavaScript

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

2015 PERIODO D IMPOSTA

Corso sul linguaggio Java

LINGUAGGI DI PROGRAMMAZIONE

Guida rapida all uso di Moodle per gli studenti

LEXTEL SPA GUIDA AL RINNOVO DEI CERTIFICATI DIGITALI

Ambienti di Sviluppo

La selezione binaria

Licenza per sito Manuale dell amministratore

Scegliamo l opzione <salva>

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Informatica. Prof. A. Longheu. Introduzione a Java

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

Java: Compilatore e Interprete

Транскрипт:

Fondamenti di programmazione in Java Lezione III

Scopo della lezione Descrivere gli strumenti che utilizzeremo nel resto del corso per sviluppare programmi in java UltraEdit Java SDK Imparare a scrivere un programma, a compilarlo e ad eseguirlo 1.2

Editor Un editor è un applicazione che fornisce strumenti per redigere, modificare e stampare dei testi Alcuni editor hanno funzionalità avanzate, legate a specifici tipi di documenti da produrre Sono esempi di editor Blocco note e Word 1.3

UltraEdit UltraEdit è l editor che noi utilizzeremo per scrivere i sorgenti dei programmi che studieremo nel corso Si può scaricare dal sito http://www.ultraedit.com E un programma shareware: è possibile utilizzarlo per un periodo limitato di tempo 1.4

UltraEdit 1.5

UltraEdit Barra dei menù Barra delle icone Tab dei file aperti Vista ad albero Area di lavoro 1.6

UltraEdit E comodo per un programmatore perché Permette di lavorare con più file contemporaneamente, passando da uno all altro agendo semplicemente sul tab dei file aperti Riconosce la sintassi di un sorgente scritto in Java e ne colora il testo corrispondente in modo specifico Sono funzionalità implementate da molti editor 1.7

Java 1991-1994 Sun lancia il progetto Stealth (poi rinominato Oak e poi ancora Java) 1995 Sun presenta ufficialmente Java e HotJava; Netscape acquisisce la licenza di Java per il suo browser; Sun e Netscape annunciano Javascript; Microsoft annuncia di voler incorporare Java nel suo browser 1.8

Versioni di Java Java 2 Standard Edition (J2SE) Java 2 Micro Edition (J2ME) Java 2 Enterprise Edition (J2EE) 1.9

Interpreti inizio editor sorgente interprete debug si errori? no fine 1.10

Interpreti Class HelloWorld { public static void main { System.out.println( Hello ); sorgente interprete altre istruzioni? si prossima istruzione no controllo sintattico fine si errori? no esegui istruzione si controllo semantico codifica istruzione no errori? 1.11

Compilatori inizio editor sorgente compilatore errori? no si oggetto linker si errori? no 1 2 3 4 1 2 3 4 eseguibile debug loader si errori? no fine 1.12

Compilatori Class HelloWorld { public static void main { System.out.println( Hello ); sorgente controllo sintattico errori? si fine no controllo semantico compilatore 011001010110101001 101010110010101101 010100101010110101 010101011001010110 eseguibile errori? si no 1.13

Virtual machine inizio editor sorgente compilatore errori? no si 1 2 1 2 bytecode VM si errori? no fine debug 1.14

Virtual machine sorgente Class HelloWorld { public static void main { System.out.println( Hello ); controllo sintattico compilatore errori? si fine no controllo semantico bytecode 011001010110101001 101010110010101101 010100101010110101 010101011001010110 altre istruzioni? prossima istruzione si errori? si no esegui istruzione codifica istruzione Java VM 1.15

Java SDK Il Java Software Development Kit si può scaricare dal sito ufficiale della Sun http://java.sun.com, seguendo il link J2SE 1.4 SDK nell area Top Downloads selezionando la voce Download in corrispondenza del nostro sistema operativo (riga) e della colonna SDK 1.16

SDK? SDK è una sigla che significa Software Development Kit Indica un insieme di strumenti che permettono di scrivere, compilare ed eseguire un programma in Java Chiunque vuole poter programmare in Java deve installare questi strumenti (o altri analoghi) 1.17

JRE? JRE è una sigla che significa Java Runtime Environment Indica un insieme di strumenti che permettono di eseguire un programma scritto in Java Chiunque vuole poter eseguire un programma scritto in Java deve installare questi strumenti (o altri analoghi) 1.18

Istruzioni per il download Dopo aver selezionato il link corrispondente al Java SDK del nostro sistema operativo è necessario (leggere ed) accettare la licenza scaricare sull elaboratore un file piuttosto grosso (37Mb circa per Windows) eseguirlo e seguire le istruzioni 1.19

Prima di cominciare Nello scrivere i nostri programmi ci atterremo alle seguenti regole Tutti i file relativi a un programma risiederanno in una directory con lo stesso nome di quest ultimo (all interno della directory c:\java) Il nome di un programma sarà scritto in caratteri minuscoli, a eccezione delle iniziali delle parole 1.20

HelloWorld.java /* Questo è il nostro primo programma scritto in java */ class HelloWorld { public static void main(string args[]) { System.out.println( Hello, world! ); // Analizziamolo! 1.21

Compiliamolo! C:\java>cd HelloWorld C:\java\HelloWorld>dir Volume in drive C is Server Volume Serial Number is E0E9-242C Directory of C:\java\HelloWorld 14/10/2002 23.59 <DIR>. 14/10/2002 23.59 <DIR>.. 14/10/2002 22.23 112 HelloWorld.java 1 File(s) 112 bytes 2 Dir(s) 10.619.133.952 bytes free C:\java\HelloWorld>javac HelloWorld.java 1.22

Cosa è successo? C:\java\HelloWorld>dir Volume in drive C is Server Volume Serial Number is E0E9-242C Directory of C:\java\HelloWorld 14/10/2002 23.59 <DIR>. 14/10/2002 23.59 <DIR>.. 14/10/2002 23.59 427 HelloWorld.class 14/10/2002 22.23 112 HelloWorld.java 2 File(s) 539 bytes 2 Dir(s) 10.619.133.952 bytes free C:\java\HelloWorld> 1.23

Eseguiamolo! C:\java\HelloWorld>java HelloWorld Hello, world! C:\java\HelloWorld > L unica (apparente) azione eseguita dal programma è quella di stampare il messaggio Hello, world! a video, andando a capo 1.24

Analizziamo il programma /* Questo è il nostro primo programma scritto in java */ class HelloWorld { public static void main(string args[]) { System.out.println( Hello, world! ); // Analizziamolo! Il testo racchiuso tra /* e */ rappresenta un commento e viene ignorato 1.25

Analizziamo il programma /* Questo è il nostro primo programma scritto in java */ class HelloWorld { public static void main(string args[]) { System.out.println( Hello, world! ); // Analizziamolo! Ciò che segue // rappresenta un commento e viene ignorato (fino al termine della riga) 1.26

Commenti La presenza di commenti nel codice non ne modifica il comportamento ma ne aumenta notevolmente la leggibilità E quindi utile inserire commenti per chiarire i punti fondamentali di un programma 1.27

Commenti Potremmo modificare il programma in /* Questo è il nostro primo programma scritto in java */ class HelloWorld { public static void main(string args[]) { System.out.println( Hello, world! ); // Output del programma // Analizziamolo! e l esecuzione non varierebbe 1.28

Analizziamo il programma Commenti a parte, il programma è delimitato dalla parola chiave class seguita dal nome del programma e da una coppia di parentesi graffe class HelloWorld { public static void main(string args[]) { System.out.println( Hello, world! ); 1.29

Analizziamo il programma In generale le parentesi graffe delimitano blocchi di codice Diversi blocchi di codice seguono una diversa indentazione class HelloWorld { public static void main(string args[]) { System.out.println( Hello, world! ); 1.30

Il blocco main() public static void main(string args[]) { System.out.println( Hello, world! ); Rappresenta il blocco di istruzioni che viene eseguito quando si lancia il programma Per ora non ci interesseremo delle parole chiave che precedono e seguono main 1.31

Output System.out.println( Hello, world! ); Quando viene eseguita l istruzione System.out.println, il messaggio specificato entro i doppi apici viene stampato sullo schermo, seguito da un carattere di a capo Il comando System.out.print ha lo stesso comportamento, ma non va a capo 1.32

Librerie Java mette a disposizione una serie di insiemi di comandi e di oggetti deputati a risolvere particolari compiti Oggetti con funzionalità simili o collegate sono raggruppati in un insieme che viene chiamato libreria Alcune librerie possono far parte di altre librerie 1.33

Librerie Per poter utilizzare una libreria è generalmente necessario includerla nel programma import java.util.* include nel programma tutti i comandi della libreria import java.util.date include nel programma solamente l oggetto Date Alcune librerie, come java.lang, non necessitano di essere incluse 1.34

HelloDate.java /* HelloDate stampa la data corrente */ import java.util.*; public class HelloDate { public static void main(string args[]) { System.out.print("Sono le "); System.out.println(new Date()); 1.35

Eseguiamolo! C:\java\HelloDate>javac HelloDate.java C:\java\HelloDate>java HelloDate Sono le Wed Oct 16 14:47:11 CEST 2002 C:\java\HelloDate> 1.36

AreaRettangolo.java /* AreaRettangolo calcola l area di un rettangolo */ public class AreaRettangolo { public static void main(string args[]) { int base=3; int altezza=4; System.out.print( L area è ); System.out.println(base*altezza); 1.37

Dati e variabili In questo caso il programma deve fare riferimento a dei dati numerici che deve pertanto memorizzare Per potersi riferire a questi dati il programma alloca due aree di memoria a cui assegna nomi univoci (base, altezza) Chiamiamo tale aree variabili, e chiamiamo dati i valori in esso contenuti 1.38

Interattività Un programma come AreaRettangolo sarebbe più utile se, invece di assegnare valori fissati a base e altezza, permettesse all utente di specificarli a ogni esecuzione Per fare questo è necessario introdurre dei comandi che permettano di ricevere l input dalla tastiera 1.39

AreaRettangoloInterattivo.java /* AreaRettangoloInterattivo calcola l area di un rettangolo */ public class AreaRettangoloInterattivo { public static void main(string args[]) { int base=new SavitchIn().readLineInt(); int altezza=new SavitchIn().readLineInt(); System.out.print("L area è "); System.out.println(base*altezza); 1.40

SavitchIn.readLineInt()? Possiamo pensare a SavitchIn.readLineInt() come a un comando che attende che l utente immetta un valore numerico fornisce al programma tale valore E la controparte di System.out.println() 1.41

SavitchIn.readLineInt() Il comando readlineint() fa parte dell oggetto SavitchIn, che non è un oggetto distribuito con Java Per poterlo eseguire all interno dei nostri programmi dobbiamo inserire il file SavitchIn.class nella stessa directory dove risiedono i nostri sorgenti Scaricate SavitchIn.class dal sito della didattica webcentrica 1.42

Eseguiamolo C:\java\AreaRettangoloInterattivo>javac AreaRettangoloInterattivo.java C:\java\AreaRettangoloInterattivo>java AreaRettangoloInterattivo 3 7 L area è 21 1.43

Abbellimenti In questo caso l esecuzione del programma parte senza dare alcuna indicazione del fatto che il codice attende un azione dell utente (l immissione di base e altezza) E opportuno segnalare questo fatto all utente tramite degli output opportuni 1.44

AreaRettangoloInterattivo.java public class AreaRettangoloInterattivo { public static void main(string args[]) { System.out.print("Inserisci la base "); int base=new SavitchIn().readLineInt(); System.out.println(); System.out.print("Inserisci l'altezza "); int altezza=new SavitchIn().readLineInt(); System.out.println(); System.out.print("L area è "); System.out.println(base*altezza); 1.45

Esercizi Implementate HelloWorld Riscrivete HelloWorld modificando il messaggio che viene stampato aggiungendo altri messaggi sostituendo println con print e vedendo come viene modificata l esecuzione del programma (attenti agli spazi!) Implementate HelloDate Implementate AreaRettangolo 1.46

Esercizi Implementate le due versioni di AreaRettangoloInterattivo Cosa succede se durante l esecuzione di AreaRettangoloInterattivo l utente immette dei valori che non sono numerici? E se immette dei valori non interi? Scrivete un programma che accetta in input l area e la base di un rettangolo e ne calcola l altezza 1.47

Esercizi Che succede se nel programma precedente immettiamo 0 come valore per la base? Provate a inserire deliberatamente degli errori in alcuni dei programmi che abbiamo scritto, e verificate come cambia il comportamento del compilatore 1.48