Conceptos básicos de Java: operadores de comparación

Los operadores de operación presentados en el artículo anterior, este artículo presenta los operadores de comparación.

I. Resumen

En general, existen los siguientes operadores de comparación en Java:

operador ejemplo explicar
> x > y Devuelve verdadero si x es mayor que y.
>= x >= y Devuelve verdadero si x es mayor o igual que y.
< x < y Devuelve verdadero si x es menor que y.
<= x <= y Devuelve verdadero si x es menor o igual que y.
== x == y Devuelve verdadero si x es igual a y.
!= x != y Devuelve verdadero si x e y no son iguales.
ejemplo x instancia de y Devuelve verdadero si x es de la misma clase que y o una subclase de y.

Ejemplo de código:

package com.test.javaroads.operator;

/**
 * @author: javaroads
 * @date: 2022/12/1 16:44
 * @description:
 */
public class Four {

    public static void main(String[] args) {
        
        int a = 100;
        double b = 100.001D;

        if (b > a) {
            System.out.println("b > a 为" + (b > a));
        }

        if (b >= a) {
            System.out.println("b >= a 为" + (b >= a));
        }

        if (a < b) {
            System.out.println("a < b 为" + (a < b));
        }

        if (a <= b) {
            System.out.println("a <= b 为" + (a <= b));
        }
    }
}

Resultados de la:

En cuanto a la comparación de tamaños, creo que todo el mundo conoce el resultado, así que no lo explicaré aquí.

2. Usa == y !=

usary != Nota: los tipos de datos de Java se dividen aproximadamente en dos tipos: tipos primitivos y tipos de referencia . utilizado en tipos primitivosy != están bien, pero tenga cuidado al usarlos en tipos de referencia.

==!= Preste atención cuando lo use en un tipo de referencia: no está comparando el valor que tiene el objeto, sino si el referente de la referencia del objeto es el mismo. Si desea comparar el valor que tiene el objeto, debe puede utilizar el método de igualdad.

Mismo valor, misma referencia:

Los valores son los mismos, pero las referencias son diferentes:

Vayamos directamente al código:

package com.test.javaroads.operator;

/**
 * @author: javaroads
 * @date: 2022/12/1 17:14
 * @description:
 */
public class Five {

    public static void main(String[] args) {
        StringBuffer x = new StringBuffer("xyz");
        StringBuffer y = x;
        System.out.println("x和y比较为" + (x == y));

        StringBuffer z = new StringBuffer("xyz");
        StringBuffer w = new StringBuffer("xyz");
        System.out.println("z和w比较为" + (z == w));
    }
}

Resultados de la:

Explicación del código:

  • Cree un objeto x usando el operador nuevo.
  • Usando el operador de asignación = copia el objeto x al objeto y, en este caso simplemente copiando la información de referencia de x en y en lugar de reasignar el área de y en el área de memoria.
  • Comparar x e y con el operador == devuelve verdadero porque las direcciones de referencia son las mismas.
  • El objeto z se crea utilizando el operador new.
  • El objeto w se crea utilizando el operador new.
  • Comparar z y w con el operador == devuelve falso porque el valor abc es el mismo pero tiene una dirección de referencia diferente.

3. Uso de instancia de

instanceof es un operador que prueba si el operando izquierdo es de la misma clase o subclase que el operando derecho. El operando izquierdo puede ser cualquier expresión de referencia de objeto (variable, etc.), y el operando derecho puede ser una clase, interfaz o tipo de matriz.

Vamos a demostrarlo a través del código:

padre:

package com.test.javaroads.operator;

/**
 * @author: javaroads
 * @date: 2022/12/1 17:38
 * @description:
 */
public class Six {

    public static void main(String[] args) {
        SixSub sub = new SixSub();

        if (sub instanceof Six) {
            System.out.println("sub属于Six类");
        } else {
            System.out.println("sub不属于Six类");
        }
    }
}

Subclase:

package com.test.javaroads.operator;

/**
 * @author: javaroads
 * @date: 2022/12/1 17:38
 * @description:
 */
public class SixSub extends Six {
}

Ejecute el método principal de la clase padre:

Explicación del código:

  • Declare y genere una variable de objeto sub cuyo valor sea de clase SixSub.
  • Verifique si la variable de objeto sub es la misma clase o una subclase de la clase Six usando el operador instanceof. Devuelve verdadero porque sub tiene el tipo de datos La clase SixSub es una subclase de la clase Six.

Supongo que te gusta

Origin blog.csdn.net/weixin_43025343/article/details/132215457
Recomendado
Clasificación