SlideShare a Scribd company logo
05/02/21 1
speaker
www.webturing.net
ezio sperduto
Mini Corso Java 4h
(per principianti)
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Gli strumenti -> DOWNLOAD
JDK (Java Development Kit) Oracle
• compilatore
• JRE/run-time (Java Virtual Machine, JVM)
• librerie
• archiviatore jar
• generatore di documentazione
• etc…
Eclipse IDE - ambiente integrato per sviluppo
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Ezio Sperduto?
formazione
• laurea Informatica, Sapienza
• PhD Ing. Informatica, Roma3
• 4+ certificazioni Java Oracle
• 3+ certificazioni Project Management
appassionato di informatica
esperienza
• programmatore
• software engineer
• software architect
• docente Java
• docente Algoritmi Università
startup e aziende
• 10+ anni fondazione e guida azienda Infosons
• ora, CEO azienda turing
community e meetup
• Code Garden Roma (partecipazione/organizzazione)
• XPUG Roma, JUG Milano/Torino, GraphRM, Ben, Algorand, Docker Roma, Angular Roma…
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Riferimenti
tutorial Oracle
docs.oracle.com/javase/tutorial
Java Book Eckel
"Thinking in Java, 4° edition", Bruce Eckel (download)
Java API docs
docs.oracle.com/en/java/javase/15/docs/api
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Primo programma (editor + compilatore e poi Eclipse)
class Programma{
public static void main(String[] args){
System.out.println("Ciao CodeGarden");
}
}
1
2
3
4
5
6
7
8
9
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
• linguaggio di programmazione ad oggetti
• fortemente tipato
• sintassi C-like
• nato 1995 (25 anni)
• nome originale OAK
• ultima versione (inizio 2021) 15
• prima SUN poi Oracle
• Java è una qualità di caffè (logo)
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Portabilità: «write once, run anywhere»
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Ciclo di compilazione
Java linguaggio ibrido
javac
Esecuzione
Programma.java
Programma.class
sorgenti
file testo
compilati
ByteCode
java
(compilatore)
(interprete, JVM)
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Variabili e type-system di Java
int i = 128;
• byte
• short
• int
• long
• float
• double
• char
• boolean
8 tipi primitivi
tutti gli altri, object-reference
• String
• ArrayList
• Object
• Class
• …
4999
3.14
2.1E-7
'a' 'x' 'n' 'u20ac'
true / false
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Tipo String
• tipo classe (sono oggetti)
• si definisce con apici doppi
• posso invocare vari metodi di utilità
• indice caratteri parte da 0
• il + concatena
• immutabile
String s="ciao";
int l=s.length();
char c=s.charAt(0);
String t="m" + s.substring(1,4);
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Local type inference (da Java 10)
var i = 12;
var d = 12.0;
var s = "12";
Riconoscimento automatico del tipo di destra
vietato in:
- dichiarazioni composte
- dichiarazioni senza inizializzazione
- array
- campi globali
attenzione: il linguaggio rimane fortemente tipato!
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Operatori
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Istruzioni condizionali: IF
if(i > 100){
System.out.println("alto");
}else{
System.out.println("basso");
}
• tra parentesi espressione boolean
• ramo else opzionale
• parentesi graffe necessarie con più
istruzioni
1
2
3
4
5
6
7
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
int stagione = 2;
String nome;
switch (stagione) {
case 1: nome = "Primavera";
break;
case 2: nome = "Estate";
break;
case 3: nome = "Autunno";
break;
case 4: nome = "Inverno";
break;
default: nome = "Errore!";
break;
}
• tra parentesi espressione
§ int
§ byte
§ short
§ char
§ String
§ enum
• ramo default opzionale
• senza break l'esecuzione continua
Istruzioni condizionali: SWITCH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
String valore = i>100 ? "alto" : "basso";
Istruzioni condizionali: operatore ternario
op1 ? op2 : op3
• op1 di tipo boolean
• op2 e op3 dello stesso tipo
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Istruzioni iterative: WHILE
while(x < 10){
System.out.println("Contatore:" + x);
}
• tra parentesi espressione boolean
• esegue 0 o più iterazioni
• parentesi graffe necessarie con più
istruzioni
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Istruzioni iterative: DO-WHILE
do{
System.out.println("Contatore:" + x);
} while(x < 10);
• tra parentesi espressione boolean
• esegue 1 o più iterazioni
• parentesi graffe necessarie con più
istruzioni
1
2
3
4
5
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Istruzioni iterative: FOR
for(int i=0;i<10;i++){
System.out.println("Contatore:" + i);
}
• i tre elementi sono:
§ inizializzazione (istruzione)
§ controllo (espressione boolean)
§ incremento (istruzione)
• esegue 0 o più iterazioni
• parentesi graffe necessarie con più
istruzioni
1
2
3
4
5
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Esercizio
Consideriamo la serie di tutti i numeri multipli di 3 o 5:
3, 5, 6, 9, 10…
Quanto vale la somma di tutti i numeri di questa sequenza, minori di 1'000'000?
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Funzioni
void stampa10numeri(){
for(int i=1;i<=10;i++){
System.out.println("Contatore:" + i);
}
}
1
2
3
4
5
6
7
sintassi dichiarazione
sintassi chiamata
stampa10numeri();
1
2
3
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Funzioni
int potenza(int base, int esponente){
int res=1;
for(int i=0;i<esponente;i++)
res = res * base;
return res;
}
1
2
3
4
5
6
7
sintassi dichiarazione
sintassi chiamata
int risultato = potenza(2,10);
1
2
3
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Esercizio – STRINGA MINIMA
Sviluppare un programma con 2 funzioni
che restituisce la prima stringa in ordine alfabetico,
tra le stringhe immesse come parametro.
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
Regalo Turing
• sconto del 50%
• solo per i corsi JAVA BASE e JAVA EE
• solo per i partecipanti di questo mini-corso
• solo per i corsi ON-LINE
Contattare direttamente:
• amministrazione@webturing.net
• ezio.sperduto@webturing.net
con codice promozione:
JAVA-4H-2021
ONLINE ONLINE
www.webturing.net
Thank You – Q & A
ezio.sperduto@webturing.net
linkedin.com/in/sperduto/
tiny.cc/codegarden
Iscriviti al gruppo Linkedin!
Mini Corso Java 4h (per principianti)
www.webturing.net
ezio sperduto
Mini Corso Java 4h (per principianti)
End

