Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO"

Transcript

1 Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

2 Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato (al pari di un qualsiasi linguaggio naturale) di una sintassi e di una semantica ben definiti. L elemento base del linguaggio sono le istruzioni (parole). Sintassi: modo con le quali le istruzioni devono essere composte. Semantica: significato delle istruzioni. La caratteristica fondamentale del linguaggio di Programmazione è interpretabile dal Sistema di Elaborazione (PC, Tablet PC, SmartPhone). Corso Java - Liceo Norberto Rosa 2

3 Un po di Storia Java è stato creato a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta. Java fu annunciato ufficialmente il 23 maggio 1995 a SunWorld. Il linguaggio è definito da un documento chiamato The Java Language Specification (spesso abbreviato JLS). La prima edizione del documento è stata pubblicata nel Da allora il linguaggio ha subito numerose modifiche e integrazioni, aggiunte di volta in volta nelle edizioni successive. Ad oggi, la versione più recente delle specifiche è la Java SE 7 Edition (quarta). Corso Java - Liceo Norberto Rosa 3

4 Java Virtual Machine [ JVM ] Lo sviluppatore scrive il codice (codice sorgente) nel linguaggio Java in un sistema chiamato ambiente di sviluppo chiamato JDK (Java Develop Kit) es. E-clipse. Tra le altre cose compila il codice Java (trasformarlo da alto livello a basso livello Bytecode) interpretabile dal Sistema di Elaborazione. La Java Virtual Machine o JVM, è la componente della piattaforma Java che esegue i programmi tradotti in bytecode. Corso Java - Liceo Norberto Rosa 4

5 Sintassi del Linguaggio Java Ogni istruzione è chiusa dal simbolo ; Java è case-sensitive: ossia Java riconosce il minuscolo dal maiscuolo. Java è che fortemente tipizzato ossia qualsiasi variabile al momento della dichiarazione è associato un tipo (TYPE) di riferimento. Esistono due grandi famiglie di Type in Java: Tipi Predefiniti: insieme finito di tipi che identificano il formato (dimensione) del dato in memoria. Tipi Utente: tipi complessi definiti dai programmatori attraverso il costrutto Class. Corso Java - Liceo Norberto Rosa 5

6 Tipi Predefiniti Tipo byte short int long float double char String boolean intero con segno a 8 bit intero con segno a 16 bit intero con segno a 32 bit intero con segno a 64 bit virgola mobile a 32 bit singola precisione (standard IEEE 754) virgola mobile a 64 bit doppia precisione (standard IEEE 754) carattere singolo Unicode (intero senza segno a 16 bit) Sequenza di caratteri alfanumerici true o false Descrizione Byte Integer Long Classe contenitore Short Float Double Character String Boolean Attenzione : tutti i tipi predefiniti hanno carattere minuscolo. Corso Java - Liceo Norberto Rosa 6

7 Dichiarazione - Assegnazione di una Variabile In Java tutte la variabili devono essere dichiarate. Il costrutto sintattico della dichiarazione della variabile : TYPE nomevariabile; Il nome della variabile può essere una qualsiasi stringa alfanumerica che non sia un numero o un costrutto sintattico del linguaggio. Es1. Dichiarazione di una variabile di nome numero di tipo intero: int numero; Es2. Dichiarazione di una variabile di nome numero di tipo booleano: boolean numero; Corso Java - Liceo Norberto Rosa 7

8 Dichiarazione - Assegnazione di una Variabile Il costrutto sintattico dell assegnazione di un valore* alla variabile di riferimento [operatore =]: nomevariabile = valore; Es. Assegnazione del valore 5 alla variabile di nome numero: numero = 5; * Il valore della variabile deve essere coerente con il tipo della variabile Corso Java - Liceo Norberto Rosa 8

9 Operatori Aritmetici I principali Aritmetici, associati a variabili di tipo numerico, in Java sono: Dichiarata la variabile c di tipo intera: int c; La SOMMA [ + ]. Esempio: c = 7+4; in c sarà memorizzato 11 La SOTTRAZIONE [ - ]. Esempio: c = 6-1; in c sarà memorizzato 5 Corso Java - Liceo Norberto Rosa 9

10 Operatori Aritmetici La MOLTIPLICAZIONE [ * ]. Esempio: c = 5*4; in c sarà memorizzato 20. La DIVISIONE [ / ]. Esempio: c = 12/3; in c sarà memorizzato 4 Il MOD (resto della divisione) [ % ]. Esempio: c = 9%4; in c sarà memorizzato 1 Corso Java - Liceo Norberto Rosa 10

