Это операции >, <, >=, <=,!= и ==. Следует обратить внимание, что сравнение на равенство обозначается двумя знаками '='. Операндами этих операций могут быть арифметические данные, результат - типа boolean.
Операции отношений!= и == работают для всех объектов, но их смысл может быть не сразу очевиден. Например:
Public class Op{ …………………… Integern1 = new Integer(47); Integer n2 = new Integer(47); System.out.print (n1 == n2); System.out.print (n1!= n2); } |
Выражение System.out.print (n1 ==n2) выведет результат булевского сравнения, содержащегося в скобках. Конечно, результат должен быть истина (true), а во втором случае – false, так как оба целых имеют одинаковые значения. Но в то время, как содержимое объектов одинаковое, ссылки на них разные а операторы!= и == сравнивают именно ссылки. Поэтому результат первого выражения false, а второго – true.
Операции инкремента, декремента
Это операции ++ и --. Так y++ (инкремент) является сокращенной записью y = y +1, аналогично и с операцией декремента (--). Но с этими операциями есть одна тонкость. Они существуют в двух формах - префиксной (++y) и постфиксной (y++). Действие этих операций одно и то же - они увеличивают (операции декремента - уменьшают) свой операнд на 1, а вот результат у них разный. Префиксная форма в качестве результата выдает уже измененное на 1 значение операнда, а постфиксна - значение операнда до изменения.