Hello World
- #java
- #programmazione
- #introduzione
In questa lezione
1. Introduzione
1.1 Che cos’è Java?
Java è un linguaggio di programmazione ad alto livello, orientato agli oggetti, e una piattaforma di sviluppo software. È stato sviluppato da Sun Microsystems (ora parte di Oracle Corporation) e rilasciato per la prima volta nel 1995. Java è progettato per essere semplice, sicuro e portabile, consentendo agli sviluppatori di scrivere codice che può essere eseguito su qualsiasi dispositivo dotato di una Java Virtual Machine (JVM), indipendentemente dal sistema operativo.
1.2 Caratteristiche principali di Java
- Orientato agli oggetti: Java segue il paradigma della programmazione orientata agli oggetti, che organizza il software come una collezione di oggetti che interagiscono tra loro.
- Portabilità: Grazie alla JVM, un programma Java può essere eseguito su qualsiasi dispositivo che supporta la JVM, indipendentemente dall’hardware e dal sistema operativo. Questo principio è noto come “Write Once, Run Anywhere” (scrivi una volta, esegui ovunque).
- Sicurezza: Java include funzionalità di sicurezza integrate, come la gestione automatica della memoria, la prevenzione dell’accesso non autorizzato alla memoria e un modello di esecuzione che limita l’accesso alle risorse di sistema.
- Robustezza: Java è progettato per essere un linguaggio robusto, con un forte controllo sui tipi di dati e la gestione delle eccezioni.
- Gestione automatica della memoria: Java gestisce automaticamente la memoria attraverso un sistema di garbage collection, che recupera la memoria inutilizzata e la ridistribuisce.
- Multithreading: Java supporta il multithreading, permettendo di eseguire più processi contemporaneamente, migliorando così le prestazioni dei programmi.
- API estese: Java include un’ampia libreria di classi (Java API) che fornisce funzionalità per sviluppo grafico, networking, accesso ai database, gestione delle I/O e molto altro.
In sostanza, Java è ampiamente utilizzato per lo sviluppo di applicazioni desktop, web, mobili (Android), e per lo sviluppo di sistemi enterprise e server-side.
2. Struttura di un programma Java
- Ciascuna classe deve essere inserita in un file separato con stesso nome della classe + “.java”.
- Ogni file .java ha un package, che rappresenta il percorso in cui si trova.
- L’esecuzione di un’applicazione in java parte sempre dalla classe con la funzione main (come in c/c++).
- In java usiamo il concetto di OOP che si basa sull’organizzare tutto in oggetti.
2.1 Oggetti
- Gli oggetti hanno attributi (dati) e comportamenti (metodi/funzioni).
- Esempio: un oggetto “Persona” può avere attributi come nome, cognome, età e comportamenti come “parla”, “cammina”, ecc…
- In questo modo, possiamo creare oggetti che rappresentano entità del mondo reale e interagire con loro in modo più naturale e intuitivo.
- La classe è una specie di “definizione” di un oggetto → mi permette di creare degli oggetti. Quindi, per definire un oggetto, ci basta definire una classe.
- Per costruire un oggetto bisogna richiamare il suo costruttore che non ha mai un valore di ritorno e deve avere in nome uguale alla classe in cui è definito.
- Essi vengono sempre creati con
new.
2.2 Tipi di dato
Ci sono 2 categorie di tipi da dato:
- Semplici primitivi;
int;float;char;boolean;- ecc…
- Tipi refence.
- “build-in” (no classi) →
array - classe:
- ricostruiti dal linguaggio (in java .lang):
String;Integer;- …
- di libreria (in java .util):
Set;List;Scanner;- …
- definiti da utente:
Esercizio;Scuola;Alunni;- …
- ricostruiti dal linguaggio (in java .lang):
- “build-in” (no classi) →
2.3 Confronto con il c++
- Stessi insiemi di valori e operazioni del c++;
booleandistinti daint(NO boolean → int);- In generale no conversione da tipo più grande a tipo più piccolo (es: NO double → float);
- Dichiarazione variabili come in c++;
- Operazioni simili al c++:
- NO: operatore
sizeof,*; - SI: operatore
sizeof; - Costrutti controllo come in c++, con piccole differenze:
- while(1)
- OK in c++
- No in java
- while(true)
- OK in java
- NO: operatore
esempio di un semplice programma:
package helloworld; // nome del package in cui mi trovo
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
int x = 5;
int y = 2;
int z = x + y;
int t = x * y;
int h = x / y;
System.out.println("x + y = " + z); // cout << "x + y = " << z;
System.out.println("x * y = " + t);
System.out.println("x / y = " + h);
for (int i = 0; i < 10; i++) {
System.out.print(i + " "); // cout << i << " ";
}
}
}
3. Esercizi
4. Quiz a risposta multipla
Mettiti alla prova
0/5 risposte
1) Che cos'è Java?
2) Quale principio fondamentale permette ai programmi Java di essere eseguiti su diversi dispositivi?
3) Quale delle seguenti caratteristiche è tipica di Java?
4) In Java, come viene creato un nuovo oggetto?
5) Quale delle seguenti affermazioni è corretta riguardo ai tipi di dato in Java?