Corso Java
Cheatsheet
Un riferimento veloce — la sintassi essenziale di Java moderno su una pagina sola. Usa Ctrl/Cmd + P per stamparla.
Java · Cheatsheet — eLearner.app
Variabili e tipi
Dichiarazione e Assegnazione
int age = 25; double price = 19.99; boolean isActive = true; char grade = 'A'; String name = "Alice";Java è fortemente tipizzato: ogni variabile deve dichiarare esplicitamente il suo tipo.
Casting e Conversioni
double d = 9.8; int i = (int) d; // 9 (narrowing cast) int num = Integer.parseInt("42"); String s = String.valueOf(123);Il casting da float/double a int tronca i decimali senza arrotondare.
Stringhe
Metodi Comuni
String s = "Hello"; int len = s.length(); // 5 char c = s.charAt(0); // 'H' String sub = s.substring(1, 4); // "ell" boolean eq = s.equals("hello");// false boolean eqIgnoreCase = s.equalsIgnoreCase("hello"); // trueUsa sempre il metodo .equals() per confrontare il valore delle stringhe, non l'operatore ==.
Concatenazione e Formattazione
String name = "Bob"; int age = 30; String msg = "Name: " + name + ", Age: " + age; String formatted = String.format("Name: %s, Age: %d", name, age); System.out.printf("Price: %.2f", 19.99);
Controllo del flusso
Branching Condizionale
if (x > 0) { System.out.println("Positive"); } else if (x < 0) { System.out.println("Negative"); } else { System.out.println("Zero"); }Cicli (for, foreach, while)
for (int i = 0; i < 5; i++) { System.out.println(i); } for (String item : items) { System.out.println(item); } while (x > 0) { x--; }Il ciclo foreach (for-each) permette di iterare facilmente su array o collezioni.
Classi e Oggetti (OOP)
Classe e Costruttore
class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public void introduce() { System.out.println("Hello, " + name); } }I membri privati (private) non sono accessibili direttamente dall'esterno della classe.
Ereditarietà
class Dog extends Animal { public Dog(String name) { super(name); // chiama il costruttore del padre } @Override public void makeSound() { System.out.println("Woof"); } }Usa l'annotazione @Override per indicare esplicitamente la sovrascrittura di un metodo ereditato.
Classi Astratte
abstract class Shape { abstract double getArea(); } class Circle extends Shape { double radius; @Override double getArea() { return Math.PI * radius * radius; } }
Interfacce e Collezioni
Interfacce
interface Drivable { void drive(); } class Car implements Drivable { @Override public void drive() { System.out.println("Driving a car"); } }Una classe può implementare più interfacce, separandole con virgole.
ArrayList (Lista Dinamica)
import java.util.ArrayList; ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add("Kotlin"); String first = list.get(0); // "Java" int size = list.size(); // 2 list.remove(1); // Rimuove "Kotlin"Gli ArrayList supportano solo tipi oggetto (es. ArrayList<Integer>, non ArrayList<int>).