Hay una ventaja interesante para el operador de asignación compuesta en Java que no mucha gente conoce
De acuerdo con las reglas de promoción de tipos en Java, cuando utiliza cualquier tipo de datos más corto que int (byte, short, char, etc.) en una expresión, se promocionará automáticamente a int.
Considere el siguiente ejemplo.
- ¿Ser bueno en matemáticas ayuda en la programación?
- ¿Por qué SAS es mucho más rápido que R? Utilicé el código para encontrar los primeros k números primos en SAS y R para comparar su eficiencia, y los códigos son esencialmente los mismos, pero los resultados están fuera de mi mente.
- Cómo diseñar una máquina de Turing con este RE a ^ (2n + 1) b ^ (2n-1)
- Cómo crear un cuestionario de matemáticas en Python
- ¿Qué conceptos matemáticos difíciles se pueden entender fácilmente mediante la programación?
corto a, b;
Caso 1: a = a + b;
Caso 2: a + = b;
Intente ejecutar el caso 1 y obtendrá un error que dice que está intentando asignar un int a short. Esto se debe a que la expresión en el lado derecho se promociona a int, que es un tipo de datos más grande.
Para ejecutar, el primer caso, debe escribir explícitamente el lado derecho de la siguiente manera
a = (corto) (a + b);
Ahora, considere el Caso 2. Esto se ejecutará sin ningún error, ya que el operador restringe la promoción de tipo y mantiene el mismo tipo.