русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Змінні і іменовані константи


Дата додавання: 2015-01-08; переглядів: 1935.


 

Змінна - це іменована область пам'яті, призначена для зберігання даних певного типу. Під час виконання програми значення змінної можна змінювати. Всі змінні, що використовуються в програмі, мають бути описані явним чином. При описі змінною задаються ім'я і тип. Ім'я змінної служить для звернення до області пам'яті, в якій зберігається значення змінної. Ім'я повинне відповідати правилам іменування ідентифікаторів С#, відображати сенс величини, що зберігається, і бути легко розпізнаваним. Тип змінної вибирається, виходячи з діапазону і необхідної точності представлення даних. Наприклад, немає необхідності заводити змінну дійсного типу для зберігання величини, яка може набувати тільки цілих значень, - хоч би тому, що цілочисельні операції виконуються набагато швидше.

При оголошенні можна привласнити змінній деяке початкове значення, тобто ініціалізувати її, наприклад:

 

int а, b =1;

float x = 0.1, у = 0.1f;

 

Тут описані:

  1. змінна а типу int, початкове значення якої не привласнюється;
  2. змінна b типу int, її початкове значення дорівнює 1;
  3. змінні х і у типу float, яким привласнені однакові початкові значення 0.1. Різниця між ними полягає в тому, що для ініціалізації змінної х спочатку формується константа типу double (це тип, що привласнюється за умовчанням літералам з дробовою частиною), а потім вона перетвориться до типу float; змінній у значення 0.1 привласнюється без проміжного перетворення.

При ініціалізації можна використовувати не тільки константу, але і вираз - головне, щоб на момент опису він був обчислюваним, наприклад:

 

int b = 1, а = 100;

int х = b * а + 25;

 

Ініціалізувати змінну прямо при оголошенні не обов'язково, але перед тим, як її використовувати в обчисленнях, це зробити все одно доведеться, інакше компілятор повідомить про помилку. Рекомендується ініціалізувати змінні при описі.

Втім, іноді цю роботу робить за програміста компілятор, це залежить від місцезнаходження опису змінною. Як вже наголошувалося, програма на C# складається з класів, усередині яких описують методи і дані. Змінні, описані безпосередньо усередині класу, називаються полями класу. Їм автоматично привласнюється так зване “значення по умовчанню”- як правило, це 0 відповідного типу.

Змінні, описані усередині методу класу, називаються локальними змінними. Їх ініціалізація покладається на програміста. У даному розділі розглядаються тільки локальні змінні простих вбудованих типів даних.

Так звана зона дії змінної, тобто область програми, де можна використовувати змінну, починається в точці її опису і триває до кінця блоку, усередині якого вона описана. Блок - це код, взятий у фігурні дужки. Основне призначення блоку - угрупування операторів. В С# будь-яка змінна описана усередині якого-небудь блоку: класу, методу або блоку усередині методу.

Ім'я змінної має бути унікальним в області її дії. Зона дії розповсюджується на вкладені в метод блоки, з цього виходить, що у вкладеному блоці не можна оголосити змінну з таким же ім'ям, як і в тому, що охоплює його, наприклад:

 

class X // початок опису класу X

{

int А; // поле А класу X

int В; // поле В класу X

 

void Y( ) // метод Y класу X

{

int С; // локальна змінна С, зона дії - метод Y

int А; // локальна змінна А (НЕ конфліктує з полем А)

{// ============ вкладений блок 1 ============

int D; // локальна змінна D, зона дії - блок

//int А; Неприпустимо! Помилка компіляції

С = В; // привласнення змінній С поля В

С = this.A; // привласнення змінній С поля А

}// ============ кінець блоку 1 ===============

 

{ // ============ вкладений блок 2 ============

int D; // локальна змінна D, зона дії - блок

} // ============ кінець блоку 2 ===============

 

} // кінець опису метода Y класу X

 

} // кінець опису класу X

 

У лістингу 3.1 приведений приклад програми, в якій описуються і виводяться на екран локальні змінні.

 

Лістинг 3.1. Опис змінних

using System;

namespace ConsoleApplicationl

{

class Classl

{

static void Main( )

{

int i = 3;

double у = 4.12;

decimal d = 600m;

string s = "Вася";

Console.Write( "i = " ); Console.WriteLine( i );

Console.Write( "y = " ); Console.WriteLine( у );

Console.Write( "d = " ); Console.WriteLine( d );

Console.Write( "s = "); Console.WriteLine( s );

}

}

}

У розглянутому прикладі використовується метод Write. Він робить те ж саме, що і Writeline, але не переводить рядок.

Можна заборонити змінювати значення змінної, задавши при її описі ключове слово const, наприклад:

 

const int b = 1;

const float x = 0.1, у = 0.1f; // const розповсюджується на обидві змінні

 

Такі величини називають константами. Вони застосовуються для того, щоб замість значень констант можна було використовувати в програмі їх імена. Це робить програму зрозумілішою і полегшує внесення до неї змін, оскільки змінити значення досить тільки в одному місці програми.

Поліпшення читабельності відбувається тільки при осмисленому виборі імен констант. У добре написаній програмі взагалі не повинно зустрічатися інших чисел окрім 0 і 1, решта всіх чисел повинна задаватися іменованими константами з іменами, що відображають їх призначення.

Іменовані константи повинні обов'язково ініціалізуватися при описі. При ініціалізації можна використовувати не тільки константу, але і вираз - головне, щоб він був обчислюваним на етапі компіляції, наприклад:

 

const int b = 1, а = 100;

const int х = b * а + 25;


<== попередня лекція | наступна лекція ==>
Рекомендації по програмуванню | Операції і вирази


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн