Java Basics

Tags
Published
Author

1. Concetti Base di Java

Cos'è Java? Perché Java?

Java è un linguaggio di programmazione versatile e di alto livello, ampiamente utilizzato per sviluppare applicazioni su diverse piattaforme. Creato da Sun Microsystems nel 1995, Java enfatizza l'indipendenza dalla piattaforma attraverso il motto:
💡
Scrivi una volta, esegui ovunque
Questo significa che i programmi Java possono essere eseguiti su qualsiasi dispositivo dotato di Java Virtual Machine (JVM).
notion image
I principali vantaggi di Java includono:
  • Programmazione Orientata agli Oggetti (OOP): Promuove codice modulare e riutilizzabile.
  • Indipendenza dalla Piattaforma: Il codice compilato in bytecode può essere eseguito su qualsiasi JVM.

JVM, JDK e JRE

  • JVM (Java Virtual Machine): Un motore che esegue il bytecode Java, rendendo i programmi indipendenti dalla piattaforma.
  • JDK (Java Development Kit): Un ambiente di sviluppo per creare applicazioni Java. Include il compilatore (javac), il debugger e altri strumenti.
  • JRE (Java Runtime Environment): Contiene librerie e la JVM necessarie per eseguire applicazioni Java, ma manca degli strumenti di sviluppo come il compilatore.

Il primo programma "Hello, World!"

Aprire un editor di testo e scrivere il seguente codice
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
  1. Salvare il file come HelloWorld.java.
  1. Aprire un terminale/command prompt, navigare nella directory del file e compilarlo utilizzando javac HelloWorld.java.
  1. Eseguire il programma con java HelloWorld.
Output:
Hello, World!

Sintassi e Struttura di Java

  • Dichiarazione della Classe: Un programma Java inizia con la dichiarazione di una classe, ad esempio public class HelloWorld.
  • Metodo Main: Il punto di ingresso di qualsiasi programma Java: public static void main(String[] args) {}.
  • Istruzioni: Comandi, ognuno terminato con un punto e virgola (;).
  • Blocchi: Racchiusi tra parentesi graffe {}.

2. Tipi di Dati e Variabili

Tipi Primitivi

Java ha 8 tipi primitivi:
  • int: Valori interi (es. , ).
  • double: Numeri in virgola mobile (es. , ).
  • char: Singoli caratteri (es. '', '').
  • boolean: Valori logici ( o ).
  • byte, short, long, float: Altri tipi numerici con intervalli e precisioni diversi.
Esempio:
int age = 25; boolean isJavaFun = true; char grade = 'A'; double pi = 3.14159;

Tipi Non Primitivi

  • String: Rappresenta una sequenza di caratteri. Esempio:
String name = "Java";
  • Array: Memorizza più valori dello stesso tipo. Esempio:
int[] numbers = {1, 2, 3, 4};

Casting e Conversione di Tipi

  • Casting Implicito: Conversione automatica da un tipo più piccolo a uno più grande (es. int a double).
int num = 10; double numDouble = num; // Casting implicito
  • Casting Esplicito: Conversione manuale da un tipo più grande a uno più piccolo (es. double a int).
double pi = 3.14159; int roundedPi = (int) pi; // Casting esplicito

3. Operatori

Operatori Aritmetici, Logici, Relazionali e di Assegnazione

  • Operatori Aritmetici: Eseguono operazioni matematiche.
int sum = 5 + 3; // 8 int product = 5 * 3; // 15
  • Operatori Logici: Combinano espressioni booleane.
boolean result = (5 > 3) && (8 > 5); // true
  • Operatori Relazionali: Confrontano valori.
boolean isEqual = (5 == 5); // true
  • Operatori di Assegnazione: Assegnano valori.
int x = 10; x += 5; // x = 15

Operatori di Incremento (++) e Decremento (--)

  • Incremento: Incrementa un valore di 1.
int a = 5; a++; // a = 6
  • Decremento: Decrementa un valore di 1.
int b = 5; b--; // b = 4

Precedenza degli Operatori

Gli operatori hanno un ordine di esecuzione predefinito. Ad esempio:
int result = 5 + 3 * 2; // La moltiplicazione (*) viene eseguita prima dell'addizione (+)

4. Strutture di Controllo

Istruzioni Condizionali

  • Istruzione if: Esegue un blocco se una condizione è vera.
if (age > 18) { System.out.println("Sei un adulto."); }
  • Istruzione if-else: Esegue un blocco se è vera, un altro se falsa.
if (age > 18) { System.out.println("Adulto"); } else { System.out.println("Non adulto");
  • Istruzione switch: Seleziona un blocco da eseguire in base al valore di una variabile.
switch (day) { case 1: System.out.println("Lunedì"); break; case 2: System.out.println("Martedì"); break; default: System.out.println("Altro giorno"); }

Cicli

  • Ciclo for: Ripete un blocco per un numero specifico di volte.
for (int i = 0; i < 5; i++) { System.out.println(i); }
  • Ciclo while: Ripete un blocco finché una condizione è vera.
int i = 0; while (i < 5) { System.out.println(i); i++; }
  • Ciclo do-while: Esegue un blocco almeno una volta, poi ripete finché una condizione è vera.
int i = 0; do { System.out.println(i); i++; } while (i < 5);

Break, Continue e Return

  • Break: Esce dal ciclo o dall'istruzione switch corrente.
for (int i = 0; i < 5; i++) { if (i == 3) break; System.out.println(i); }
  • Continue: Salta il resto dell'iterazione corrente del ciclo.
for (int i = 0; i < 5; i++) { if (i == 3) continue; System.out.println(i); }
  • Return: Esce da un metodo e opzionalmente restituisce un valore.
public int add(int a, int b) { return a + b; }

Back to →
🐚
Java