Приоритет операций

Messages
1,679
Reaction score
288
Website
tehadm.ru
При решении данных примеров, только приоритет операций не поможет. Потребуется ассоциативность операций. Потому что если, допустим, раскладывать выражение только по приоритету операций, то получается совсем другое число.
Пример 1:
Java:
int a = 2;
int b = 5;
int result = b * 3 + 20 / 2 * a--;
Задание: Используя приоритеты операций, разложить выражение int result = b * 3 + 20 / 2 * a-- по шагам.

Пример 2:
Java:
int num1 = 4;
        int num2 = 5;
        int num3 = 15;
        int num4 = 10;
        int num5 = 5;
        int result = 12;

        result += num1 * num2 + num3 % num4 / num5;
Задание: Используя приоритеты операций, разложить выражение result += num1 * num2 + num3 % num4 / num5 по шагам.

Пример 3:
Java:
int x = 8;
int y = 9;
int z = x++ + ++y;
Задание: Чему будет равна переменная z после выполнения следующего кода и почему?

Пример 4:
Задание:
Какие арифметические операторы являются правоассоциативными?

Пример 5:
Java:
        double x = 8.8;
        double y = 1.5;
        double z = x - y;
        System.out.println(z);
Задание: Что будет выведено на консоль в результате выполнения следующего кода?
 
Last edited:
Code:
//1: a--;         // 2
//2: b * 3;      //15
//3: 20 / 2;     // 10
//4: 10 * 2;     // 20
//5: 15 + 20;  // 35
Ответ: 35

Code:
//Сразу расставим приоритеты, и приведем в нормальный вид:
//result = 12 + (4 * 5) + (15 % 10) / 5;
//1: 4 * 5 = 20
//2: 15 % 10 = 5
//3: 5 / 5 = 1
//4: 12 + 20 = 32
//5: 32 + 1 = 33
Ответ: 33

Code:
//Подставим значения переменных
//int z = 8++ + ++9;
//8++ = 8
//++9 = 10
//10 + 8 = 18
//8++ увеличит значение на единицу, но возвратит ее предыдущее значение - число 8
//++9 увеличит значение и возвратит ее новое значение, то есть число 10
Ответ: 18

Решение данного вопроса я нашел не сразу (хотя конечно, мог подсмотреть, подсказку), но стал гуглить.
Ответ: префиксный инкремент и декремент

Ответ: 7.300000000000001
 
Last edited:
Back
Top