Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

#6 - Сложение, вычитание, NaN


Количество подписчиков 97

Выпуск 6. - Сложение, вычитание, NaN

Здравствуйте, дорогие читатели!

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

Сложение и вычитание (+ и -)

За сложение и вычитание отвечают соответственно операторы + и -. Они применимы для операндов любых численных типов. Помимо этого, операция + применяется и для операндов типа String. Когда один из операндов типа String, то результат будет объектом типа String.

Особенности оператора +

В Java не допускается определять перегрузку операторов (то есть перепрограммирование операторов в зависимости от типа), как в С/С++. Но сам язык Java перегружает операторы автоматически. И это в общем-то не ново, поскольку многие языки программирования, которые поддерживают множественные арифметические типы, определяют автоматическую перегрузку арифметических операторов для примитивных типов. Java, помимо этого, имеет перегрузку оператора + для строкового типа (String). И результат действия оператора + в данном случае - это конкатенация, сцепление строк. Если один из операндов не строковый, то к нему будет предварительно применено приведение типа к строке.

Перегрузка (overloading) - это термин, упоминаемый в том случае, когда одна и та же операция (оператор) используется для операндов (аргументов) различного типа. При этом поведение операции (оператора) определяется типом операндов, к котором она должна быть применена. Например, метод println() может применяться как для операндов строкового, так и целочисленного типа. Эти два использования, на самом деле, относятся к совершенно различным методам. Просто было использовано одно и то же имя операции. Аналогично, сложение (+) используется, как для целочисленных, так и для дробных типов. Но код, реализующий это сложение, совершенно различный.

Вы все знаем, что произойдёт при сложении двух значений численного типа: операнды будут суммированы. Конечно, может случится и переполнение, если мы суммируем слишком большие числа. Но в общем и целом, поведение арифметических операторов не изобилует сюрпризами.

Если переполнение происходит при арифметическом сложении или вычитании, никаких сообщений об ошибках или исключений мы не получаем. Дело обстоит совсем по-другому, если мы конкатенируем строки. Если оба оператора строки, то результат - это "скленная" строка. Если один из операторов строка, а второй - число, то число будет приведено к типу String.

>>Читайте далее о приведении типов к строке, арифметических ошибках, NaN>>


Дружественные рассылки

Мои рассылки

Рассылки Subscribe.Ru
Генератор фракталов Apophysis
Java Programer&Developer
Фотобанки и микростоки для чайников
Интернет-заработок site free
CSS и DHTML для сайтостроительства
Йога для чайников

Если Вам понравился выпуск рассылки, пожалуйста, проголосуйте за него. Форма голосования находится в самом низу письма. Если вы ставите оценку ниже 5, я буду признательна вашему расширенному отзыву, который можно оставить в качестве коментария в блоге рассылки. Любые вопросы, коментарии, пожелания, замечения можно также оставлять в блоге рассылки.

С уважением,
Наталия Македа
natalia.macheda at gmail.com
2008-05-04, Trento

Внимание!
Письмо может быть опубликовано полностью или частично, если в нём нет явного запрета на это.

По вопросам партнёрства обращаться на е-майл natalia.macheda at gmail.com


© Наталия Македа 2008
Все материалы рассылки защищены авторским правом. Любая перепечатка или использование материалов рассылки в коммерческих целях возможна лишь с письменного согласия автора. При некоммерческом использовании ссылка на выпуск обязательна.


В избранное