Урок 5 типи
Тепер докладніше поговоримо про типи. Кількість типів, які можна використовувати, практично нескінченно. Вся справа в тому, що допускається визначати свої власні типи змінних для зберігання яких завгодно складних видів даних. Згадуємо полички в холодильниках. У багатьох холодильниках конструкція дозволяє змінювати висоту поличок за вашим бажанням. Однак, існує ряд стандартних типів змінних.
Перед тим як ви збираєтеся використовувати змінну в програмі, ви повинні сказати компілятору, якого вона типу. Це дуже важливий момент, від якого залежить правильність роботи програми. Наприклад, у змінній може міститися число або слово. Крім того, числа теж бувають різними - цілі, дробові і т.д.
Припустимо, вам необхідно підрахувати число кішок, які проживають у вашому місті. Для цієї мети вам підійдуть цілі числа (integer), так як важко уявити собі, що ви знайдете дробову частину тварин, типу 1.5 кішки або 3.14 кота.
Якщо ви маєте справу з фінансами, то зручно використовувати десяткові числа (decimal), в яких можна вважати рублі і копійки, долари і центи. У математиків для обчислень часто використовуються числа з плаваючою точкою (floating point).
Давайте поки попрацюємо з типом integer. до якого відносяться як позитивні, так і негативні цілі числа.
Для позначення цілого числа мову C # (як і в C ++) використовує ключове слово int. Ось як можна оголосити змінну cats. в якій міститься число всіх кішок в місті
Нагадую, що ви не можете використовувати в якості імені змінної слово int, хоча можете використовувати такі імена як INT, Int, inT.
На цьому моменті варто зупинитися докладніше. Як ви розумієте, пам'ять комп'ютера не нескінченна. Ймовірно, ви знаєте, що в пам'яті комп'ютера числа зберігаються в вигляді послідовностей нулів і одиниць. Наприклад, для цілочисельних значень береться ряд бітів (окремих цифр, якими може бути Про або 1) і представляється число в двійковому (бінарному) форматі. Змінна, здатна зберігати 2 біта, дозволити оперувати такими числами:
У таку зміну можна записати тільки чотири числа від 0 до 3. Цього цілком достатньо, щоб використовувати таку змінну для підрахунку числа хвостів або вух у будь-якої кішки. Але, якщо ми захочемо порахувати кількість лап у кішки, то від такої змінної толку буде мало. Значить, нам потрібно мати змінну, здатну зберігати 3 біта (3 біта дозволяють зберігати числа від 0 до 7). Виникає спокуса створити такі типи, які можуть містити 2, 3, 4, 5 бітів і так далі. Але подібний спосіб неефективний для комп'ютера. Замість цього домовилися використовувати строго певні типи, здатні зберігати різні діапазони чисел в заздалегідь обумовлених рамках і займають різні обсяги пам'яті. Необхідно спочатку вивчити найосновніші типи, якими ви будете користуватися. Потім ви запам'ятаєте і інші типи. Поки досить вивчити тип int
Додамо ще кілька змінних:
Порожній рядок в цьому прикладі не є необхідною; вона тільки робить код більш наочним.
Також можна оголошувати змінні в міру потреби:
Єдине правило - кожна змінна повинна бути оголошена до її використання.
Так як ви не присвоїли першим двом змінним ніяких значень, то можна підрахувати загальну кількість тварин totalAnimals.
Проте, для зручності читання коду краще використовувати короткі вирази:
Пора закріпити матеріал і написати просту програму:
Основні цілочисельні типи
Тип int - найбільш поширений тип, який ви будете використовувати в своїй практиці. У нього є ще інша назва - System.Int32. Перша назва є частиною мови C #, друге - більш універсальне і є частиною .NET Framework. Яке ім'я ви будете використовувати, залежить від вашого смаку. Існують і інші цілочисельні типи.
Ціле число в діапазоні від 0 до 18446744073709551615
Символи u на початку імен деяких змінних (ushort, uint, ulong) є скороченням від слова unsigned (без знака), яке вказує на те, що зберігати негативні числа в змінних цих типів не можна.
Якщо повернутися до попереднього прикладу, де ми вважали число проживають в місті котів, собак і папуг, то можна було б використовувати таке формулювання, як short cats замість int cats. C іншого боку, ми не можемо використовувати тип sbyte або byte. так як в місті проживає більше котів, ніж може зберігати змінна зазначених типів.
Інші типи даних
Отже, ми використовували в програмі змінні типу int. які можуть зберігати лише цілочисельні значення. Для роботи з числами з дробової частиною потрібно використовувати типи float і double. Щоб краще зрозуміти різницю між типами int і double, напишемо наступну програму:
Після запуску програми ви побачите наступне:
Як бачите, після поділу значення змінної iVar на 3 виходить ціле число 33, а дрібна частина була відкинута. А при розподілі значення змінної dVar дрібна частина залишилася. Таким чином, при необхідності роботи з числами з плаваючою точкою, її потрібно вказати явним чином.
Таким чином ми дізналися, що крім цілочисельних змінних, в програмах можна використовувати змінні трьох наступних типів: float, double і decimal.
Практична робота. Перетворення значень температури
Ми розглядали досить абстрактні приклади. Давайте тепер напишемо більш корисну програму. Наприклад, створимо додаток, яке перетворює значення температури по шкалі Фаренгейта в значення за шкалою Цельсія.
Для вирішення завдання нам знадобляться дві змінні типу double, в яких будуть зберігатися значення температур за шкалою Фаренгейта і Цельсія. Сподіваюся, ви розумієте, чому ми вибрали саме тип double для наших змінних? Згадайте, що коли ми говоримо про нормальній температурі людини, то маємо на увазі температуру 36.6 градусів за Цельсієм, тобто дробове число.
Для перетворення значень температур за шкалою Фаренгейта в шкалу за Цельсієм використовується формула:
У цій формулі C - значення температури за шкалою Цельсія в градусах, а F - значення температуи за шкалою Фаренгейта в градусах.
Отже, створюємо новий проект FtoC:
нечислові типи
Крім числових типів, існують і інші прості типи, які не пов'язані з числами.