Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие Java.doc
Скачиваний:
17
Добавлен:
07.09.2019
Размер:
569.34 Кб
Скачать

Арифметические операции

Арифметические операции бывают бинарные и унарные и используются в выражениях с числовыми операндами.

Почти все операторы работают только с базовыми типами. Исключение составляют «=», «==» и «!=», которые работают со всеми объектами. Кроме того, класс String поддерживает «+» и «+=».

Оператор декремента «--» обозначается а-- и эквивалентен (a = a - 1). Оператор инкремента «++» означает соответственно обозначается а++ и эквивалентен (a = a + 1). Существует префиксная и постфиксная формы записи этих операторов. Префиксная означает что сначала производится изменение значения а затем переменная участвует в выражении. При постфиксной операции наоборот.

Логические операции

Результатом логических операций является булево значение true или false. Логические операции неприменимы к операндам имеющим тип отличный от boolean:

import java.util.*;

public class Bool

{ public static void main(String[] args)

{ Random rand = new Random();

int i = rand.nextInt() % 10; // генерация случайных чисел i и j

int j = rand.nextInt() % 10; // в интервале [-9,9]

System.out.println("i = " + i);

System.out.println("j = " + j);

System.out.println("i < j is " + (i < j));

System.out.println("i >= j is " + (i >= j));

System.out.println("i == j is " + (i == j));

System.out.println("i != j is " + (i != j));

System.out.println("(i < 5) && (j >3) is "+((i < 5) && (j >3)) );

System.out.println("(i < 5) || (j>3)) is "+ ((i < 5) || (j >3)) );

}

// System.out.println("i && j is " + (i && j)); // ошибка int && int

// System.out.println prt("i || j is " + (i || j)); // ошибка int || int

// System.out.println prt("!i is " + !i); // ошибка ! int

}

Результат выполнения кода программы:

i = 2

j = -4

i < j is false

i >= j is true

i == j is false

i != j is true

(i < 5) && (j >3) is false

(i < 5) || (j>3) is true

Следует отметить, что если ожидается в аргументе значение String, то выполняется автоматическое преобразование к этому типу. В примере выше это использовалось для преобразования данных типа int и boolean в текстовую форму.

Логическое выражение будет вычисляться только до тех пор, пока не будет определена неоднозначно правдивость или ложность всего выражения, следовательно, все части логического выражения могут не вычисляться.

Побитовые операции

Побитовые операции применяются для манипулирования битами в интегрированном базовом типе данных. Эти операции основаны на правилах Булевой алгебры.

Результатом операции & является единица в бите результата, если оба соответствующих бита аргументов были единицами; в противном случае результат нулевой бит. В операции | в результате получаем единицу если хотя бы один из битов единица, иначе ноль. Побитовая операция ^ дает а результате единичный бит если исходные биты разные, иначе ноль, а операция ~ - это унарный оператор, изменяющий все биты переменной на противоположные.

Операции &, |, ^ можно комбинировать со знаком = для соединения операции и присвоений: &=, |= и ^= являются допустимыми.