- •Лекція 3. Ядро мови c#
- •3.1. Основні поняття c#
- •Ідентифікатори
- •Ключові слова
- •Знаки операцій і роздільники
- •Літерали (константи)
- •Коментарі
- •3.2. Система типів c#
- •Вбудовані типи
- •3.3. Змінні, операції, вирази
- •3.3.1. Визначення простих типів і їх ініціалізація
- •3.3.2. Операції і вирази
- •3.4. Перетворення вбудованих арифметичних типів-значень
- •3.5. Перетворення з рядкового типу в арифметичний
- •3.5.1. Метод Parse
- •3.5.2. Перетворення з арифметичного типу у тип string
- •3.5.3. Клас Convert і його методи
- •3.6. Стиль програмування. Узгодження іменування
- •Питання і завдання для самостійної роботи студента
- •Лабораторна робота № 2
3.3. Змінні, операції, вирази
3.3.1. Визначення простих типів і їх ініціалізація
Змінна — це іменована область пам'яті, призначена для зберігання даних певного типу. Під час виконання програми значення змінної можна змінювати.
Мова C# є строго типізованою мовою з чітким контролем типів даних. Усі змінні повинні бути визначені до їх першого використання.
При описі для кожної змінної задаються її ім'я і тип.
Визначення змінних простих типів (вбудованих типів-значень) має наступний загальний синтаксис:
Тип_змінної им’я_змінної [=значення];
Ім'я змінної служить для звернення до області пам'яті, в якій зберігається значення змінної. Ім'я дає програміст. Тип змінної вибирається, виходячи з діапазону і необхідної точності представлення даних. При оголошенні можна привласнити змінній деяке початкове значення, тобто ініціалізувати її.
Наприклад:
int a, b = 1;
float x = 0.1;
int x;
x=100;
long w,z=100;
long q=100*z;
Рекомендується завжди ініціалізувати змінні при описі. При ініціалізації можна використовувати не лише константу, але і вираз— головне, щоб на момент опису він було обчислюваним, наприклад:
int b = 1, а = 100;
int x = b * а + 25;
Програма на C# складається з класів, усередині яких описують методи і дані. Змінні, описані безпосередньо усередині класу, називаються полями класу. Їм автоматично призначається так зване "значення за замовчанням" — як правило, це 0 відповідного типу. Змінні, описані усередині методу класу, називаються локальними змінними. Їх ініціалізація покладається на програміста.
Область дії змінної в C# - блок коду ({}). Змінна створюється при вході в область видимості і знищується при виході з неї.
Область дії змінної, тобто область програми, де можна використовувати змінну, починається в точці її опису і триває до кінця блоку, усередині якого вона описана.
Блок — це код, взятий у фігурні дужки. Основне призначення блоку — угрупування операторів. У C# будь-яка змінна описана усередині якого-небудь блоку: класу, методу або блоку усередині методу. Ім'я змінної має бути унікальним в області її дії. Область дії поширюється на вкладені в метод блоки.
Увага
Змінні створюються при вході в блок і знищуються при виході. Це означає, що після виходу з блоку значення змінної не зберігається. При повторному вході в цей же блок змінна створюється заново.
Іменовані константи
Можна заборонити змінювати значення змінної, задавши при її описі ключове слово const, наприклад:
const int b = 1;
const float x = 0.1, в = 0.1f; // const поширюється на обидві змінні
Такі величини називають іменованими константами, або просто константами. Вони застосовуються для того, щоб замість значень констант можна було використовувати в програмі їх імена. Це робить програму зрозумілішою і полегшує внесення до неї змін. Іменовані константи повинні обов'язково ініціалізуватися при описі, наприклад:
const int b = 1, a = 100;
const int x = b * a + 25;
3.3.2. Операції і вирази
Вираз — це правило обчислення значення. У виразі беруть участь операнди, об'єднані знаками операцій. Операндами простого виразу можуть бути константи, змінні і виклики функцій.
Наприклад, а+2 — це вираз, в якому + є знаком операції, а а і 2 — операндами. Пропуски усередині знаку операції, що складається з декількох символів, не допускаються. Операції C# наведені в таблиці 2.3.
Таблиця 2.3. Операції C# |
||
Категорія |
Знак операції |
Назва |
Первинні |
|
Доступ до елементу |
x() |
Виклик методу або делегата |
|
x[] |
Доступ до елементу |
|
x++ |
Постфіксний інкремент |
|
x-- |
Постфіксний декремент |
|
new |
Виділення пам'яті |
|
typeof |
Отримання типу |
|
checked |
Код, що перевіряється |
|
unchecked |
Код, що не перевіряється |
|
Унарні
|
+ |
Унарний плюс |
- |
Унарний мінус (арифметичне заперечення) |
|
! |
Логічне заперечення |
|
? |
Порозрядне заперечення |
|
++x |
Префіксний інкремент |
|
--x |
Префіксний декремент |
|
(тип)x |
Перетворення типу |
|
Мультиплікативні |
* |
Множення |
/ |
Ділення |
|
% |
Залишок від ділення |
|
Додавання/віднімання |
+ |
Додавання |
- |
Віднімання |
|
Зсув
|
<< |
Зсув вліво |
>> |
Зсув вправо |
|
Відношення і перевірка типу
|
< |
Менше |
> |
Більше |
|
<= |
Менше або рівно |
|
>= |
Більше або рівно |
|
is |
Перевірка належності до типу |
|
as |
Приведення типа |
|
Перевірки на рівність
|
== |
Рівно |
!= |
Не рівно |
|
Порозрядні логічні
|
& |
Порозрядна кон'юнкція (І) |
|
Порозрядне АБО |
|
| |
Порозрядна диз'юнкція (АБО) |
|
Умовні логічні
|
&& |
Логічне І |
|| |
Логічне АБО |
|
Умовна |
? : |
Умовна операція |
Призначення
|
= |
Призначення
|
*= |
Множення з призначенням |
|
/= |
Ділення з призначенням |
|
%= |
Залишок відділення з призначенням |
|
+= |
Складання з призначенням |
|
-= |
Віднімання з призначенням |
|
<<= |
Зсув вліво з призначенням |
|
>>= |
Зсув вправо з призначенням |
|
&= |
Порозрядне І з призначенням |
|
= |
порозрядне виключаюче АБО з призначенням |
|
|= |
Порозрядне АБО з призначенням |
|
