Puede, por supuesto, se calcula utilizando más de dos números en Java. Pero hay que tener cuidado de qué es exactamente lo que se está calculada. Tomemos el siguiente ejemplo:
first_number = 100;
second_number = 75;
third_number = 25;
second_number = 75;
third_number = 25;
answer = first_number - second_number + third_number;
Si lo hizo el cálculo de izquierda a derecha sería 100-75, que es de 25. A continuación, agregue el tercer número, que es 25. El total sería de 50. Sin embargo, ¿qué pasa si usted no quiere decir eso? ¿Qué pasa si usted quiere añadir el segundo y tercer números juntos, y luego deducir el total desde el primer número? Por lo tanto 75 + 25, que es 100. A continuación deducir que desde el primer número, que es de 100. El total sería ahora 0.
Para asegurarse de que Java está haciendo lo que quiere, puede utilizar paréntesis. Así que el primer cálculo sería:
answer = (first_number - second_number) + third_number;
Aquí está la ventana de codificación para que pueda probarlo:
El segundo cálculo es la siguiente:
respuesta = first_number - (second_number + third_number);
Y aquí está la ventana de código:
Ahora vamos a probar algunos multiplicación y adición.
Cambiar los símbolos matemáticos (llamados Operadores) a más y se multiplican:
answer = first_number + second_number * third_number;
Eliminar todas sus paréntesis, a continuación, ejecute su programa.
Sin soportes, uno pensaría Java calcularía de izquierda a derecha. Así que se podría pensar que añadiría el primer número del segundo número para obtener 175. A continuación, se podría pensar que se multiplicaría por el tercer número, que es 25. Así que la respuesta sería 4375. Ejecute el programa, sin embargo. La respuesta que usted consigue realmente es 1.975!Entonces, ¿qué está pasando?
La razón de Java tiene la respuesta "incorrecta", fue a causa de Precedencia de Operadores.Java trata a algunos símbolos matemáticos más importantes que otros. Se ve la multiplicación como que tiene una prioridad sobre la suma, por lo que hace esto primero. A continuación, hace la adición. Así que Java está haciendo esto:
answer = first_number + (second_number * third_number);
Con los paréntesis en su lugar, se puede ver que el segundo número se multiplica por tercer número. A continuación se añade el total al primer número. Así que 75 multiplicado por 25 es 1875. Añadir 100 y se obtiene 1,975.
Si usted quiere que a la inversa, no se olvide de "decir" Java utilizando paréntesis:
answer = (first_number + second_number) * third_number;
División es similar a la multiplicación: Java hace la división primera, entonces la suma o resta.Cambiar su línea de respuesta a la siguiente:
answer = first_number + second_number / third_number;
La respuesta que se obtiene es 103. Ahora agregue algunos paréntesis:
answer = (first_number + second_number) / third_number;
La respuesta esta vez será 7. Así que sin los paréntesis, Java hace la división primera, y luego añade 100 al total - no funciona de izquierda a derecha.
Aquí hay una lista de Precedencia de Operadores
- Multiplicar y dividir - tratados por igual, pero tienen prioridad sobre la suma y la resta
- Sumar y restar - tratados por igual, pero tienen una prioridad más baja que la multiplicación y división
Así que si usted piensa Java te da la respuesta equivocada, recuerda que Precedencia de Operadores es importante, y añadir algunos paréntesis.
No hay comentarios.:
Publicar un comentario