Если мы работает с любыми целочисленными типами, то мы можем применять и оператор, который работает непосредственно с битами, из которых и состоят эти числа. И для этих операции в языке Java существует несколько операторов. Вот они. Это оператор не, который меняет
соответствующий бит на противоположный. Оператор "и". Оператор "или". Оператор, исключающий "или", а также несколько операторов, которые выполняют сдвиг вправо и влево. Вот этот оператор выполняет сдвиг вправо, в битовом представлении, вот этот оператор выполняет сдвиг в битовом представлении влево, а оператор, состоящий из трех таких значков, заполняют старшие разряды нулями в битовом сдвиге. Ну и в правом столбце здесь же приведены те же самые операторы в виде использования, как сокращенное выражение. Если мы хотим их использовать аналогично с тем, как мы использовали плюс, минус и т.д., ранее. В нижней таблице приведены действия этих операторов, если у нас есть один бит, А и В, и их значения, вот такие, как внутри таблицы, то в случае действий операторов or, and, xor и not
A принимают вот такие значения, как видно из таблицы. В языке Java, наряду с обычными операторами, которые работают с целыми числами, действительными и т.д., есть и операторы, которые работают с булевыми выражениями и булевыми переменными. Это такие операторы, как and, or, xor и т.д. Вот этот оператор, оператор "и ", следующий оператор, оператор "или".
Далее оператор xor, исключающий "или", и следующие два оператора, это операторы or и and с быстрыми вычислениями. Т.е. при этих двух операторах, выражение до конца не вычисляются, если ее значение получается уже при выполнении первого из операндов.
Следующей, это оператор отрицания not, но далее три оператора, которые повторяют, оператор "и", "или" и исключающий "или", но вместе с присваиванием. А также есть оператор проверки на равенство, равны ли два выражения друг другу, и оператор проверки, если два выражения не равны друг другу.
А также есть оператор, который заменяет оператор if-then-else. Ниже, в этой таблице приведены результаты работы операторов or, and, xor, и not A, "и" , "или", и, исключающий "или", при различном значений первого и второго операндов А и В, для булевых выражений. Как и во всех языках программирования, в языке Java существует тоже своя иерархия операторов. Т.е. то, в каком порядке они выполняются в выражениях.
Конечно же, самый большой приоритет имеют круглые и квадратные скобки, а далее, вниз по убывающей. Операторы, находящиеся на одном уровне, выполняются слева направо, за исключением тех случаев, когда они имеют правую ассоциативность. Это относится к вот этим операторам, они выполняются справа налево. Также, справа налево выполняется оператор с присваиванием. Во всех остальных же случаях, выполняются операции подряд, слева направо, если операторы одного уровня. А если случаются операторы разного уровня, то сначала выполняется тот оператор, который стоит выше по приоритету.
Например, сначала, конечно же, выполняется умножение и деление, затем, во второй очереди, сложение и вычитание. Надо сказать, что, если при написании какого-либо выражения у нас есть подозрение, неопределенность, в каком порядке выполняются те или иные операции, то лучше всегда воспользоваться скобками, которые, конечно же, имеют наивысший приоритет. И в этом случае, мы точно можем быть уверены, что операторы будут выполняться именно в той последовательности, в которых мы их и задумали. И это может предотвратить некое количество ошибок.
Наряду с обычными операторами, в языке Java реализована возможность использования набора математических функций, часто оказывающихся необходимыми при решении разного рода задач. Для этого в языке Java есть официальный класс math, в который и входят все эти функции. Например, чтобы извлечь квадратный корень, для этого у нас есть специальная функция sqrt. Зададим переменную с двойной точностью, double. Пусть эта переменная x, которая будет равна 2.
И затем зададим еще одну переменную с двойной точностью. Пусть это у нас будет y, которая будет равняться корень из x. Для этого напишем таким образом: math, тот класс, в котором у нас сосредоточены все математические функции и далее sqrt. И далее в скобках x. Вот теперь у нас к y будет присвоено значение корня из x, т.е. корня из 2. Выведем это число на экран. Для этого скопируем эту строчку. Выделим. Правая кнопка мыши. Сору. Встанем сюда. Правая кнопка мыши и Paste. И теперь напишем таким образом. Переменная y равняется, и само значение y. Закрыть скобку, точка с запятой.
Теперь скомпилируем и выполним эту программу, для этого Tools, далее Compile Java, теперь опять Tools и Run Java application, вот можем видеть, чему равняется корень из 2, 1,4 и т.д. Все цифры по порядку. Закроем это окно. Кроме корня квадратного, в классе math, еще много всяких математических функции. Это такая функция, как pow, которая реализует возведение числа в степень, в корень мы уже видели.
Далее синус, косинус, тангенс, котангенс, это все обычные тригономические функции. Далее экспонент и логарифм, и две математические константы, это Pi и e. Например, попробуем возвести какое-нибудь число, например, Pi в какую-либо степень при помощи возведения
pow. Для этого воспользуемся следующим способом. Напишем, таким образом, Double число с двойной точностью, пусть это будет у нас xx, равняется, и далее напишем, таким образом, math, точка, pow.
Далее возведем число Pi, math Pi, ну, например, в степень "е", math "е". Закрыть скобку. Точка с запятой. Теперь попробуем это все вывести на окно. Для этого правая кнопка мыши и Paste. Теперь напишем, что это у нас переменная x. И выведем ее значение. Закрыть скобку, точка с запятой. Если же мы сейчас скомпилируем эту программу, и запустим, Tools, Run Java application, то мы можем удовлетворить наше любопытство и узнать, чему равняется число "пи" в степени "е". Это 22 целых и т.д. Закроем теперь это окно и вернемся в наш обычный текстовый редактор.
⇐Операторы. арифметические действия | TeachPro WEB-дизайн | Операторы⇒