Le command line di Java



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

Strumenti per la programmazione

Programmare in Java. Olga Scotti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Appunti di Informatica 1

Tale attività non è descritta in questa dispensa

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

Introduzione alla programmazione in Java

Java: Compilatore e Interprete

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

2 - Introduzione al linguaggio Java

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

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

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

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

Introduzione ad Eclipse

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

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

Esercitazione 4 JDBC

Panoramica: che cosa è necessario

Scrivere un programma in Java

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011.

Eclipse. Avviare un progetto e compilare un semplice programma

Esercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }

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

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:

Ambienti di Sviluppo

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

Installazione del JDK 6

Ingegneria del Software 1: Eclipse

Corso Eclipse. Prerequisiti. 1 Introduzione

Struttura di un programma Java

Installazione del Software. per lo Sviluppo di Applicazioni Java

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Algoritmi di Ricerca. Esempi di programmi Java

Introduzione a Dev-C++

Java? Sì, grazie. Scopo del corso

Programmazione Orientata agli Oggetti in Linguaggio Java

Installazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com

Primi programmi in Java. Lezione IV

Programmazione in Java Parte I: Fondamenti

Fondamenti di programmazione in Java. Lezione III

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

e l ambiente Info L 4 Le operazioni sui dati L 1 L ambiente di programmazione L 5 Le stringhe L 2 La struttura del codice

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Introduzione al Python

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

Linguaggi 2 e laboratorio

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

IL LINGUAGGIO JAVA: CARATTERISTICHE

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

APPENDICE. Appendice. Strumenti per lo sviluppo dei programmi Java

Il sistema operativo UNIX/Linux. Gli script di shell

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

4. Un ambiente di sviluppo per Java

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Esercitazione n 4. Obiettivi

Librerie. Laboratorio di Informatica Antonio Monteleone 28

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

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

Guida di Installazione GCC

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

Programmazione ad oggetti

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

DATI IDENTIFICATIVI DEL PROGETTO

Laboratorio di Informatica Lezione 2

Lezione 10: Librerie e compilazione separata

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

Configurare TPTP in Eclipse e testare un applicazione

Il linguaggio di programmazione JAVA

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

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

Corso sul linguaggio Java

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

Java Virtual Machine

Unità B3 Strutture di controllo

Il compilatore Dev-C++

Il linguaggio Java. Concetti base. I packages

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

Il web server Apache Lezione n. 3. Introduzione

DevC++ vers Manuale d uso

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Informatica. Prof. A. Longheu. Introduzione a Java

Tecniche di progettazione e sviluppo di applicazioni mobile

Prossime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1

Protezione. Protezione. Protezione. Obiettivi della protezione

Transcript:

Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform, Standard Edition Installate il Software Develoment Kit (SDK) dal sito http://java.sun.com/j2se Settate correttamente la variabile PATH del vostro ambiente di lavoro Un editor di testo (emacs, NotePad, ) 26 Febbraio 2003 2 1

Java Software Development Kit (JDK) Java Software Development Kit (SDK), albero delle directory: - bin compilatore e tool - docs documentazione delle librerie Java in formato html - lib file di libreria - src file sorgenti delle librerie - jre Java RuntimeEnvironments - demo - include 26 Febbraio 2003 3 Configurazione della variabile di ambiente PATH - 1 Linux, che shell state usando? - tcsh, nel file.tcsrc set path=(/usr/local/jbuilder7/jdk1.3.1/bin $path) - bash, nel file.bashrc PATH=/usr/local/JBuilder7/jdk1.3.1/bin:$path export PATH 26 Febbraio 2003 4 2

Configurazione della variabile di ambiente PATH - 2 Windows 2000 Control Panel System Advanced Environment Variables User Variables Aggiungere variabile path value C:\jdk1.3.1_04\bin 26 Febbraio 2003 5 Scrittura di un applicazione Java Un APPLICAZIONE JAVA è un programma stand-alone scritto in linguaggio Java 26 Febbraio 2003 6 3

Scrittura di un applicazione Java Creazione di un file sorgente. Un file sorgente è un file di testo, scritto in linguaggio Java. 26 Febbraio 2003 7 Compilazione di un applicazione Java Compilazione del file sorgente in un file bytecode. Il compilatore java, javac, traduce il testo contenuto nel file sorgente in istruzioni comprensibili alla Java Virtual Machine (Java VM) e le scrive in un file bytecode. 26 Febbraio 2003 8 4

Esecuzione di un applicazione Java Esecuzione del programma. La Java VM è implementata da un interprete Java, java. Traduce le istruzioni bytecode (indipendenti dalla piattaforma) in istruzioni comprensibili dal vostro computer e le esegue. 26 Febbraio 2003 9 Portabilità del bytecode Java write once, run anywhere 26 Febbraio 2003 10 5

