Primi programmi in Java. Lezione II

Documenti analoghi
Primi programmi in Java. Lezione IV

Fondamenti di programmazione in Java. Lezione III

Scrivere un programma in Java

Programmare in Java. Olga Scotti

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

2 - Introduzione al linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

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

Appunti di Informatica 1

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Esercitazione 4. Comandi iterativi for, while, do-while

Programmazione ad oggetti

Cosa è importante: pom.xml Goal Plug-in Repository

Info Architettura, JVM Installazione JDK (Windows, Linux) Hello world!

Struttura di un programma Java

Files in C++ Fondamenti di Informatica. R. Basili. a.a

Il linguaggio di programmazione JAVA

Introduzione alla programmazione in Java

Sistemi Operativi Anno Accademico 2011/2012. Segnali: Interrupt software per la gestione di eventi asincroni

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

Home Page. Title Page. Contents. Laboratorio di LATEX. Page 1 of 16. Go Back. maggio Full Screen. Close. Quit

Ingegneria del Software 1: Eclipse

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

COSTRUZIONE DI UN APPLICAZIONE

PROGETTO LAUREE SCIENTIFICHE

Il calcolatore. Architettura di un calcolatore (Hardware)

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

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

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Guida pratica alla creazione di pagine web

Le command line di Java

Navigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog. Marco Torciani. (Seconda lezione) Unitre Pavia a.a.

PG5 Starter Training Applicazione File System Daniel Ernst EN Stefano Peracchi IT

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

