Manual Esencial de Programación Java: Sintaxis, Estructuras y Colecciones

Informática y Telecomunicaciones4,92 KB

Tipos de Datos y Conversiones en Java

Rango de valores numéricos enteros: -128 a 127

Jerarquía de tipos de datos primitivos:
byte -> short -> int -> long -> float -> double

  • Izquierda a Derecha: Conversión implícita (ampliación).
  • Derecha a Izquierda: Conversión explícita (casting).

Operador ternario condicional:
variable = (condición) ? valor_si_verdadero : valor_si_falso;

Estructuras de Control y Bucles

Implementación de un menú interactivo con la estructura do-while y switch:

int op; 
do { 
    // Menú 
    op = teclado.nextInt(); 
    switch(op) { 
        case 1: /* código */ 
                break; 
        case 2: /* código */ 
                break; 
        case 3: System.out.println("Adiós"); 
                break; 
        default: System.out.println("Opción no válida"); 
    } 
} while (op != 3);

Métodos para manipulación de cadenas de texto:
cadena.toLowerCase()
cadena.toUpperCase()

Programación Orientada a Objetos y Clases

Creación de instancias, modificación de atributos y visualización de información:

// Crear objeto
Videojuego juego1 = new Videojuego("Mario Kart 8", "Nintendo", "Carreras", 50.0, 10);
// Modificar número de copias
juego1.setNumCopias(7);
// Mostrar información
System.out.printf("Videojuego: %s", juego1.toString());

Validación de expresiones regulares:
matricula.matches(EXPREG_MAT);

Constructores y Gestión de Excepciones

Ejemplo de validación de parámetros y lanzamiento de excepciones:

public Vehiculo(String mod, double pre) throws IllegalArgumentException {
    if (mod == null) throw new NullPointerException("Texto...");
    if (mod.equals("")) throw new IllegalArgumentException("Texto..."); 
    if (pre <= 0) throw new IllegalArgumentException("Texto...");
    if (pot < Vehiculo.POTENCIA_MINIMA) throw new IllegalArgumentException("..."); 
    this.modelo = mod; this.precio = pre; Vehiculo.totalVehiculos++; 
}

Sobrecarga de constructores:

public Vehiculo (String modelo, String color, double precio) throws NullPointerException, IllegalArgumentException {
    this(modelo, color, precio, Vehiculo.POTENCIA_MINIMA, 4);
}

Sobrescritura del método toString():

@Override 
public String toString(){
    return String.format("[modelo=%s, color=%s, precio=%.2f, potencia=%d, numPlazas=%d]", this.getModelo(), this.getColor(), this.getPrecio(), this.getPotencia(), this.getNumPlazas());
}

Matrices y Operaciones con Arrays

Cálculo de la diagonal en una matriz:

for (int i = 0; i < matriz.length; i++) {
    sumaDiagonal += matriz[i][matriz.length - 1 - i] || matriz[i][i];
}

Recorrido de matrices bidimensionales para conteo de números impares:

for (int i = 0; i < numeros.length; i++) {
    for (int j = 0; j < numeros[i].length; j++) {
        if (numeros[i][j] % 2 != 0) {
            contadorImpares++;
        }
    }
}

Colecciones y Estructuras de Datos

  • HashSet<String>: No garantiza orden y elimina duplicados.
  • TreeSet<String>: Orden natural de los elementos.
  • ArrayList<String>: Guarda todos los elementos secuencialmente.
  • Método .add: Permite guardar datos.

Ejemplo de uso con bucle for-each:

for (String entrada : jugadoresArray) { 
    conjuntoJugadores.add(entrada); 
}

Entrada y Salida (I/O) de Archivos

Clases principales para manejo de archivos:

  • java.io.BufferedWriter
  • java.io.FileWriter
  • java.io.FileNotFoundException
  • java.io.IOException

Inicialización de escritura en ficheros:

try {
    BufferedWriter bw = new BufferedWriter(new FileWriter(rutaFichero));
} catch (IOException e) {
    e.printStackTrace();
}

Iteradores y Operaciones Avanzadas en Colecciones

Uso de Iterator para filtrado condicional:

Iterator<String> it = conjuntoJugadores.iterator(); 
while (it.hasNext()) { 
    String entrada = it.next(); 
    if (entrada.startsWith("Barcelona")) 
        it.remove(); 
}

Uso de ListIterator para modificación de elementos:

ListIterator<String> it = listaJugadores.listIterator(); 
while (it.hasNext()) { 
    String entrada = it.next(); 
    it.set(entrada.toUpperCase()); 
}

Combinación de conjuntos:

Set<Integer> conjuntoResultado = new TreeSet<>(conjuntoNumeros1);

Descargar

PDF Word HTML