Змінні C # та (примітивні) типи даних

У цьому підручнику ми дізнаємося про змінні, як створити змінні в C # та різні типи даних, які підтримує мова програмування C #.

Змінна - це символічна назва, що присвоюється розташуванню в пам'яті. Змінні використовуються для зберігання даних у комп’ютерній програмі.

Як оголосити змінні в C #?

Ось приклад оголошення змінної в C #.

 внутрішній вік;

У цьому прикладі оголошено змінну віку типу int(ціле число), і вона може зберігати лише цілі значення.

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

 int вік;……… вік = 24;

Однак змінна також може бути ініціалізована до деякого значення під час оголошення. Наприклад,

 int вік = 24;

Тут одночасно intоголошується та ініціалізується змінний вік типу 24.

Оскільки це змінна, ми можемо також змінювати значення змінних. Наприклад,

int вік = 24; вік = 35;

Тут значення віку змінюється на 35 з 24 років.

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

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

Наразі пам’ятайте, ми не можемо зробити наступне в C #:

внутрішній вік; вік = 24;……… плаваючий вік;

Неявно введені змінні

Крім того, в C # ми можемо оголосити змінну, не знаючи її типу, використовуючи varключове слово. Такі змінні називаються неявно набраними локальними змінними .

Змінні, оголошені за допомогою varключового слова, повинні бути ініціалізовані під час оголошення.

 значення var = 5;

Компілятор визначає тип змінної зі значення, яке присвоюється змінній. У наведеному вище прикладі значення має тип int. Це еквівалентно:

значення int; значення = 5;

Ви можете дізнатись більше про неявно введені локальні змінні.

Правила іменування змінних у C #