11 Operatori Logici I due operatori Logici principali sono AND [ && ]. OR [ ]. NOT [!] Ricordiamo qui la tabellina di verità degli operatori logici: A B &&!A false false false false true false true false true true true false false true false true true true true false Corso Java - Liceo Norberto Rosa 11

12 String String identifica una qualsiasi sequenza di caratteri alfanumerici. Dichiarazione di una variabile di nome name di tipo String. String name; Assegnazione del valore Marco alla variabile di nome name di tipo String. name = Marco ; Una sequenza alfanumerica racchiusa tra doppi apici [ ] indica che la sequenza è un valore, mentre senza doppi apici la sequenza alfanumerica indica il nome di una variabile. Corso Java - Liceo Norberto Rosa 12

13 Class La Classe è il costrutto principale del linguaggio è identifica il tipo Utente. La Classe implementa le entità reali o astratte, che determinano le dinamiche del problema risolto dal software, sotto forma di entità unitarie, dotate di specifiche d'uso e di funzionamento definite a priori. Es. Auto, Animale, Poligono, Contatto FB, Le Classi definiscono le caratteristiche proprietà e comportamenti (metodi) di queste entità. Corso Java - Liceo Norberto Rosa 13

14 Class Definizione di una classe di nome NomeClasse. class NomeClasse { } In Java le parentesi graffe { } racchiudono un insieme di istruzioni. Corso Java - Liceo Norberto Rosa 14

15 Class Proprietà La Proprietà identifica l attributo di un entità ( es. colore dell entità auto). In Java viene implementato attraverso la dichiarazione di una variabile definita a livello di classe. visibilità [static] type nomevariabile; visibilità: private visibile solo all interno della classe; public visibile anche al di fuori della classe. static : indica che la proprietà è statica. type : predefinito o utente. Corso Java - Liceo Norberto Rosa 15

16 Class Proprietà Esempio: implementazione della Classe di nome FirstClass. class FirstClass { public static int Numero; } private static String Colore; Corso Java - Liceo Norberto Rosa 16

17 Class Metodi Il metodo identifica un comportamento o azione di un entità definito da un insieme di istruzioni eseguite in modalità sequenziale. I metodi sono di tue tipologie: La procedure non hanno alcun valore di ritorno ma agiscono solo sulle proprietà della classe. La function ritorno un valore ( risultato). Il metodo è costituito da due sezioni: Signature la dichiarazione del metodo. Body insieme di istruzioni, racchiuse tra { },che implementano il comportamento. Corso Java - Liceo Norberto Rosa 17

18 Class Metodi Signature Visibilità [static] Type NomeMetodo (insieme di parametri) visibilità: private visibile solo all interno della classe; public visibile anche al di fuori della classe. static : indica che la proprietà è statica. type : tipo (predefinito o utente) del valore restituito dal metodo. Se il metodo è una procedura il tipo di ritorno è void. NomeMetodo: stringa alfanumerica che identifica il nome del metodo. Parametri [opzionali]: insieme di variabili legati dalla virgola. Corso Java - Liceo Norberto Rosa 18

