Apuntes DAM

Chuleta de Programación

Java esencial de primer curso: sintaxis, POO, colecciones, ficheros y JDBC en una hoja.

Ponte a prueba con un simulacro

Tipos y variables

int, longEnteros de 32 y 64 bits (1_000_000 vale como literal)
doubleDecimal de 64 bits; para dinero, céntimos en int o BigDecimal
boolean, chartrue/false; un carácter entre comillas simples 'a'
StringTexto 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.9Conversión explícita: 3 (trunca)
17 / 5 · 17 % 53 (división entera) · 2 (resto)
Tema: Introducción a Java

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á ordenado
Tema: 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) · equalsIgnoreCaseComparar 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
Tema: Strings

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 inmutables
Tema: 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
Tema: Colecciones

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

Chuletas de otras asignaturas