Benvenuti nel mondo Java!
🎯 Obiettivi della lezione
- Capire cos'è Java e perché è importante
- Comprendere le differenze tra C e Java
- Configurare Eclipse per programmare in Java
- Scrivere ed eseguire il primo programma Java
- Introduzione ai concetti base della OOP
📚 Cos'è Java?
Java è un linguaggio di programmazione orientato agli oggetti creato da Sun Microsystems nel 1995 (ora di proprietà Oracle). È uno dei linguaggi più usati al mondo per sviluppare:
- Applicazioni desktop
- Applicazioni web e server
- App Android
- Sistemi enterprise di grandi dimensioni
💡 Caratteristica principale: "Write Once, Run Anywhere"
Il codice Java viene compilato in bytecode, che può essere eseguito su qualsiasi sistema che abbia installata la Java Virtual Machine (JVM). Questo significa che lo stesso programma funziona su Windows, Linux, Mac senza modifiche!
🔄 Differenze tra C e Java
Dal paradigma procedurale a quello ad oggetti
Il C è un linguaggio procedurale: il programma è organizzato in funzioni che operano su dati.
Java è orientato agli oggetti: il programma è organizzato in classi e oggetti che contengono sia dati che funzioni.
| Caratteristica | C | Java |
|---|---|---|
| Paradigma | Procedurale | Orientato agli Oggetti |
| Gestione memoria | Manuale (malloc/free) | Automatica (Garbage Collector) |
| Puntatori | Sì, espliciti | No, gestiti automaticamente |
| Compilazione | Codice nativo | Bytecode per JVM |
| Portabilità | Limitata | Multipiattaforma |
| Strutture dati | struct | class |
💻 Configurare Eclipse
⚙️ Prerequisiti
Prima di usare Eclipse, assicurati di avere installato il JDK (Java Development Kit). Puoi scaricarlo da: oracle.com/java
Passi per creare il primo progetto:
- Apri Eclipse
- Vai su File → New → Java Project
- Dai un nome al progetto (es: "PrimoProgetto")
- Clicca su Finish
- Nel Package Explorer, espandi il progetto
- Fai clic destro su src → New → Class
- Dai un nome alla classe (es: "HelloWorld")
- Spunta public static void main(String[] args)
- Clicca su Finish
🚀 Il primo programma: Hello World
Ecco come appare il classico "Hello World" in Java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Confronto con il C
In C:
#include <stdio.h>
int main() {
printf("Hello World!\n");
return 0;
}
In Java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
📖 Spiegazione riga per riga:
public class HelloWorld
→ Dichiara una classe pubblica chiamata HelloWorld. In Java, tutto il codice deve essere dentro una classe!
public static void main(String[] args)
→ È il metodo principale da cui parte l'esecuzione del programma (come la funzione main in C)
- public: accessibile da ovunque
- static: può essere chiamato senza creare un oggetto
- void: non restituisce nulla
- String[] args: array di stringhe per argomenti da riga di comando
System.out.println("Hello World!");
→ Stampa la stringa a video (equivalente a printf in C)
- System.out: oggetto per output standard
- println: metodo che stampa e va a capo
- print: metodo alternativo che stampa senza andare a capo
▶️ Eseguire il programma in Eclipse
- Clicca con il tasto destro sul file Java
- Seleziona Run As → Java Application
- Oppure: premi il tasto verde di esecuzione ▶️ nella toolbar
- L'output apparirà nella Console in basso
🎨 Introduzione alla Programmazione ad Oggetti
La Programmazione Orientata agli Oggetti (OOP) è un paradigma di programmazione basato sul concetto di "oggetti", che possono contenere dati (chiamati attributi) e codice (chiamati metodi).
I quattro pilastri della OOP:
1️⃣ Incapsulamento
Nascondere i dettagli interni di un oggetto e fornire un'interfaccia pubblica per interagire con esso.
2️⃣ Ereditarietà
Creare nuove classi basate su classi esistenti, ereditando attributi e metodi.
3️⃣ Polimorfismo
Oggetti di classi diverse possono essere trattati attraverso la stessa interfaccia.
4️⃣ Astrazione
Nascondere la complessità mostrando solo le funzionalità essenziali.
Nelle prossime lezioni approfondiremo ognuno di questi concetti con esempi pratici!
📝 Esempio: Variabili e Tipi di Dati
Java ha tipi di dati simili al C, ma con alcune differenze:
public class TipiDati {
public static void main(String[] args) {
// Tipi primitivi (simili al C)
int numero = 42; // intero
double decimale = 3.14; // numero con virgola
char carattere = 'A'; // singolo carattere
boolean veroFalso = true; // boolean (non esiste in C!)
// String (tipo oggetto, non primitivo!)
String testo = "Ciao Java!";
// Stampa
System.out.println("Numero: " + numero);
System.out.println("Decimale: " + decimale);
System.out.println("Carattere: " + carattere);
System.out.println("Boolean: " + veroFalso);
System.out.println("Testo: " + testo);
}
}
🔍 Differenze importanti con il C:
- Le String sono oggetti, non array di char
- Esiste il tipo boolean (true/false) invece di usare 0/1
- Non serve il \n con println (va a capo automaticamente)
- L'operatore + concatena le stringhe
✏️ Esercizi Guidati
Esercizio 1: Modifica Hello World
FACILEObiettivo: Modifica il programma HelloWorld per stampare il tuo nome e la tua classe.
Passi:
- Apri il file HelloWorld.java in Eclipse
- Cambia il messaggio in "Ciao, sono [TuoNome] della classe 3A"
- Aggiungi una seconda riga con System.out.println("Benvenuti al corso Java!");
- Esegui il programma
Output atteso:
Esercizio 2: Calcolatrice Base
FACILEObiettivo: Creare un programma che esegue operazioni matematiche di base.
Codice da completare:
public class Calcolatrice {
public static void main(String[] args) {
int a = 10;
int b = 5;
// Completa le operazioni
int somma = a + b;
int sottrazione = // ... completa tu
int moltiplicazione = // ... completa tu
int divisione = // ... completa tu
System.out.println("Somma: " + somma);
// Stampa anche le altre operazioni
}
}
Output atteso:
Esercizio 3: Info Personali
MEDIOObiettivo: Creare un programma che gestisce informazioni personali.
Requisiti:
- Crea variabili per: nome (String), età (int), altezza in metri (double), studente (boolean)
- Inizializza le variabili con i tuoi dati
- Stampa tutte le informazioni in modo formattato
Suggerimento: Usa il + per concatenare stringhe e variabili
💪 Esercizi da Svolgere
Esercizio 4: Area e Perimetro
MEDIOScrivi un programma che calcola area e perimetro di un rettangolo.
- Dichiara due variabili: base e altezza
- Calcola area (base * altezza) e perimetro (2 * (base + altezza))
- Stampa i risultati
Esercizio 5: Conversione Temperature
MEDIOCrea un programma che converte una temperatura da Celsius a Fahrenheit.
- Formula: fahrenheit = (celsius * 9/5) + 32
- Dichiara una variabile celsius = 25
- Calcola e stampa il valore in Fahrenheit
Esercizio 6: Media di Tre Numeri
FACILEScrivi un programma che calcola la media di tre numeri interi.
- Dichiara tre variabili intere
- Calcola la somma
- Calcola la media (usa double per il risultato!)
- Stampa il risultato
🎯 Concetti Chiave da Ricordare
- Java è un linguaggio orientato agli oggetti
- Tutto il codice deve stare dentro una classe
- Il metodo main è il punto di partenza del programma
- System.out.println() stampa e va a capo
- Le String sono oggetti, non array di char
- Java gestisce automaticamente la memoria (no malloc/free!)
- Esiste il tipo boolean per valori vero/falso
📚 Approfondimenti
Vuoi saperne di più?
- Cerca "JVM architecture" per capire come funziona Java internamente
- Esplora la documentazione ufficiale: docs.oracle.com/javase/tutorial
- Prova a scrivere programmi che usi quotidianamente (calcolatori, convertitori, etc.)