Operadores, Paquetes y Documentación en Java

Los operadores lógicos en Java permiten evaluar expresiones booleanas. Los principales son AND (&&), OR (||) y NOT (!). Una característica clave es el cortocircuito: si el resultado ya se puede determinar con el primer operando, el segundo no se evalúa.

public class LogicaBooleana {
    public static void main(String[] args) {
        boolean activo = true;
        boolean inactivo = false;

        boolean resultadoAnd = activo && inactivo;   // false: ambos deben ser true
        boolean resultadoOr = activo || inactivo;    // true: basta con uno true
        boolean resultadoNot = !(activo && inactivo); // true: invierte el valor

        System.out.println("AND: " + resultadoAnd);
        System.out.println("OR: " + resultadoOr);
        System.out.println("NOT: " + resultadoNot);

        // Demostración de cortocircuito
        int valor = 5;
        boolean eval = (valor > 10) && (valor++ > 0);
        System.out.println("valor sigue siendo: " + valor); // 5, no se incrementó
    }
}

Operadores a Nivel de Bits

Estos operadores trabajan directamente sobre la representación binaria de los números. Son extremadamente eficientes y se utilizan frecuentemente en optimización de rendimiento.

public class OperacionesBits {
    public static void main(String[] args) {
        int x = 60;   // 0011 1100
        int y = 13;   // 0000 1101

        System.out.println("AND: " + (x & y));   // 12  = 0000 1100
        System.out.println("OR: " + (x | y));    // 61  = 0011 1101
        System.out.println("XOR: " + (x ^ y));   // 49  = 0011 0001
        System.out.println("NOT: " + (~y));      // -14 = 1111 0010

        // Desplazamiento: 2 << 3 equivale a 2 * 2^3
        System.out.println("Desplazamiento izquierda: " + (2 << 3)); // 16
    }
}

Operadores de Asignación Abreviada

Java permite combinar operaciones aritméticas con asignación usando sintaxis compacta. Además, el operador + actúa como concatenador de cadenas cuando alguno de los operandos es de tipo String.

public class AsignacionCompacta {
    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 20;

        num1 += num2; // equivalente a num1 = num1 + num2
        num1 -= num2; // equivalente a num1 = num1 - num2

        System.out.println("Suma normal: " + (num1 + num2));    // 30
        System.out.println("" + num1 + num2);                   // 1020 (concatena)
        System.out.println(num1 + num2 + "");                   // 30 (suma primero)
    }
}

Operador Ternario

El operador ternario es una forma concisa de escribir una estructura condicional simple en una sola línea.

public class OperadorCondicional {
    public static void main(String[] args) {
        int puntaje = 80;
        String estado = puntaje < 60 ? "Reprobado" : "Aprobado";
        System.out.println("Resultado: " + estado);
    }
}

Sistema de Paquetes

Los paquetes en Java funcionan como directorios que organizan las clases y evitan conflictos de nombres. La convención estándar consiste en usar el dominio de la empresa invertido como base del nombre del paquete.

Generación de Documentación con JavaDoc

JavaDoc es una herramienta integarda que genera documentación HTML a partir de comentarios especiales en el código. Se utilizan etiquetas como @author, @param, @return y @throws para describir clases y métodos.

package com.empresa.base;

/**
 * @author Desarrollador
 * @version 1.0
 * @since JDK 1.8
 */
public class Documento {

    private String nombre;

    /**
     * @param nombre Nombre del documento
     * @return El nombre proporcionado
     * @throws Exception si ocurre un error
     */
    public String procesar(String nombre) throws Exception {
        return nombre;
    }
}

Para generar la documentación desde consola se ejecuta:

javadoc -encoding UTF-8 -charset UTF-8 Documento.java

En IntelliJ IDEA, el proceso es: ir a Tools → Generate JavaDoc, seleccionar las clases o paquetes deseados, configurar el directorio de salida y establecer la codificación UTF-8 para evitar caracteres corruptos. El resultado es un conjunto de archivos HTML navegables desde cualqueir navegador.

Etiquetas: java Operadores Lógicos Operadores de bits JavaDoc Paquetes Java

Publicado el 10-26 09:08