Авторские Материалы о событиях в Израиле на Ближнем Востоке и в мире

IsraMir.com - Израильская журналистика

Default color brown color green color red color blue color
Вы сейчас тут: Новости arrow Техотдел arrow Свет ученья arrow Thinking in Java, 2nd edition -6
Skip to content
Thinking in Java, 2nd edition -6 - Операторы унарного... Версия для печати Отправить на e-mail
Содержание
Операторы унарного...
Проверка равенства...
Логические операторы
Sunday, 30 April 2006 | Bruce Eckel для раздела Ученье – свет
Операторы унарного минуса и плюса
ThinkinginJava,2ndedition-6isramir.comУнарный минус (-) и унарный плюс (+) это такие же операции, как и бинарный минус и плюс. компилятор вычисляет какое использование имеется в виду по способу записи выражения.
Например, выражение
x = -a;
имеет очевидный смысл. Компилятор способен вычислить:
 
 
x = a * -b;
 
но читатель может быть сконфужен, так что лучше сказать:
 
x = a * (-b);
 
Унарный минус производит отрицательное значение. Унарный плюс производится симметрично унарному минусу, хотя не производит никакого эффекта.
 
Автоинкремент и автодекремент
Java, как и C, полон сокращений. Сокращения могут сделать код более простым в наборе и либо легким, либо трудным для чтения.
Два из лучших сокращений - это операторы инкремента и декремента (часто называемые операторами автоинкремента и автодекремента). Оператор декремента является -- и обозначает “уменьшение на одну единицу измерения”. Оператор инкремента - ++ и означает “увеличить на одну единицу измерения”. Если, например, a - int, выражение ++a эквивалентно (a = a + 1). Операторы инкремента и декремента в результате производят такое же значение, что и переменная.
 
Есть две версии каждого типа оператора, часто называемые префиксной и постфиксной версией. Преинкремент означает, что оператор ++ стоит перед переменной или выражением, а постинкремент означает, что оператор ++ стоит после переменной или выражения. Аналогично, предекремент означает, что оператор -- стоит перед переменной или выражением, а постдекремент означает, что оператор -- стоит после переменной или выражения. Для преинкремента и предекремента (т.е. ++a или --a), выполняется операция и производится значение. Для постинкремента и постдекремента (т.е. a++ или a--) сначала производится значение, а затем выполняется операция. Как пример:
 
// Демонстрирует операторы ++ и --.
 
public class AutoInc {
  public static void main(String[] args) {
    int i = 1;
    prt("i : " + i);
    prt("++i : " + ++i); // Преинкремент
    prt("i++ : " + i++); // Постинкремент
    prt("i : " + i);
    prt("--i : " + --i); // Предекремент
    prt("i-- : " + i--); // Постдекремент
    prt("i : " + i);
  }
  static void prt(String s) {
    System.out.println(s);
  }
}
 
Вывод этой программы:
i : 1
++i : 2
i++ : 2
i : 3
--i : 2
i-- : 2
i : 1
 
Вы можете увидеть, что для префиксной формы вы получаете значение после выполнения операции, а при постфиксной форме вы получаете значение до выполнения операции. Это операторы (отличные от использующих присвоение), которые имеют побочные эффекты. (То есть, они меняют операнд раньше, чем используют его значение.)
 
Оператор инкремента - это одно из объяснений для имени C++, подразумевающее “один шаг в сторону от C”. В ранней речи о Java Bill Joy (один из создателей) сказал, что “Java=C++--” (C плюс плюс минус минус), намекая, что Java - это C++ с удаленной ненужной сложной частью и поэтому более простой язык. Когда вы будете продвигаться по книге, вы увидите, что многие части проще, и теперь Java не так прост, как C++.
 
Операторы сравнения
Операторы сравнения генерируют булевый результат. Они вычисляют отношения между значениями и операндами. Выражение отношения производит true, если выражение истинное, а false, если выражение ложное. Выражения отношения, это: меньше чем (), меньше либо равно, чем (=), равно (==) и не равно (!=). Равно и неравно работает со всеми встроенными типами данных, но другие сравнения работают только с типом boolean.
 


 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:


Автотранслитерация: выключена

Защитный код

Powered by jComments
независимая эксклюзивная офисная мебель ЛайфОФис