Saltar al contenido principal

Contenidos

En este apartado se incluye un índice de todo lo que podría entrar en el examen.

Fundamentos de Java

  • Variables
  • Tipos de datos primitivos (int, char, float, etc.)
  • Conversión de tipos (casting implícito y explícito)
  • Literales
  • Palabras reservadas
  • Comentarios
  • Operadores aritméticos, lógicos y relacionales
  • Precedencia de operadores
  • Constantes
  • Ámbito de variables (scope)

Entrada/salida de datos

Strings y caracteres

Estructuras de control selectiva

  • Estructura if
  • Estructura if-else
  • Estructura else-if
  • Estructura switch
  • Operador ternario (? :)

Estructuras de control repetitivas

  • Bucle while
  • Bucle do-while
  • Bucle for
  • Bucle for-each (enhanced for)
  • Sentencias break y continue

Arrays

  • Declaración y creación de arrays (vectores)
  • Arrays multidimensionales
  • Acceso a elementos
  • Recorrido de arrays

Métodos

  • Declaración de métodos
  • Parámetros y argumentos
  • Valor de retorno (return)
  • Sobrecarga de métodos
  • Ámbito de variables en métodos

Recursividad

  • Concepto de recursividad
  • Casos base y recursivos
  • Ejemplos de algoritmos recursivos

Programación orientada a objetos (POO)

Conceptos fundamentales

  • Clases y objetos
  • Atributos y métodos
  • Tipos de referencia
  • Creación de objetos (new)
  • Constructores (por defecto, parametrizados, sobrecarga)
  • Palabra clave this

Conceptos fundamentales de la POO

  • Encapsulamiento
    • Modificadores de acceso (public, private, protected, default)
    • Getters y setters
  • Herencia
    • Extensión de clases (extends)
    • Palabra clave super
    • Sobrescritura de métodos (@Override)
    • Clase Object
  • Polimorfismo
    • Polimorfismo en tiempo de compilación (sobrecarga)
    • Polimorfismo en tiempo de ejecución (sobrescritura)

Conceptos avanzados

  • Atributos y métodos estáticos vs. no estáticos
  • Palabra clave final (variables, métodos, clases)
  • Clases abstractas
  • Interfaces
  • Composición vs. herencia
  • Clases helper (utilidades)
  • Clases internas (inner classes)

Enumeraciones

  • Declaración de enumeraciones (enums)
  • Uso de enums
  • Métodos en enums

Biblioteca estándar de Java

Clases wrapper

  • Clases envolventes (Integer, Double, Boolean, etc.)
  • Autoboxing y unboxing
  • Métodos útiles de wrapper classes

Números

Expresiones regulares

  • Expresiones regulares (regex)
  • Pattern y Matcher
  • Validación con expresiones regulares

Excepciones y manejo de errores

Paquetes

  • Organización en paquetes (package)
  • Declaración de paquetes
  • Importación de paquetes
  • Modificador de acceso default (package-private)

Estructuras de datos

Implementación manual de estructura de datos

  • Array dinámico
  • Lista simplemente enlazada
  • Pila (Stack)
  • Cola (Queue)

Algoritmos

Colecciones de Java

Programación funcional

  • Expresiones Lambda
    • Sintaxis de lambdas
    • Interfaces funcionales
    • Uso de lambdas
  • Streams
    • Stream API
    • Creación de streams
    • Operaciones intermedias (filter, map, sorted)
    • Operaciones terminales (collect, forEach, reduce)

Ficheros