Scrittura di un file sorgente Scriviamo un primo semplice programma Java: In Java ogni metodo (funzione) ed ogni variabile esiste solo all interno di una classe o di un oggetto (istanza di una classe). Java non supporta metodi o variabili globali. Lo scheletro di ogni programma Java è la definizione di una classe. 26 Febbraio 2003 11 Classe Messaggio public class Messaggio{ public class Messaggio{ String msg = Il mio primo + String msg = Il programma mio primo Java ; + programma Java ; public void stampa(){ public System.out.println(msg); void stampa(){ System.out.println(msg); 26 Febbraio 2003 12 6

Classe Messaggio Messaggio.java public class Messaggio{ public class Messaggio{ String msg = Il mio primo + String msg = Il programma mio primo Java ; + Messaggio(){ programma Java ; public void stampa(){ public System.out.println(msg); void stampa(){ System.out.println(msg); 26 Febbraio 2003 13 Il metodo main Il punto di entrata dell esecuzione di un programma Java è il metodo main: quando un interprete java esegue un applicazione, chiama il metodo main della classe sulla quale è stato invocato public static void main(string[] args) 26 Febbraio 2003 14 7

Classe Saluto Saluto.java public class Saluto{ Saluto(){ Messaggio m = new Messaggio(); m.stampa(); public static void main(string a[]){ Saluto s = new Saluto(); 26 Febbraio 2003 15 Gestione dei file sorgente (.java) e bytecode (.class) Gerarchia di directory: 26 Febbraio 2003 16 8

Compilatore Java Linux: /usr/local/jbuilder7/jdk1.3.1/bin/javac Win2000: C:\jdk1.3.1_04\bin\javac Compilazione della classe Messaggio: javac Messaggio.java Sintassi: javac javac [opzioni] file_sorgente 26 Febbraio 2003 17 Opzioni di javac -classpath <classpath> Specifica dove sono i file bytecode (.class) -sourcepath <sourcepath> Specifica dove sono i file sorgente (.java) -d <directory> Specifica in quale directory salvare i bytecode prodotti -verbose Stampa informazioni aggiuntive durante la compilazione -deprecation Avverte se sono stati usati metodi deprecati 26 Febbraio 2003 18 9

Esempio javac verbose sourcepath src d classes src/messaggio.java javac d classes classpath classes src/saluto.java javac d classes sourcepath src src/saluto.java Path dei file sorgenti necessari Directory di destinazione dei file bytecode Nome del file da compilare Ha bisogno di Conoscere la Classe Messaggio! 26 Febbraio 2003 19 Interprete Java Linux: /usr/local/jbuilder7/jdk1.3.1/bin/java Win 2000: C:\jdk1.3.1_04\bin\java java Sintassi: java [opzioni] classe [argomenti] (opzioni: -classpath verbose version help) NB: la classe classe deve aver definito il metodo main: public static void main(string[] argomenti) Esempio: java classpath classes Saluto 26 Febbraio 2003 20 10

Passaggio degli argomenti Sono delle stringhe passate al programma in fase di esecuzione tramite la riga di comando, dopo il nome del file. Vengono passati automaticamente come parametri al metodo main: public class Hello { public static void main (String[] args){ System.out.println( Hello +args[0]+! ); >java Hello Novella Hello Novella! > 26 Febbraio 2003 21 Ed ora... Scegliere un OS: Linux o Windows 2000 Scrivere, compilare ed eseguire l esempio appena visto (classi Messaggio e Saluto) Cambiare OS e rieseguire il programma (senza ricompilarlo) Ripetere l esercizio invertendo l ordine Scrivere, compilare ed eseguire l esempio guida visto a lezione: la classe Pila 26 Febbraio 2003 22 11

Control Flow Statements Statement Type Keyword looping: while, do-while, for decision making: if-else, switch-case Documentazione API: http://java.sun.com/j2se/1.3/docs/api/ Classe String: http://java.sun.com/j2se/1.3/docs/api/java/lang/string.html Classe StringBuffer: http://java.sun.com/j2se/1.3/docs/api/java/lang/stringbuffer.html 26 Febbraio 2003 23 Costrutto iterativo while public class WhileDemo { public static void main(string[] args) { String copyfromme = "Copy this string until you " + "encounter the letter 'g'."; StringBuffer copytome = new StringBuffer(); int i = 0; char c = copyfromme.charat(i); while (c!= 'g') { copytome.append(c); c = copyfromme.charat(++i); System.out.println(copyToMe); 26 Febbraio 2003 24 12

Costrutto iterativo do, while public class DoWhileDemo { public static void main(string[] args) { String copyfromme = "Copy this string until you " + "encounter the letter 'g'."; StringBuffer copytome = new StringBuffer(); int i = 0; char c = copyfromme.charat(i); do { copytome.append(c); c = copyfromme.charat(++i); while (c!= 'g'); System.out.println(copyToMe); 26 Febbraio 2003 25 Costrutto iterativo for public class ForDemo { public static void main(string[] args) { int[] arrayofints = { 32, 87, 3, 589, 12, 1076; for (int i = 0; i < arrayofints.length; i++) { System.out.print(arrayOfInts[i] + " "); System.out.println(); 26 Febbraio 2003 26 13

Costrutto condizionale switch, case public class SwitchDemo { public static void main(string[] args) { int month = 8; switch (month) { case 1: System.out.println("January"); break; case 2: System.out.println("February"); break; case 12: System.out.println( December"); break; default: System.out.println( not valid ); 26 Febbraio 2003 27 Costrutto condizionale if, else public class IfElseDemo { public static void main(string[] args) { int testscore = 76; char grade; if (testscore >= 90) { grade = 'A'; else if (testscore >= 80) { grade = 'B'; else if (testscore >= 70) { grade = 'C'; else if (testscore >= 60) { grade = 'D'; else { grade = 'F'; System.out.println("Grade = " + grade); 26 Febbraio 2003 28 14