Зміст курсу
Основи C#
Основи C#
Цілісні типи даних
Типи даних - це класифікація значень даних у різні категорії на основі їхньої природи, такі як цілі числа, десяткові числа, текстові дані тощо. Кожен тип даних має різні види операцій, пов'язаних з ним, наприклад, ми можемо виконувати арифметичні операції з числовими даними, але не з текстовими даними.
Ключове слово int
відноситься до типу даних "ціле число", яке в основному представляє цілі числа.
У попередньому розділі ми вивчили наступний синтаксис для оголошення змінної:
Окрім наведеного вище синтаксису, існує інший метод оголошення змінної:
Тут type
відноситься до типу даних змінної. Поки що ми знаємо лише int
. Ми можемо оголосити змінну цілого типу даних наступним чином:
У цьому випадку ми також можемо оголосити змінну без надання їй початкового значення:
Примітка
Надання початкового значення змінній під час оголошення називається ініціалізацією.
Ключове слово var
дозволяє компілятору автоматично визначати тип даних змінної на основі присвоєного значення. Наприклад, у var myVariable = 7;
, змінній myVariable
присвоєно ціле значення, що робить її тип даних int
. Така змінна називається неявно-типізованою змінною. Зверніть увагу, що при використанні ключового слова var
змінна завжди повинна бути ініціалізована, тому запис var myVariable;
є недійсним.
З іншого боку, ручне зазначення типу даних не вимагає початкового значення. Тому як int myVariable;
, так і int myVariable = 10;
є дійсними виразами. У цьому випадку myVariable
є явно-типізованою змінною.
Наступний код підсумовує наведені вище два абзаци:
main
var myVar1 = 10; // Valid var myVar2; // Error: Implicitly-typed variables must be initialized int myVar3 = 10; // Valid int myVar4; // Valid
Важливо зазначити, що ми не можемо використовувати змінну, якій не було присвоєно жодного значення. Тому наступний код викличе помилку:
main
int myVar; System.Console.WriteLine(myVar); // Error: Use of unassigned local variable 'myVar'
Виправлення:
main
int myVar; myVar = 10; System.Console.WriteLine(myVar); // Output: 10
Ми можемо перепризначати змінну стільки разів, скільки захочемо:
main
int myVar = 10; System.Console.WriteLine(myVar); // Output: 10 myVar = 15; System.Console.WriteLine(myVar); // Output: 15 myVar = 17; System.Console.WriteLine(myVar); // Output: 17 myVar = 7; System.Console.WriteLine(myVar); // Output: 7
Змінна типу int
може зберігати значення лише в певному діапазоні. Існує інший тип даних long
, який є таким же, як int
, але може зберігати більші числа.
Range | |
int | -2,147,483,648 to 2,147,483,647 |
long | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
Зберігання числа, більшого за те, що може вмістити тип даних, може дати неочікувані результати. Нам не потрібно розглядати це детально на цьому рівні.
Ми можемо виконувати арифметичні операції з даними типів int
та long
. Наступний фрагмент коду показує деякі приклади:
main
// int values int a = 10; int b = 25; int c = a + b; // long values long d = 1000; long e = 2500; long f = d + e; // Adding a 'long' and an 'int' always results in a 'long' resultant value. // Therefore we can store the result of 'd + a' into a new 'long' variable called 'g'. long g = d + a; // For the same reason, we cannot store the result of 'd + a' into an 'int' variable int h = d + a; // Error on this line int i = 5 / 2; System.Console.WriteLine(i); // Output: 2 // Dividing 5 by 2 gives 2.5 however since 'int' can only store integer values, hence the decimal (0.5) part is ignored.
Існують два інші типи даних uint
та ulong
, які називаються беззнаковими int та беззнаковими long відповідно. Беззнаковий тип даних може зберігати лише додатні числа, тому вони мають більший позитивний діапазон.
Range | |
uint | 0 to 4,294,967,295 |
ulong | 0 to 18,446,744,073,709,551,615 |
Дякуємо за ваш відгук!