2015-10-26 4 views
-1

Я занимаюсь java, и мне трудно понять, как она вычисляет эту сумму. 5 + 3/2 * 7-8 = 4
Как он получает 4?Как рассчитывается эта сумма

Порядок, в котором арифметические операторы применяются в расчет заключаются в следующем: 1. Отрицание , - 2. Умножение и деление, *, /,% 3. Сложение и Вычитание, +, -

И что же такое отрицание?

ответ

1

В java, когда вы делите два целых числа, вы получаете целое число. Так что в вашем уравнении, 3/2 = 1, который становится 5 + (1 * 7) - 8 = 4

5 + 3/2 * 7 - 8 = 4 
5 + 1 * 7 - 8 = 4 
5 + 7 - 8 = 4 
5 + -1 = 4 
0

Вот так я понимаю: - так как деление и умножение являются наивысшим приоритетом они будут сначала обрабатываться, слева направо; поэтому 3/2 дает 1, как отметил @Brian Cain; то мы умножим 1 на 7 ->, что дает 7 - до сих пор мы имеем 5 + 7 - 8, которые снова обрабатываются слева направо, дает 4

Я не очень люблю Java, но отрицание кажется мне нравится операция, связанная с булевым типом: это тип, который принимает либо true, либо false, и используя отрицание (!), вы переворачиваете значение между этими двумя, но, пожалуйста, дважды проверьте его

Смежные вопросы