More Related Content

PDF
PHP Object Injection
PDF
PHP Object Injection in Joomla...questo sconosciuto!
ODP
Mocking Objects Practices
KEY
Corso Python Deltapromo lezione 1
PDF
Ruby in 25 minuti
PPTX
2011.02.19 Introducing F#
PDF
Lezione01
PPTX
Scala: come recuperare la programmazione funzionale e perché
PHP Object Injection
PHP Object Injection in Joomla...questo sconosciuto!
Mocking Objects Practices
Corso Python Deltapromo lezione 1
Ruby in 25 minuti
2011.02.19 Introducing F#
Lezione01
Scala: come recuperare la programmazione funzionale e perché

What's hot (14)

ODP
Le 10 principali ragioni per cui Ruby fa pena
PDF
2006 Py03 intermedio
PDF
iOS_Course_6
PPTX
C#, imparare a programmare e sopravvivere
PPTX
PHP Object Injection Demystified
PDF
C# Language Evolution
PDF
OOP with C#
PDF
Webbit 2004: Tiger, java
PPTX
Python@Unina - Theory
PDF
C# e la Framework Class Library
PPTX
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
PPTX
Corso pratico di C# - 2013
PDF
iOS_Course_5
PDF
Dai delegati a LINQ con C#
Le 10 principali ragioni per cui Ruby fa pena
2006 Py03 intermedio
iOS_Course_6
C#, imparare a programmare e sopravvivere
PHP Object Injection Demystified
C# Language Evolution
OOP with C#
Webbit 2004: Tiger, java
Python@Unina - Theory
C# e la Framework Class Library
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso pratico di C# - 2013
iOS_Course_5
Dai delegati a LINQ con C#
Ad

Similar to Mini Corso Java - Parte 1 (20)

PDF
Mini Corso Java - Parte 3
PDF
lezione1.pdf
PPT
Java Lezione 1
PDF
Corso Programmazione Java Base
PDF
Java lezione1
PDF
Corso Java 1 - BASE
PPT
Corso java base
PDF
Lezione01
PDF
Corso Java - Introduzione
PDF
Mini Corso Java - Parte 2
PDF
Lezione02
PDF
Lezione02
PPT
Stringhe java
PDF
Lezione 1: I/O in Java
PPT
iContract
PDF
(E book ita) java introduzione alla programmazione orientata ad oggetti in ...
PPTX
Dal C a Java (2/3)
PDF
Introduzione al linguaggio Java
PPT
PPT
Introduzione a JavaScript e jQuery (1/2)
Mini Corso Java - Parte 3
lezione1.pdf
Java Lezione 1
Corso Programmazione Java Base
Java lezione1
Corso Java 1 - BASE
Corso java base
Lezione01
Corso Java - Introduzione
Mini Corso Java - Parte 2
Lezione02
Lezione02
Stringhe java
Lezione 1: I/O in Java
iContract
(E book ita) java introduzione alla programmazione orientata ad oggetti in ...
Dal C a Java (2/3)
Introduzione al linguaggio Java
Introduzione a JavaScript e jQuery (1/2)
Ad

Mini Corso Java - Parte 1

  • 2. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Gli strumenti -> DOWNLOAD JDK (Java Development Kit) Oracle • compilatore • JRE/run-time (Java Virtual Machine, JVM) • librerie • archiviatore jar • generatore di documentazione • etc… Eclipse IDE - ambiente integrato per sviluppo
  • 3. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Ezio Sperduto? formazione • laurea Informatica, Sapienza • PhD Ing. Informatica, Roma3 • 4+ certificazioni Java Oracle • 3+ certificazioni Project Management appassionato di informatica esperienza • programmatore • software engineer • software architect • docente Java • docente Algoritmi Università startup e aziende • 10+ anni fondazione e guida azienda Infosons • ora, CEO azienda turing community e meetup • Code Garden Roma (partecipazione/organizzazione) • XPUG Roma, JUG Milano/Torino, GraphRM, Ben, Algorand, Docker Roma, Angular Roma…
  • 4. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Riferimenti tutorial Oracle docs.oracle.com/javase/tutorial Java Book Eckel "Thinking in Java, 4° edition", Bruce Eckel (download) Java API docs docs.oracle.com/en/java/javase/15/docs/api
  • 5. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Primo programma (editor + compilatore e poi Eclipse) class Programma{ public static void main(String[] args){ System.out.println("Ciao CodeGarden"); } } 1 2 3 4 5 6 7 8 9
  • 6. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) • linguaggio di programmazione ad oggetti • fortemente tipato • sintassi C-like • nato 1995 (25 anni) • nome originale OAK • ultima versione (inizio 2021) 15 • prima SUN poi Oracle • Java è una qualità di caffè (logo)
  • 7. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Portabilità: «write once, run anywhere»
  • 8. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Ciclo di compilazione Java linguaggio ibrido javac Esecuzione Programma.java Programma.class sorgenti file testo compilati ByteCode java (compilatore) (interprete, JVM)
  • 9. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Variabili e type-system di Java int i = 128; • byte • short • int • long • float • double • char • boolean 8 tipi primitivi tutti gli altri, object-reference • String • ArrayList • Object • Class • … 4999 3.14 2.1E-7 'a' 'x' 'n' 'u20ac' true / false
  • 10. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Tipo String • tipo classe (sono oggetti) • si definisce con apici doppi • posso invocare vari metodi di utilità • indice caratteri parte da 0 • il + concatena • immutabile String s="ciao"; int l=s.length(); char c=s.charAt(0); String t="m" + s.substring(1,4);
  • 11. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Local type inference (da Java 10) var i = 12; var d = 12.0; var s = "12"; Riconoscimento automatico del tipo di destra vietato in: - dichiarazioni composte - dichiarazioni senza inizializzazione - array - campi globali attenzione: il linguaggio rimane fortemente tipato!
  • 12. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Operatori
  • 13. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Istruzioni condizionali: IF if(i > 100){ System.out.println("alto"); }else{ System.out.println("basso"); } • tra parentesi espressione boolean • ramo else opzionale • parentesi graffe necessarie con più istruzioni 1 2 3 4 5 6 7
  • 14. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) int stagione = 2; String nome; switch (stagione) { case 1: nome = "Primavera"; break; case 2: nome = "Estate"; break; case 3: nome = "Autunno"; break; case 4: nome = "Inverno"; break; default: nome = "Errore!"; break; } • tra parentesi espressione § int § byte § short § char § String § enum • ramo default opzionale • senza break l'esecuzione continua Istruzioni condizionali: SWITCH 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  • 15. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) String valore = i>100 ? "alto" : "basso"; Istruzioni condizionali: operatore ternario op1 ? op2 : op3 • op1 di tipo boolean • op2 e op3 dello stesso tipo
  • 16. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Istruzioni iterative: WHILE while(x < 10){ System.out.println("Contatore:" + x); } • tra parentesi espressione boolean • esegue 0 o più iterazioni • parentesi graffe necessarie con più istruzioni
  • 17. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Istruzioni iterative: DO-WHILE do{ System.out.println("Contatore:" + x); } while(x < 10); • tra parentesi espressione boolean • esegue 1 o più iterazioni • parentesi graffe necessarie con più istruzioni 1 2 3 4 5
  • 18. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Istruzioni iterative: FOR for(int i=0;i<10;i++){ System.out.println("Contatore:" + i); } • i tre elementi sono: § inizializzazione (istruzione) § controllo (espressione boolean) § incremento (istruzione) • esegue 0 o più iterazioni • parentesi graffe necessarie con più istruzioni 1 2 3 4 5
  • 19. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Esercizio Consideriamo la serie di tutti i numeri multipli di 3 o 5: 3, 5, 6, 9, 10… Quanto vale la somma di tutti i numeri di questa sequenza, minori di 1'000'000?
  • 20. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Funzioni void stampa10numeri(){ for(int i=1;i<=10;i++){ System.out.println("Contatore:" + i); } } 1 2 3 4 5 6 7 sintassi dichiarazione sintassi chiamata stampa10numeri(); 1 2 3
  • 21. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Funzioni int potenza(int base, int esponente){ int res=1; for(int i=0;i<esponente;i++) res = res * base; return res; } 1 2 3 4 5 6 7 sintassi dichiarazione sintassi chiamata int risultato = potenza(2,10); 1 2 3
  • 22. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Esercizio – STRINGA MINIMA Sviluppare un programma con 2 funzioni che restituisce la prima stringa in ordine alfabetico, tra le stringhe immesse come parametro.
  • 23. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) Regalo Turing • sconto del 50% • solo per i corsi JAVA BASE e JAVA EE • solo per i partecipanti di questo mini-corso • solo per i corsi ON-LINE Contattare direttamente: • amministrazione@webturing.net • ezio.sperduto@webturing.net con codice promozione: JAVA-4H-2021 ONLINE ONLINE
  • 24. www.webturing.net Thank You – Q & A ezio.sperduto@webturing.net linkedin.com/in/sperduto/ tiny.cc/codegarden Iscriviti al gruppo Linkedin! Mini Corso Java 4h (per principianti)
  • 25. www.webturing.net ezio sperduto Mini Corso Java 4h (per principianti) End