Chuleta de Programación
Java esencial de primer curso: sintaxis, POO, colecciones, ficheros y JDBC en una hoja.
Tipos y variables
| int, long | Enteros de 32 y 64 bits (1_000_000 vale como literal) |
|---|---|
| double | Decimal de 64 bits; para dinero, céntimos en int o BigDecimal |
| boolean, char | true/false; un carácter entre comillas simples 'a' |
| String | Texto inmutable entre comillas dobles; comparar con equals |
| var x = 5; | Tipo inferido (variables locales) |
| final int MAX = 10; | Constante: no se puede reasignar |
| (int) 3.9 | Conversión explícita: 3 (trunca) |
| 17 / 5 · 17 % 5 | 3 (división entera) · 2 (resto) |
Entrada y salida
Scanner sc = new Scanner(System.in).useLocale(Locale.US);int n = sc.nextInt(); // númerodouble d = sc.nextDouble(); // decimal con puntosc.nextLine(); // consume el salto pendienteString linea = sc.nextLine(); // línea completaSystem.out.printf("%-10s %6.2f%n", "Total", d);Tema: Introducción a Java Control de flujo
if (x > 0) { … } else if (x == 0) { … } else { … }String t = switch (dia) { case 1, 7 -> "fin de semana"; default -> "laborable";};for (int i = 0; i < n; i++) { … }for (String s : lista) { … }while (cond) { … } do { … } while (cond);break; continue;Tema: Bucles Arrays
int[] a = new int[5]; // cerosint[] b = {3, 1, 2};int[][] m = new int[3][4]; // m.length filas, m[0].length columnasArrays.sort(b); Arrays.toString(b); Arrays.copyOf(b, 10);Arrays.binarySearch(b, 2); // solo si está ordenadoTema: Arrays Strings
| s.length() · s.charAt(i) | Longitud · carácter en la posición i |
|---|---|
| s.substring(a, b) | Desde a (incluido) hasta b (excluido) |
| s.indexOf("x") | Posición o −1 si no aparece |
| s.equals(t) · equalsIgnoreCase | Comparar contenido (nunca con ==) |
| s.split("\\s+") | Trocear por espacios (expresión regular) |
| s.trim() · toUpperCase() | Devuelven un String nuevo |
| String.join(", ", lista) | Unir con separador |
| new StringBuilder().append(x) | Construir texto en bucles |
Clases y objetos
public class Cuenta { private final String iban; // atributo encapsulado private double saldo; private static int total; // de la clase public Cuenta(String iban) { this.iban = iban; total++; } public double getSaldo() { return saldo; } @Override public String toString() { return iban + ": " + saldo; }}record Punto(int x, int y) { } // datos inmutablesTema: Clases y Objetos Herencia e interfaces
abstract class Figura { abstract double area(); }class Circulo extends Figura { private final double r; Circulo(double r) { this.r = r; } @Override double area() { return Math.PI * r * r; }}interface Volador { void volar(); default void aterrizar() { … } }if (f instanceof Circulo c) { … } // comprobar y convertirComparator<P> c = Comparator.comparing(P::nombre).reversed();Tema: Herencia Excepciones y ficheros
try (BufferedReader br = Files.newBufferedReader(Path.of("a.txt"))) { String l; while ((l = br.readLine()) != null) { … }} catch (IOException e) { System.err.println(e.getMessage());}List<String> lineas = Files.readAllLines(ruta);Files.writeString(ruta, texto, StandardOpenOption.APPEND);throw new IllegalArgumentException("motivo");Tema: Ficheros y Streams Colecciones
| List<T> = new ArrayList<>() | Secuencia por posición: add, get(i), remove, size |
|---|---|
| Set<T> = new HashSet<>() | Sin repetidos; TreeSet ordenado |
| Map<K,V> = new HashMap<>() | put, get, getOrDefault, merge, keySet, entrySet |
| Deque<T> = new ArrayDeque<>() | Pila (push/pop) o cola (offer/poll) |
| PriorityQueue<T> | poll() saca siempre el menor |
| lista.removeIf(x -> …) | Borrar mientras se recorre |
| lista.stream().filter(…).map(…).toList() | Transformar sin bucles |
JDBC
try (Connection con = DriverManager.getConnection(url, user, pass); PreparedStatement ps = con.prepareStatement( "SELECT nombre FROM clientes WHERE ciudad = ?")) { ps.setString(1, ciudad); try (ResultSet rs = ps.executeQuery()) { while (rs.next()) System.out.println(rs.getString("nombre")); }}con.setAutoCommit(false); … con.commit(); // o con.rollback()Tema: Conexión a bases de datos apuntesdam.com/subject/programacion/chuleta
Chuletas de otras asignaturas
Entornos de DesarrolloLenguajes de MarcasBases de DatosSistemas InformáticosAcceso a DatosDesarrollo de InterfacesProgramación Multimedia y Dispositivos MóvilesProgramación de Servicios y ProcesosSistemas de Gestión EmpresarialDesarrollo Web en Entorno ClienteDesarrollo Web en Entorno ServidorDespliegue de Aplicaciones WebDiseño de Interfaces Web