19 Class Metodi Esempio: implementazione della Classe di nome FirstClass. class FirstClass { public static int Numero; public static String Colore; } public static void Calcolo(int base, String nome) { // insieme di istruzioni java } Corso Java - Liceo Norberto Rosa 19

20 Programma in Java In Java esistono diversi tipi di programmi, di natura diversa in base alle proprie finalità (desktop, console o java application, web, mobile, ). Un programma in Java è costituito da un insieme di classi. In Java le classi sono racchiuse in Package. I Package hanno una struttura gerarchica ad albero. Alcune classi e i package di riferimento sono native del linguaggio messe a disposizione con la Java Virtual Machine. Corso Java - Liceo Norberto Rosa 20

21 Java Application Il tipo più semplice di programma è detto Console Application o anche Java Application. In fase di sviluppo di un programma, in base al tipo di programma, si deve creare un Project (con Eclipse) di riferimento. Per le Java Application si utilizza il Java Project. Nelle Java Application l utente interagisce con il programma solo mediante la tastiera. Corso Java - Liceo Norberto Rosa 21

22 E-clipse Eclipse è un ambiente di sviluppo integrato multi-linguaggio e multipiattaforma. Ideato da un consorzio di grandi società quali Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP e Serena Software, chiamato Eclipse Foundation sullo stile dell'open source. E-clipse ingloba la JVM, permette quindi di: Implementare in codice sorgente in Java. Salvare ed eseguire i programmi java direttamente dall ambiente di sviluppo. Corso Java - Liceo Norberto Rosa 22

23 E-clipse Toolbar Funzionalità dell Ambiente di sviluppo Albero dei Package Classi del Project di Riferimento Editor per lo sviluppo delle classi in Java Corso Java - Liceo Norberto Rosa 23

24 E-clipse Creazione di un Java Project Corso Java - Liceo Norberto Rosa 24

25 E-clipse Creazione di un Java Project Corso Java - Liceo Norberto Rosa 25

26 E-clipse Creazione di un Java Project Sulla sinistra cliccando sulla freccia si apre l abero del progetto con due folder: 1. src : il contenitore di tutti i package del progetto 2. Library: le classi messe a disposizione dalla JVM. Corso Java - Liceo Norberto Rosa 26

27 E-clipse Creazione di un Package Tasto DX del mouse sul nodo src del project Sulla sinistra cliccando sulla freccia si apre l abero del progetto Selezionare con due folder: la voce del menù Package 1. src : il contenitore di tutti i package del progetto 2. Library: le classi messe a disposizione dalla JVM. Corso Java - Liceo Norberto Rosa 27

28 E-clipse Creazione di un Package Tasto DX del mouse sul nodo src del project Sulla sinistra cliccando sulla freccia si apre l abero del progetto con due folder: 1. src : il contenitore di tutti i package del progetto 2. Library: le classi messe a disposizione dalla JVM. Corso Java - Liceo Norberto Rosa 28

29 E-clipse Creazione di una Classe Tasto DX del mouse sul nodo del package Selezionare la voce del menù Class Corso Java - Liceo Norberto Rosa 29

30 E-clipse Creazione di una Classe Tasto DX del mouse sul nodo del package Selezionare la voce del menù Class Corso Java - Liceo Norberto Rosa 30

31 E-clipse Creazione di una Classe La nostra prima classe! Corso Java - Liceo Norberto Rosa 31

32 Metodo Main Le Java Application hanno una ed una sola classe che contiene un metodo standard chiamato main. Il metodo main è il metodo standard che esiste per tutte le java application, ed è il metodo da cui parte l esecuzione della java application. Essendo un metodo standard, ossia deve riconoscibile da tutti i compilatori Java, ha una signature bene definita e non modificabile dall utente. Corso Java - Liceo Norberto Rosa 32

33 Metodo Main System.out è una classe nativa della JVM la quale permette di stampare su Console una stringa alfanumerica. Corso Java - Liceo Norberto Rosa 33

34 Eclipse - Esecuzione di una Java App. Start del Programma Output del programma Corso Java - Liceo Norberto Rosa 34

35 Implementazione della Classe Quadrato Implementare una classe di nome Quadrato la quale ha le seguenti caratteristiche: Una proprietà privata statica di tipo intera di nome Lato. Una proprietà privata statica di tipo intera di nome Area. Un metodo (function) privato statico di nome CalcoloPerimetro, con tipo di ritorno intero, senza parametri, il quale ritorna il perimetro del quadrato. Un metodo (procedure) privato statico di nome CalcoloArea, con tipo di ritorno void, il quale calcola l area del quadrato e inserisce il risultato nella proprietà Area. Corso Java - Liceo Norberto Rosa 35

36 Implementazione della Classe Quadrato Corso Java - Liceo Norberto Rosa 36

37 Implementazione della Classe Quadrato Corso Java - Liceo Norberto Rosa 37

38 Implementazione della Classe Quadrato Corso Java - Liceo Norberto Rosa 38

39 Implementazione della Classe Quadrato Corso Java - Liceo Norberto Rosa 39

40 Richiamo di una Proprietà o Metodo Statico L operatore che permette di richiamare una proprietà (metodo) di una classe è il punto [.], inoltre per accedere si passa attraverso il nome della proprietà (o metodo) stesso. NomeClasse.NomeProprietà; NomeClasse.NomeMetodo( insieme dei valori per ogni parametro di riferimento); Corso Java - Liceo Norberto Rosa 40

41 Implementazione della Classe MainQuadrato Implementare una classe di nome MainQuadrato la quale ha il solo metodo main standard la quale: Assegna il valore 5 alla proprietà Lato della classe Quadrato. Richiama il metodo CalcoloPerimetro della classe Quadrato, il risultato lo associa ad una variabile locale di nome perimetro e stampa la variabile. Richiama il metodo CalcoloArea della classe Quadrato. Stampa la proprietà Area della classe Quadrato. Corso Java - Liceo Norberto Rosa 41

42 Implementazione della Classe MainQuadrato Corso Java - Liceo Norberto Rosa 42

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

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

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

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

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

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

Dettagli

2 - Introduzione al linguaggio Java

2 - Introduzione al linguaggio Java 2 - Introduzione al linguaggio Java Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag