Introduzione al linguaggio Java per chi ha esperienza di C++. Non si parla di OOP, solo di linguaggio.
Codice sorgente dell'esercizio finale qui: https://pastebin.com/R4yZGQcy
1. www.googleslidesppt.com _ 30+ Ready Made Google Slides & PowerPoint Presentation for Free
Dal C/C++ a Java (in 3*30 minuti)
Se sapete già programmare...non riscopriamo l'acqua calda!
Parte 1
Marcello Missiroli (prof.missiroli@gmail.com)
2. Di
che
si
tratta?
01
02
03
04
Ipotesi
Voi conoscete già un linguaggio di
programmazione (C e/o C++)
Tesi
Non occorre rispiegare tutto daccapo:
applicheremo un insegnamento differenziale
Metodologia
Trasformeremo un programma che ben
conoscete (in C/C++) in un programma Java
Verifica
Poi toccherà a voi convertire un programma!
3. Hello world (C++)
Uno Hello world classico.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
4. Passo 1
Eliminamo gli include
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
5. Passo 1
Eliminamo gli include
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
Java possiede un meccanismo
equivalente chiamato import,
ma in questo caso non serve
6. Passo 2
Eliminamo i namespaces
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
7. Passo 2
Eliminamo i namespaces
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
8. Passo 2
Eliminamo i namespaces
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
Java possiede i package,
un modo elegante per organizzare
i programmi, ma non
sono esattamente la stessa cosa
9. Passo 3
Indichiamo i modificatori alla funzione (metodo in Java)
#include <iostream>
using namespace std;
public static int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
10. Passo 3
Indichiamo i modificatori di funzione (metodo)
#include <iostream>
using namespace std;
public static int main()
{
cout << "Hello, World!"<<endl;
return 0;
}
Java possiede vari modificatori di accesso:
public, package, protected, private
(in ordine di “ristrettezza”)
static indica che si tratta di
un metodo statico,
Ovvero legato alla classe
e non a un oggetto.
11. Passo 4
Cambiamo l'intestazione del metodo, piuttosto diversa
#include <iostream>
using namespace std;
public static void main(String[] args)
{
cout << "Hello, World!"<<endl;
return 0;
}
12. Passo 4
Cambiamo l'intestazione del metodo, piuttosto diversa
#include <iostream>
using namespace std;
public static void main(String[] args)
{
cout << "Hello, World!"<<endl;
return 0;
}
Parametro obbligatorio. Notare che String fa parte
del core del linguaggio
Il metodo è di tipo void, va quindi tolto
il valore di ritorno obbligatorio.
13. Passo 5
Cambiamo il modo con cui si stampa
#include <iostream>
using namespace std;
public static void main(String[] args)
{
System.out.println("Hello, World");
return 0;
}
14. Passo 5
Cambiamo il modo con cui si stampa
#include <iostream>
using namespace std;
public static void main(String[] args)
{
System.out.println("Hello, World");
return 0;
}
Non esistono gli stream. println (e print) sono metodi
(o funzioni) che richiedono come parametero una stringa
15. Passo 6
I metodi sono sempre all'interno di una classe.
Il file deve avere lo stesso nome della classe (.java)
public class HelloWorld
{ <iostream>
public static void main(String[] args)
{
System.out.println("Hello, World");
return 0;
}
}
16. Agenda Style
Riassunto
l Il programma si avvia tramite
il metodo main
l Si usano virgolette per
delimitare le stringhe e le
graffe per racchiudere i
blocchi.
l I tipi di dati fondamentali
sono assai simili (int, float,
double, perfino void)
l Case-sensitive.
l Si possono importare librerie
(con diversa sintassi)
Similitudini
l Le funzioni si chiamano
metodi
l Il main ha parametri diversi
(I/O)
l Ci sono particolari regole di
accesso
l L'I/O su console è integrato
nel linguaggio e ha sintassi
diversa
l I metodi si possono essere
statici o dinamici
l Non esistono metodi “liberi”.
Sono sempre inseriti
all'interno di una classe, a
sua volta contenuta in un file
.java dallo stesso nome
(attenti alle maiuscole,
ANCHE se usate Windows)
Differenze
17. Agenda Style
Riassunto
#include <iostream>
using namespace std;
int main()
{
cout << "Hello,
World!";
return 0;
}
C++
public class
HelloWorld
{
public static void
main(String[] args)
{
System.out.println("He
llo, World");
}
}
Java