КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Операции присваиванияПростая операция присваивания записывается знаком равенства =, слева от которого стоит переменная, а справа выражение, совместимое с типом переменной: х = 3.5, у = 2*(х - 0.567)/(х + 2), b = х<у, bb=х>=у&&b Операция присваивания действует так: выражение, стоящее после знака равенства, вычисляется и приводится к типу переменной, стоящей слева от знака равенства. Результатом операции будет приведенное значение правой части. Операция присваивания имеет еще одно побочное действие: переменная, стоящая слева, получает приведенное значение правой части, старое ее значение теряется. В операции присваивания левая и правая части неравноправны, нельзя написать 3.5 = х. После операции х = у изменится переменная х, став равной у, а после у = х изменится у. Кроме простой операции присваивания есть еще 11 составных операций присваивания (compound assignment operators): +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= ; >>>=
Все составные операции действуют по одной схеме: х ор= а эквивалентно х = (тип х), т. е. (х ор а). Предположим, что переменная ind типа short определена со значением 1. Присваивание ind +=7.8 даст в результате число 8, то же значение получит и переменная ind. Эта операция эквивалентна простой операции присваивания ind=(short)(ind+7.8). Перед присваиванием, при необходимости, автоматически производится приведение типа. Поэтому: byte b = 1; b = b + 10; // Ошибка! b += 10; // Правильно! Перед сложением b + 10 происходит повышение b до типа int, результат сложения тоже будет типа int и, в первом случае, не может быть присвоен переменной b без явного приведения типа. Во втором случае перед присваиванием произойдет сужение результата сложения до типа byte.
|