Biến C # và kiểu dữ liệu (Nguyên thủy)

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về biến, cách tạo biến trong C # và các kiểu dữ liệu khác nhau mà ngôn ngữ lập trình C # hỗ trợ.

Một biến là một tên tượng trưng được đặt cho một vị trí bộ nhớ. Các biến được sử dụng để lưu trữ dữ liệu trong chương trình máy tính.

Cách khai báo biến trong C #?

Đây là một ví dụ để khai báo một biến trong C #.

 tuổi int;

Trong ví dụ này, một biến kiểu tuổi int(số nguyên) được khai báo và nó chỉ có thể lưu trữ các giá trị nguyên.

Chúng ta có thể gán một giá trị cho biến sau này trong chương trình của mình như sau:

 int age;……… age = 24;

Tuy nhiên, biến cũng có thể được khởi tạo thành một số giá trị trong quá trình khai báo. Ví dụ,

 int age = 24;

Ở đây, một kiểu tuổi biến intđược khai báo và khởi tạo 24cùng một lúc.

Vì nó là một biến, chúng ta cũng có thể thay đổi giá trị của các biến. Ví dụ,

int age = 24; tuổi = 35;

Ở đây, giá trị của age được thay đổi thành 35 từ 24.

Các biến trong C # phải được khai báo trước khi chúng có thể được sử dụng. Điều này có nghĩa là, tên và kiểu của biến phải được biết trước khi chúng có thể được gán giá trị. Đây là lý do tại sao C # được gọi là một ngôn ngữ định kiểu tĩnh.

Sau khi được khai báo, không thể thay đổi kiểu dữ liệu của một biến trong một phạm vi. Phạm vi có thể được coi như một khối mã nơi biến có thể nhìn thấy hoặc có sẵn để sử dụng. Nếu bạn không hiểu câu lệnh trước, đừng lo lắng, chúng ta sẽ tìm hiểu về phạm vi trong các chương sau.

Bây giờ hãy nhớ rằng, chúng ta không thể thực hiện những điều sau trong C #:

tuổi int; age = 24;……… float age;

Các biến được nhập ngầm

Ngoài ra trong C #, chúng ta có thể khai báo một biến mà không cần biết kiểu của nó bằng vartừ khóa. Các biến như vậy được gọi là các biến cục bộ được nhập ngầm .

Các biến được khai báo bằng vartừ khóa phải được khởi tạo tại thời điểm khai báo.

 giá trị var = 5;

Trình biên dịch xác định loại biến từ giá trị được gán cho biến. Trong ví dụ trên, giá trị là kiểu int. Điều này tương đương với:

giá trị int; giá trị = 5;

Bạn có thể tìm hiểu thêm về các biến cục bộ được nhập ngầm.

Quy tắc đặt tên biến trong C #

Có một số quy tắc nhất định chúng ta cần tuân theo khi đặt tên biến. Các quy tắc để đặt tên một biến trong C # là:

  1. Tên biến có thể chứa các chữ cái (chữ hoa và chữ thường), dấu gạch dưới (_) và chỉ các chữ số.
  2. Tên biến phải bắt đầu bằng ký tự, dấu gạch dưới hoặc ký hiệu @. Ví dụ: Quy tắc đặt tên biến trong C #
    Tên biến Nhận xét
    Tên Có hiệu lực
    chủ đề101 Có hiệu lực
    _tuổi tác Hợp lệ (Phương pháp hay nhất để đặt tên cho các biến thành viên riêng tư)
    @phá vỡ Hợp lệ (Được sử dụng nếu tên là từ khóa dành riêng)
    101 chủ đề Không hợp lệ (Bắt đầu bằng chữ số)
    tên của bạn Có hiệu lực
    tên của bạn Không hợp lệ (Chứa khoảng trắng)
  3. C # phân biệt chữ hoa chữ thường. Nó có nghĩa là tuổi và Tuổi đề cập đến 2 biến số khác nhau.
  4. Tên biến không được là từ khóa C #. Ví dụ, if, for, usingkhông thể là một tên biến. Chúng tôi sẽ thảo luận thêm về các từ khóa C # trong hướng dẫn tiếp theo.

Các phương pháp hay nhất để đặt tên một biến

  1. Chọn một tên biến có ý nghĩa. Ví dụ, tên, tuổi, chủ đề có ý nghĩa hơn n, a và s.
  2. Sử dụng ký hiệu camelCase (bắt đầu bằng chữ thường) để đặt tên cho các biến cục bộ. Ví dụ, numberOfStudents, age, v.v.
  3. Sử dụng PascalCase hoặc CamelCase (bắt đầu bằng chữ hoa) để đặt tên cho các biến thành viên công khai. Ví dụ: FirstName, Price, v.v.
  4. Sử dụng dấu gạch dưới (_) đứng đầu theo sau là ký hiệu camelCase để đặt tên cho các biến thành viên riêng tư. Ví dụ: _bankBalance, _emailAddress, v.v.

Bạn có thể tìm hiểu thêm về quy ước đặt tên trong C # tại đây.

Đừng lo lắng về các biến thành viên công khai và riêng tư. Chúng ta sẽ tìm hiểu về chúng trong các chương sau.

Các kiểu dữ liệu ban đầu của C #

Các biến trong C # được phân loại rộng rãi thành hai loại: Loại giá trịLoại tham chiếu . Trong hướng dẫn này, chúng ta sẽ thảo luận về các kiểu dữ liệu nguyên thủy (đơn giản) là một lớp con của các kiểu Giá trị.

Các kiểu tham khảo sẽ được đề cập trong các bài hướng dẫn sau. Tuy nhiên, nếu bạn muốn biết thêm về các kiểu biến, hãy truy cập Các kiểu và biến C # (tài liệu C # chính thức).

Boolean (bool)

  • Kiểu dữ liệu Boolean có hai giá trị có thể có: truehoặcfalse
  • Giá trị mặc định :false
  • Các biến Boolean thường được sử dụng để kiểm tra các điều kiện như câu lệnh if, vòng lặp, v.v.

Ví dụ:

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

Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:

 Thật

Tích phân đã ký

Các kiểu dữ liệu này giữ các giá trị nguyên (cả dương và âm). Trong tổng số bit có sẵn, một bit được sử dụng cho dấu hiệu.

1. sbyte

  • 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'; // ký tự char ch2 = ' x0072'; // char ch3 = ' u0059'; // unicode char ch4 = (char) 107; // được truyền từ số nguyên
  • Chuỗi ký tự là tập hợp các ký tự.
  • Chúng được đặt trong dấu ngoặc kép. Ví dụ: "Xin chào", "Lập trình dễ dàng", v.v.
    string firstName = "Richard"; string lastName = "Feynman";
  • C # cũng hỗ trợ các ký tự trình tự thoát như:
    Tính cách Ý nghĩa
    \' Trích dẫn duy nhất
    " Dấu ngoặc kép
    \ Gạch chéo ngược
    Dòng mới
    Vận chuyển trở lại
    Tab ngang
    a Cảnh báo
     Backspace

thú vị bài viết...