В этом уроке мы более подробно рассмотрим оператор присваивания, которым мы пользуемся уже достаточно давно. После того, как переменная описана, в нее можно записать любое значение, это можно сделать с помощью оператора присваивания:
1
2
3
|
переменная = значение;//синтаксис
int a;//объявили переменную
a = 7;//положили в переменную а 7
|
Слева в операторе присваивания всегда должна стоять переменная, а справа может стоять либо литерал, как в примере, приведенном выше, либо другая переменная.
1
2
3
4
|
int a;
a = 7;
int b;
b = a;
|
[note]По умолчанию, в числовых переменных содержится ноль. [/note]
Кроме этого есть возможность сокращать некоторые выражения с помощью оператора присваивания:
1
2
3
4
5
6
7
8
9
10
|
a = a + 2;// обычная запись
a +=2;// сокращенная запись
a = a - 2;// обычная запись
a -=2;// сокращенная запись
a = a * 2;// обычная запись
a *=2;// сокращенная запись
a = a / 2;// обычная запись
a /=2;// сокращенная запись
a = a % 2;// обычная запись
a %=2;// сокращенная запись
|
При присвоении значений самая частая ошибка бывает при несовпадении типов, например вы хотите присвоить целочисленной переменной вещественное значение или наоборот. Притом, когда вы переходите от целочисленного типа к вещественному, вы как бы расширяете область применения значения и компилятор может разрешить выполнить это действие без дополнительных усилий, но если вам нужно преобразовать от вещественного типа к целому, то происходить сужение области применения и компилятор выдаст ошибку. Такие сужающие преобразование рекомендуется не выполнять, но если вы уверены в их безопасности и где — то в коде они вам нужны, то вы можете выполнить их, указав тип, к которому вы хотите привести, в скобочках, например:
1
2
|
int a = 0;
double b = (int) a;
|
Кроме этого, иногда вы сможете встретить термины инициализация переменной и объявление:
1
2
|
int a ;//объявление
int b = 0;//инициализация
|
В завершении статьи, хотел рассказать про операторы инкремента и декремента. Данные операторы являются сокращением к увеличению и уменьшению некоторого значения на 1, записываются они так:
1
2
3
4
|
x++;//инкремент
x--;декремент
++x;//инкремент
--x;декремент
|
В чем разница между расположением плюсов и минусов? Если знаки расположены справа, это значит, что сначала произойдет подсчет некоторого выражения, где они используются, а затем значение изменится на 1, а если слева, то сначала изменится значение, а затем произойдет подсчет, например:
1
2
3
|
int x = 0;
int a = 2 *x++;//a равно 0, а x единице
int b = 2 * --x;//b равно 0 и x 0
|
|