Лекция 3. Лекция 3. Переменные, операции, выражения
Скачать 103.61 Kb.
|
ЯП_Лекция №3. ПЕРЕМЕННЫЕ, ОПЕРАЦИИ, ВЫРАЖЕНИЯ Правила описания переменных и именованных констант, основные операции языка и их приоритеты, правила записи выражений, введение в обработку исключительных ситуаций. Переменная – это именованная область памяти, предназначенная для хранения данных определенного типа. Во время выполнения программы значение переменной можно изменять. Все переменные, используемые в программе, должны быть описаны явным образом. При описании для каждой переменной задаются её имяи тип. Пример описания целой переменной с именем a и вещественной переменной x: int a; float x; Имяпеременной служит для обращения к области памяти, в которой хранится значениепеременной. Имя дает программист. Тип переменной выбирается, исходя из диапазона итребуемой точности представления данных. При объявлении можно присвоить переменной некоторое начальное значение, то есть инициализировать ее, например: int a, b = 1; float x = 0.1, y = 0.1f; Здесь описаны: переменная a типа int, начальное значение которой не присваивается; переменная b типа int, ее начальное значение равно 1; переменные х и y типа float, которым присвоены одинаковые начальные значения 0.1. Разница между ними состоит в том, что для инициализации переменной х сначала формируется константа типа double, а затем она преобразуется к типу float; переменной y значение 0.1 присваивается без промежуточного преобразования. Рекомендуется всегда инициализировать переменные при описании. При инициализации можно использовать не только константу, но и выражение – главное, чтобы на момент описания оно было вычисляемым, например: int b = 1, a = 100; int x = b * a + 25; Программа на C# состоит из классов, внутри которых описывают методы и данные. Структуру программы иллюстрирует рис. 3.1. Переменные, описанные непосредственно внутри класса, называются полями класса. Им автоматически присваивается так называемое "значение по умолчанию" – как правило, это 0 соответствующего типа. Переменные, описанные внутри метода класса, называются локальными переменными. Их инициализация возлагается на программиста. Рис. 3.1. Структура программы Так называемая область действияпеременной, то есть область программы, где можно использовать переменную, начинается в точке её описания и длится до конца блока, внутри которого она описана. Блок – это код, заключенный в фигурные скобки. Основное назначение блока – группировка операторов. В C# любая переменная описана внутри какого-либо блока: класса, метода или блока внутри метода. Имя переменной должно быть уникальным в области её действия. Область действия распространяется на вложенные в метод блоки. class X // начало описания класса X { int A; // поле A класса X int B; // поле B класса X void Y() // метод Y класса Х { int C; // локальная переменная C, область действия – метод Y int A; // локальная переменная A (НЕ конфликтует с полем А) { // ============ вложенный блок 1 ============ int D; // локальная переменная D, область действия – этот блок // int А; недопустимо! Ошибка компиляции, конфликт с локальной // переменной А С = B; // присваивание переменной С поля В класса Х (**) С = this.A; // присваивание переменной С поля А класса Х (***) } // ============ конец блока 1 =============== { // ============ вложенный блок 2 ============ int D; // локальная переменная D, область действия – этот блок } // ============ конец блока 2 =============== } // конец описания метода Y класса X } // конец описания класса X В листинге 3.1 приведён пример программы, в которой описываются и выводятся на экран локальные переменные. using System; namespace ConsoleApplication1 { class Class1 { static void Main() { int i = 3; double y = 4.12; decimal d = 600m; string s = "Вася"; Console.Write( "i = " ); Console.WriteLine( i ); Console.Write( "y = " ); Console.WriteLine( y ); Console.Write( "d = " ); Console.WriteLine( d ); Console.Write( "s = " ); Console.WriteLine( s ); } } } Листинг 3.1. Описание переменных Внимание Переменные создаются при входе в их область действия (блок) и уничтожаются привыходе.Этоозначает,чтопослевыходаизблоказначениепеременнойнесохраняется.Приповторном входе вэтотжеблок переменнаясоздаётсязаново. |