Існують певні правила, яких ми повинні дотримуватися під час іменування змінних. Правилами іменування змінної в C # є:

  1. Ім'я змінної може містити лише літери (великі та малі), підкреслення (_) та цифри.
  2. Ім'я змінної має починатися з літери, підкреслення або символу @. Наприклад, Правила іменування змінних у C #
    Назви змінних Зауваження
    ім'я Дійсний
    предмет101 Дійсний
    _вік Дійсний (найкраща практика іменування змінних приватних членів)
    @перерва Дійсний (використовується, якщо ім'я є зарезервованим ключовим словом)
    101предмет Недійсний (починається з цифри)
    твоє ім'я Дійсний
    твоє ім'я Недійсний (містить пробіли)
  3. C # чутливий до регістру. Це означає, що вік та вік стосуються 2 різних змінних.
  4. Ім'я змінної не повинно бути ключовим словом C #. Наприклад, if, for, usingне може бути ім'я змінної. Ми будемо обговорювати більше про ключові слова C # у наступному уроці.

Найкращі практики для іменування змінної

  1. Виберіть назву змінної, яка має сенс. Наприклад, ім'я, вік, предмет мають більше сенсу, ніж n, a та s.
  2. Використовуйте нотацію camelCase (починається з малої літери) для іменування локальних змінних. Наприклад, кількість студентів, вік тощо.
  3. Використовуйте PascalCase або CamelCase (починається з великої літери) для іменування загальнодоступних змінних-членів. Наприклад, Ім'я, Ціна тощо.
  4. Використовуйте символи нижнього підкреслення (_), а потім позначення camelCase для іменування змінних приватних членів. Наприклад, _bankBalance, _emailAddress тощо.

Ви можете дізнатись більше про правила іменування в C # тут.

Не турбуйтеся про відкриті та приватні змінні членів. Про них ми дізнаємось у наступних розділах.

C # Примітивні типи даних

Змінні в C # широко поділяються на два типи: типи значень і посилальні типи . У цьому підручнику ми будемо обговорювати примітивні (прості) типи даних, що є підкласом типів Value.

Довідкові типи будуть розглянуті в наступних підручниках. Однак, якщо ви хочете дізнатись більше про типи змінних, відвідайте типи та змінні C # (офіційні документи C #).

Логічний (bool)

  • Логічний тип даних має два можливих значення: trueабоfalse
  • Значення за замовчуванням :false
  • Логічні змінні зазвичай використовуються для перевірки таких умов, як оператори if, цикли тощо.

Наприклад:

 using System; namespace DataType ( class BooleanExample ( public static void Main(string() args) ( bool isValid = true; Console.WriteLine(isValid); ) ) )

Коли ми запускаємо програму, результат буде:

 Правда

Підписаний інтеграл

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

1. сбайт

  • Size: 8 bits
  • Range: -128 to 127.
  • Default value: 0

For example:

 using System; namespace DataType ( class SByteExample ( public static void Main(string() args) ( sbyte level = 23; Console.WriteLine(level); ) ) )

When we run the program, the output will be:

 23

Try assigning values out of range i.e. less than -128 or greater than 127 and see what happens.

2. short

  • Size: 16 bits
  • Range: -32,768 to 32,767
  • Default value: 0

For example:

 using System; namespace DataType ( class ShortExample ( public static void Main(string() args) ( short value = -1109; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 -1109

3. int

  • Size: 32 bits
  • Range: -231 to 231-1
  • Default value: 0

For example:

 using System; namespace DataType ( class IntExample ( public static void Main(string() args) ( int score = 51092; Console.WriteLine(score); ) ) )

When we run the program, the output will be:

 51092

4. long

  • Size: 64 bits
  • Range: -263 to 263-1
  • Default value: 0L (L at the end represent the value is of long type)

For example:

 using System; namespace DataType ( class LongExample ( public static void Main(string() args) ( long range = -7091821871L; Console.WriteLine(range); ) ) )

When we run the program, the output will be:

 -7091821871

Unsigned Integral

These data types only hold values equal to or greater than 0. We generally use these data types to store values when we are sure, we won't have negative values.

1. byte

  • Size: 8 bits
  • Range: 0 to 255.
  • Default value: 0

For example:

 using System; namespace DataType ( class ByteExample ( public static void Main(string() args) ( byte age = 62; Console.WriteLine(level); ) ) )

When we run the program, the output will be:

 62

2. ushort

  • Size: 16 bits
  • Range: 0 to 65,535
  • Default value: 0

For example:

 using System; namespace DataType ( class UShortExample ( public static void Main(string() args) ( ushort value = 42019; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 42019

3. uint

  • Size: 32 bits
  • Range: 0 to 232-1
  • Default value: 0

For example:

 using System; namespace DataType ( class UIntExample ( public static void Main(string() args) ( uint totalScore = 1151092; Console.WriteLine(totalScore); ) ) )

When we run the program, the output will be:

 1151092

4. ulong

  • Size: 64 bits
  • Range: 0 to 264-1
  • Default value: 0

For example:

 using System; namespace DataType ( class ULongExample ( public static void Main(string() args) ( ulong range = 17091821871L; Console.WriteLine(range); ) ) )

When we run the program, the output will be:

 17091821871

Floating Point

These data types hold floating point values i.e. numbers containing decimal values. For example, 12.36, -92.17, etc.

1. float

  • Single-precision floating point type
  • Size: 32 bits
  • Range: 1.5 × 10−45 to 3.4 × 1038
  • Default value: 0.0F (F at the end represent the value is of float type)

For example:

 using System; namespace DataType ( class FloatExample ( public static void Main(string() args) ( float number = 43.27F; Console.WriteLine(number); ) ) )

When we run the program, the output will be:

 43.27

2. double

  • Double-precision floating point type. What is the difference between single and double precision floating point?
  • Size: 64 bits
  • Range: 5.0 × 10−324 to 1.7 × 10308
  • Default value: 0.0D (D at the end represent the value is of double type)

For example:

 using System; namespace DataType ( class DoubleExample ( public static void Main(string() args) ( double value = -11092.53D; Console.WriteLine(value); ) ) )

When we run the program, the output will be:

 -11092.53

Character (char)

  • It represents a 16 bit unicode character.
  • Size: 16 bits
  • Default value: ''
  • Range: U+0000 ('u0000') to U+FFFF ('uffff')

For example:

 using System; namespace DataType ( class CharExample ( public static void Main(string() args) ( char ch1 ='u0042'; char ch2 = 'x'; Console.WriteLine(ch1); Console.WriteLine(ch2); ) ) ) 

When we run the program, the output will be:

 B x

The unicode value of 'B' is 'u0042', hence printing ch1 will print 'B'.

Decimal

  • Decimal type has more precision and a smaller range as compared to floating point types (double and float). So it is appropriate for monetary calculations.
  • Size: 128 bits
  • Default value: 0.0M (M at the end represent the value is of decimal type)
  • Range: (-7.9 x 1028 to 7.9 x 1028) / (100 to 28)

For example:

 using System; namespace DataType ( class DecimalExample ( public static void Main(string() args) ( decimal bankBalance = 53005.25M; Console.WriteLine(bankBalance); ) ) ) 

When we run the program, the output will be:

 53005.25

The suffix M or m must be added at the end otherwise the value will be treated as a double and an error will be generated.

C# Literals

Let's look at the following statement:

 int number = 41;

Here,

  • int is a data type
  • number is a variable and
  • 41 is a literal

Literals are fixed values that appear in the program. They do not require any computation. For example, 5, false, 'w' are literals that appear in a program directly without any computation.

Boolean Literals

  • true and false are the available boolean literals.
  • They are used to initialize boolean variables.

For example:

 bool isValid = true; bool isPresent = false;

Integer Literals

  • Integer literals are used to initialize variables of integer data types i.e. sbyte, short, int, long, byte, ushort, uint and ulong.
  • If an integer literal ends with L or l, it is of type long. For best practice use L (not l).
     long value1 = 4200910L; long value2 = -10928190L;
  • If an integer literal starts with a 0x, it represents hexadecimal value. Number with no prefixes are treated as decimal value. Octal and binary representation are not allowed in C#.
     int decimalValue = 25; int hexValue = 0x11c;// decimal value 284

Floating Point Literals

  • Floating point literals are used to initialize variables of float and double data types.
  • If a floating point literal ends with a suffix f or F, it is of type float. Similarly, if it ends with d or D, it is of type double. If neither of the suffix is present, it is of type double by default.
  • These literals contains e or E when expressed in scientific notation.
     double number = 24.67;// double by default float value = -12.29F; double scientificNotation = 6.21e2;// equivalent to 6.21 x 102 i.e. 621

Character and String Literals

  • Character literals are used to initialize variables of char data types.
  • Character literals are enclosed in single quotes. For example, 'x', 'p', etc.
  • They can be represented as character, hexadecimal escape sequence, unicode representation or integral values casted to char.
     char ch1 = 'R'; // символ char ch2 = ' x0072'; // шістнадцятковий char ch3 = ' u0059'; // unicode char ch4 = (char) 107; // відлитий із цілого числа
  • Рядкові літерали - це сукупність літералів символів.
  • Вони укладені в подвійні лапки. Наприклад, "Привіт", "Просте програмування" тощо.
    рядок firstName = "Річард"; рядок lastName = "Фейнман";
  • C # також підтримує символи екранованої послідовності, наприклад:
    Характер Значення
    \' Одинарна котирування
    " Подвійна лапка
    \ Зворотний слеш
    Нова лінія
    Повернення каретки
    Горизонтальна вкладка
    a Сповіщення
     Повернення

Цікаві статті...