public class Hello { public static void main(string[] args){ // visualizza un messaggio sulla finestra di // console System.out.

Eclipse. Avviare un progetto e compilare un semplice programma

Modulo 2 Test di verifica

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

Programmazione AA

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione

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

Introduzione alle macchine a stati (non definitivo)

PLIDA Progetto Lingua Italiana Dante Alighieri Certificazione di competenza in lingua italiana

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Note_Batch_Application 04/02/2011

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Autodesk Map parte I digitalizzazione e importazione dati

Strumenti per la programmazione

descrivere le caratteristiche della sfera utilizzare le formule inerenti. Introduzione

PG5 Starter Training Applicazione Daniel Ernst EN Stefano Peracchi IT

testo Saveris Web Access Software Istruzioni per l'uso

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

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

Java: Compilatore e Interprete

14 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

La programmazione nel linguaggio C


TPL - Indagini di frequentazione: sistema di rilevamento. FAQ Frequently Asked Questions

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Da JavaScript a Java

Video Scrittura (MS Word) Lezione 1 Funzioni di base

un programma Java 2.1 Scrittura, compilazione ed esecuzione

ECDL CORE 5.0. Modulo 1 Concetti di base dell ICT 1.6 Aspetti giuridici. Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s.

Gestione documentale

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel

AnthericaCMS. Gestisci in autonomia i contenuti del tuo sito-web

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

PIANO DI TEST/COLLAUDO TITOLO DOCUMENTO

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

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Progettazione di classi

Gestione Audit di Certificazione

APPENDICE. Appendice. Strumenti per lo sviluppo dei programmi Java

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

I metodi statici -1. Variabili statiche Vogliamo assegnare a ciascuncontoun numeroidentificativo diverso. I metodi statici -2

Gestione delle eccezioni in Java

Il mandato professionale e la formazione del preventivodi massima

Per cominciare è necessario:

Servizi Sociali. La gestione delle determine e degli atti di liquidazione;

La disposizione estetica della lettera commerciale

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Oggi. Programmazione e laboratorio: introduzione al corso. Docenti: laboratorio. Docenti: teoria. Il corso. Orario.

Introduzione ad Eclipse

Capitolo 18 - Progetto DWG Creazione del layout di stampa

I comandi del DOS. Come si fornisce un comando al DOS

Acquisto corsi online da parte di aziende

Sito del sistema bibliotecario Area Nord Ovest

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

Guida per il cacciatore

GESTIRE IL SITO IL PONTE DEI CANAIS

Cartella Clinica Basic

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

S.C.S. - survey CAD system Tel. 045 / Il menu File contiene tutti i comandi predisposti per:

MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)

Transcript:

Primi programmi in Java Lezione II

Il processo di sviluppo Passo 1: scrivere il programma Software: un qualsiasi text editor Passo 2: compilare il programma Software: Java Development Kit (JDK) Comando: javac HelloWorld.java Passo 3: eseguire il programma Software: JDK o Java Runtime environment Comando: java HelloWorld III.2

Prima di cominciare Nello scrivere i nostri programmi ci atterremo alle seguenti regole Faremo riferimento a una directory principale Tutti i file relativi a un programma risiederanno in una sottodirectory con lo stesso nome di quest ultimo (derogando in caso di modifiche di lieve entità) Il nome di un programma sarà scritto in caratteri minuscoli, a eccezione delle iniziali delle parole Diamo ai nostri programmi dei nomi significativi Quindi Sono nomi validi per i programmi: Programma, MioProgramma, UnProgrammaBellissimo NON sono nomi validi per i programmi: programma, ProGraMMa, PROGRAMMA, Programma1, Programma2, Programma3, III.3

HelloWorld.java /* Questo è il nostro primo programma scritto in java */ public class HelloWorld { public static void main(string args[]) { System.out.println("Hello, world!"); // Analizziamolo! Non usate il procedimento di copia-eincolla: copiatelo a mano! III.4

Compiliamolo! [~] % cd HelloWorld [~/HelloWorld] % ls HelloWorld.java [~/HelloWorld] % javac HelloWorld.java [~/HelloWorld] % [~/HelloWorld] % ls HelloWorld.class [~/HelloWorld] % ls Cosa è successo? HelloWorld.java III.5

Eseguiamolo! [~/HelloWorld] % java HelloWorld Hello, world! [~/HelloWorld] % L unica (apparente) azione eseguita dal programma è quella di stampare il messaggio Hello, world! a video, andando a capo III.6

Analizziamo il programma /* Questo è il nostro primo programma scritto in java */ public 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: provate a modificarlo e verificate che, ricompilando il programma, l esecuzione non cambia III.7

Analizziamo il programma /* Questo è il nostro primo programma scritto in java */ public class HelloWorld { public static void main(string args[]) { System.out.println("Hello, world!"); // Analizziamolo! Ciò che segue // viene ignorato fino al termine della riga: provate a ricompilare il programma dopo avere modificato il commento, anche aggiungendo testo alla linea successiva III.8

Analizziamo il programma 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 III.9

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

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 public class HelloWorld { public static void main(string args[]) { System.out.println("Hello, world!"); III.11

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

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

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 III.14

Aggiungiamo degli errori Provate a modificare ogni parola che compare nel sorgente del programma, e verificate in quali casi è ancora possibile compilare il programma In questi casi, verificate quando è anche possibile eseguire il programma e controllate cosa è variato nell esecuzione III.15

Librerie-Packages 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 package Alcuni package possono far parte di altri package Per poter utilizzare un package è generalmente necessario importarlo nel programma import java.util.* include nel programma tutti i comandi del package import java.util.date include nel programma solamente la classe Date Alcuni package, come java.lang, non necessitano di essere importati III.16

HelloDate.java /* HelloDate stampa la data corrente */ import java.util.date; public class HelloDate { public static void main(string args[]) { System.out.print("Che giorno e oggi? "); System.out.println(new Date()); III.17

Eseguiamolo! [~/HelloDate] %javac HelloDate.java [~/HelloDate] % java HelloDate Che giorno e oggi? Mon Oct 13 14:50:16 CEST 2003 [~/HelloDate] % giorno mese ora fuso orario anno III.18

Come funziona? new Date() istanzia un nuovo oggetto della classe Date e ritorna un riferimento ad esso In pratica: Classe Insieme Istanza della classe Oggetti della classe Pensate ad un insieme di oggetti (Classe), e di sue istanze (Oggetti della classe)!! E importante capire questo concetto! Esempio: Insieme (Classe) uomini maschi italiani; Istanza dell insieme (Oggetto della Classe) Pippo Rossi System.out.println è programmato per riconoscere i riferimenti a oggetti della classe Date passatigli come argomento e a trattarli in modo opportuno (in questo caso viene stampata la data corrente). III.19

HelloDateLungo.java /* HelloDateLungo stampa la data corrente */ import java.util.*; public class HelloDateLungo { public static void main(string args[]) { System.out.print("Che giorno e oggi? "); System.out.println(new Date()); III.20

Eseguiamolo e cerchiamo differenze [~/HelloDate] % javac HelloDateLungo.java [~/HelloDate] % java HelloDateLungo Che giorno e oggi? Mon Oct 13 14:50:19 CEST 2003 [~/HelloDate] % [~/HelloDate] % ls -lsa permessi total 32 dimensione 0 drwxr-xr-x 204 Oct 13 14:50. 0 drwxr-xr-x 204 Oct 13 14:47.. data/ora di creazione 8 -rw-r--r-- 516 Oct 13 14:50 HelloDate.class 8 -rw-r--r-- 185 Oct 13 14:49 HelloDate.java 8 -rw-r--r-- 526 Oct 13 14:50 HelloDateLungo.class 8 -rw-r--r-- 187 Oct 13 14:50 HelloDateLungo.java nome.estensione III.21

Modifichiamo il sorgente Eliminate la linea in cui viene importato il package e provate a ricompilare il programma. Cosa succede? Sulla base di quanto visto in precedenza, determinate una modifica che impedirebbe la compilazione, una che impedirebbe l esecuzione e una che varierebbe l esecuzione e implementatele III.22

Fasi di Input/Output (I/O) Per gestire l input da tastiera e l output a video utilizzeremo rispettivamente le classi: Scanner (contenuta nel package java.util ) System.out (contenuta nella classe System del package java.lang) III.23

Attenzione! I contenuti dei package sopracitati fanno parte della distribuzione di Java. Alcuni package vengono programmati a parte e per potervi accedere è necessario: copiare i contenuti del nuovo package sul proprio computer (dal CD venduto assieme al libro) in una zona opportuna; modificare alcuni settaggi del sistema (tipicamente la variabile di ambiente CLASSPATH). III.24

HelloWorldRifatto.java /* Impariamo a usare le classi di I/O */ import java.lang.*; //MA SERVE??? class HelloWorldRifatto { public static void main(string args[]) { System.out.println("Hello, world!"); III.25

Eseguiamolo! [~/HelloWorld] %javac HelloWorldRifatto.java [~/HelloWorld] % java HelloWorldRifatto Hello, world! [~/HelloWorld] % III.26

Differenze Non vi è alcuna differenza, nell output prodotto, rispetto a HelloWorld. Ma perché ho importato un package? In questo caso allora non sarebbe servito!! III.27