Читать книгу Основы программирования. Базовые понятия для новичков - Иосиф Дзеранов - Страница 4
2.
Типы данных. Переменные
2.2
ОглавлениеПеременная
Определение
Программа, которая всегда считает результат вычисления одного и того же выражения, довольно скучная и бессмысленная. Полезная программа должна оперировать с различными данными без внесения изменений в код.
Для хранения информации в программировании используются переменные. Переменную можно рассматривать как ящик. Однажды сделав такой ящик, мы можем класть в него разные вещи.
Под каждый тип информации – нужен ящик соответствующего типа: вы ведь не будете складывать деньги, спички, бензин и шоколад в один и тот же ящик. Таким образом, у каждой переменной есть тип данных, который надо указать при ее создании. Также у переменной есть имя, по которому мы будем к ней обращаться.
Запомните:
Переменная – это ячейка памяти
определенного типа данных,
имеющая имя.
Работа с переменной
Для создания или объявления переменной нужно воспользоваться следующей схемой:
тип_данных название переменной;
Тип данных, отвечающий за хранение целых чисел, называется int. Следовательно, чтобы создать переменную, которая будет хранить целые числа, нужно написать:
int a;
Это мы объявили переменную с названием a и указали, что там будут хранится целые числа. Теперь в созданную переменную можем записывать только целые числа.
Чтобы записать в переменную целое число, нужно воспользоваться следующим правилом:
куда = что
где
• куда: в какую переменную записать данные
• =: оператор присвоения
• что: какие данные записать
Воспользуемся данным правилом. Например, запишем в ранее созданную переменную a число 7:
a = 7;
Операции производятся справа налево – взять число 7 и записать в переменную a.
Эти два шага можно объединить, то есть можно сразу объявить переменную и записать в нее значение (инициализировать), иначе говоря – присвоить начальное значение:
int a = 7;
Мы объявили переменную a и сразу записали значение 7.
Чаще всего так и делают: сразу объявляют переменную и присваивают начальное значение!
Чтобы узнать содержимое переменной, нужно обратиться к ней по имени. Например:
int b = a * 5;
В переменную b запишется значение 35, так как вместо переменной a подставится ее значение, то есть 7. Напомню, что сначала выполняется выражение справа от равно (a * 5), а потом результат вычисления записывается в новую переменную b.
Также мы можем поменять значение уже существующей переменной a:
a = a + 8;
Так как действия выполняются справа налево от знака =, следовательно, мы берем значение переменной а, которое равно 7, к нему добавляем 8 и снова записываем в переменную а. Таким образом, значение переменной увеличили на 8.
Запомните:
Переменную создают один раз, указав тип данных, название и начальное значение. При изменении значения переменной, нужно указать только название. Тип данных указывать больше не нужно.
Для лучшего понимания разберем пример с ошибкой:
int a = 6; // создали переменную a
int b = a * 8; // 48
int a = b – 8; // ошибка. Переменная a уже существует.
int c = b + a;
Console.WriteLine(c);
А вот исправленная программа:
int a = 6;
int b = a * 8; // 48
a = b – 8; // 40. Заметьте, что тип данных
мы не написали
int c = b + a; // 88
Console.WriteLine(c); // вывод 88
Типы данных
Итак, мы уже посмотрели и поработали с целочисленным типом данных int. Но существуют еще и другие типы данных. Давайте рассмотрим основные часто используемые типы данных:
• int – целое число от -2147483648 до 2147483647;
• long – целое число от –9 223 372 036 854 775 808
до 9 223 372 036 854 775 807;
• string – строка;
• double – число с дробной частью (вещественные числа);
• char – символ;
• bool – специальный тип, принимает только два значения: true или false.
Рассмотрим пример:
• Создадим переменную строкового типа name и запишем в нее строку "Олег". Напомню, что строку нужно обрамлять двойными кавычками:
string name = "Олег";
• Создадим еще одну переменную целочисленного типа age и запишем в нее значение 2525:
• string name = "Олег";
int age = 25;
• Создадим еще одну переменную вещественного типа weight и запишем в нее значение 80.5:
• string name = "Олег";
• int age = 25;
• double weight = 80.5;
Стоит отметить, что при инициализации вещественных чисел дробная часть отделяется от целой точкой.
• Теперь мы можем обращаться к переменным по имени и вместо них подставятся их значения:
• string name = "Олег";
• int age = 25;
• double weight = 80.5;
• string stringToShow = name + ", возраст " + age + ", вес " + weight;
Console.WriteLine(stringToShow);
Запятые я поставил просто для красоты отображения. Они стоит внутри строки. Все что стоит внутри строки выводится в таком же виде. То есть программа выведет:
Олег, возраст 25, вес 80,5
Запомните:
C# строго типизированный язык
программирования. От типа данных
зависит, какая информация будет
храниться в переменной.
Рассмотрим подробнее. В переменную целого типа можно записывать только целое число:
int a = 10;
Нельзя записать в нее строку или любой другой тип данных:
int a = "10"; // ошибка!
То же самое, например, с переменной строкового типа. В нее можно записать только строку:
string s = "test"; // верно
string t = 10; // ошибка!
Запомните:
От типа данных переменной
зависит поведение операций
над ним.
Например, для строк знак плюс (+) означает склеивание между собой,
а для целых и вещественных чисел плюс складывает их математически:
int a = 5;
int b = 10;
Console.WriteLine(a + b); // 15
string s1 = "5";
string s2 = "10";
Console.WriteLine(s1 + s2); // 510
Имя переменной
1. В имени переменной используйте только латинские буквы a-z, A-Z, цифры и символ нижнего подчеркивания (_);
2. Имя переменной не может начинаться с цифры;
3. Имя переменной по возможности должно отражать её назначение. Это нужно только нам, программистам, чтобы наш код читался. Программе все равно, какое название будет у переменной.
Запомните:
С# – регистрочувствительный язык.
Переменная name и Name – две совершенно разные
переменные. Принято название переменных начинать
с маленькой буквы.
Примечания:
1. Переменные можно вводить в любой момент (не только в самом начале программы).
2. Названия переменных должны быть уникальными. Если у двух переменных будут одинаковые имена, то непонятно будет, какое значение вернется при обращении к переменной.
3. Значение перезаписывается. Новое значение переменной вытесняет старое. Важно понимать, чему равно значение переменной в каждый момент времени:
int a = 6; // здесь a равен 6
int b = a * 8;
a = b – 8; // 40. Здесь уже a равен 40
int c = b + a;
Console.WriteLine(c);
1. Можно сразу записывать в объявляемую переменную формулу:
int a = 22 * 4 + 1; // 89
int b = a – 15 * 3; // 44
2. Напомню, что мы все написанные программы пишем внутри Main.