русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 453; Нарушение авторских прав


 

Рассказав о приоритетах, ассоциативности и других второстепенных вопросах, мы можем начать обсуждение самих операторов. В этом разделе приведены опи_ сания арифметических операторов:

Сложение (+)

 

Оператор «плюс» складывает числовые операнды или выполняет конкатена_ цию строк. Если одним из операндов является строка, другой операнд преобра_ зуется в строку и выполняется конкатенация. Операнды_объекты преобразу_


 

82 Глава 5. Выражения и операторы

ются в числа или строки, которые могут быть сложены или конкатенированы. Преобразование выполняется с помощью методов valueOf() и/или toString().

Вычитание (_)

 

Когда «минус» используется в качестве двухместного оператора, он выполня_ ет вычитание второго операнда из первого. Если указаны нечисловые операн_ ды, то оператор пытается преобразовать их в числа.

Умножение (*)

 

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

 

Деление (/)

 

Оператор / делит первый операнд на второй. Нечисловые операнды он пыта_ ется преобразовать в числа. Те, кто привык к языкам программирования, различающим целые и вещественные числа, могут ожидать получения цело_ численного результата при делении одного целого на другое. Однако в Java_ Script все числа вещественные, поэтому результатом любого деления являет_ ся значение с плавающей точкой. Операция 5/2 дает 2.5, а не 2. Результат де_ ления на ноль – плюс или минус бесконечность, а 0/0 дает NaN.

Деление по модулю (%)

 

Оператор % вычисляет остаток, получаемый при целочисленном делении пер_ вого операнда на второй. Если заданы нечисловые операнды, то оператор пы_ тается преобразовать их в числа. Знак результата совпадает со знаком перво_ го операнда, например 5 % 2 дает 1. Оператор деления по модулю обычно при_ меняется к целым операндам, но работает и для вещественных значений. На_ пример, _4.3 % 2.1 дает результат _0.1.



Унарный минус (_)

 

Когда минус используется в качестве унарного оператора, он указывается пе_ ред одиночным операндом и выполняет унарную операцию смены знака. Другими словами, он преобразует положительное значение в отрицательное, и наоборот. Если операнд не является числом, этот оператор пытается преоб_ разовать его в число.

Унарный плюс (+)

 

Для симметрии с оператором «унарный минус» в JavaScript также имеется оператор «унарный плюс». При помощи этого оператора можно явно задать знак числовых литералов, если вы считаете, что это сделает текст программы более понятным:

 

var profit = +1000000;

 

В таком коде оператор «плюс» ничего не делает; результатом его работы яв_ ляется значение его аргумента. Однако нечисловые аргументы он преобразу_ ет в числа. Если аргумент не может быть преобразован, возвращается NaN.

Инкремент (++)

 

Этот оператор инкрементирует (т. е. увеличивает на единицу) свой единст_ венный операнд, который должен быть переменной, элементом массива или свойством объекта. Если значение этой переменной, элемента массива или свойства не является числом, оператор сначала пытается преобразовать его


 

5.4. Операторы равенства
   

 

в число. Точное поведение этого оператора зависит от его положения по отно_ шению к операнду. Если поставить его перед операндом (префиксный опера_ тор инкремента), то к операнду прибавляется 1, а результатом является уве_ личенное значение операнда. Если же он размещается после операнда (пост_ фиксный оператор инкремента), то к операнду прибавляется 1, однако ре_ зультатом является первоначальное значение операнда. Если увеличиваемое значение не является числом, оно в процессе вычисления преобразуется

 

в число. Например, следующий код делает переменные i и j равными 2:

 

i = 1;

 

j = ++i;

А этот устанавливает i в 2, а j в 1:

 

i = 1;

 

j = i++;

 

Данный оператор в обеих своих формах чаще всего применяется для увеличе_ ния счетчика, управляющего циклом. Обратите внимание: нельзя вставлять перевод строки между префиксным или постфиксным оператором инкремен_ та и его операндом, поскольку точки с запятой в JavaScript вставляются авто_ матически. Если это сделать, интерпретатор JavaScript будет рассматривать операнд как полноценную инструкцию и вставит после него точку с запятой.

Декремент (__)

 

Этот оператор декрементирует (т. е. уменьшает на 1) свой единственный чи_ словой операнд, который может представлять собой переменную, элемент массива или свойство объекта. Если значение этой переменной, элемента или свойства не является числом, оператор сначала пытается преобразовать его в число. Как и для оператора ++, точное поведение оператора __ зависит от его положения относительно операнда. Будучи поставленным перед операндом, он уменьшает операнд и возвращает уменьшенное значение, после операнда – уменьшает операнд, но возвращает первоначальное значение.

 



<== предыдущая лекция | следующая лекция ==>
Тип операндов | Операторы равенства


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.642 сек.