Порядок выполнения операций в выражении можно изменить, путем использования круглых скобок.
Проект 3.9.
Вывод: правый беззнаковый сдвиг (>>>) на типах byte и short не работает. Это объясняется тем, что при выполнении операции короткие операнды расширяются до int (32-разрядных).
В нашем примере нулями заполнились 31,30,29 (старшие) биты результата, а потом первые три байта результата были отброшены при преобразовании в byte.
Так наш операнд стал выглядеть после автоматического преобразования в int:
11111111 11111111 11111111 10011010
Обратите внимание , что знаковый разряд при преобразовании продублировался на все старшие разряды!
Результат сдвига:
00011111 11111111 11111111 11110011
Результат преобразования в byte:
11110011 (это число −13).
Проверим как правый беззнаковый сдвиг действует на int (проект 3.10).
11111111 11111111 11111111 11111111 (−1 в двоичной форме типа int)
>>>24
00000000 00000000 00000000 11111111 (255 в двоичной форме типа int)
______________________________________________________________________
Операции булевой логики
Применимы только к операндам типа boolean
Действия операций булевой логики (AND, OR, XOR, NOT) аналогичны их действиям на битах целых чисел
Проект 3_12
Старшинство (приоритеты) операций.
Точечная операция (.) используется для разыменования объектов (будет рассмотрена позже).
Порядок выполнения операций в выражении можно изменить, путем использования круглых скобок.
Если сомневаетесь, скобки лишними не бывают ;-)
<== предыдущая лекция | | | следующая лекция ==> |
Символьные литералы | | | Каждый проход цикла с новым значением управляющей переменной называется итерацией. |
Дата добавления: 2016-01-18; просмотров: 987;