Hằng trong C#

Chào các bạn, qua bài vừa rồi chắc các bạn cũng đã hiểu về biến là gì và sử dụng như thế nào rồi đúng không ạ ! Bài này mình cùng các bạn sẽ tìm hiểu tiếp một khái niệm mới tương đối giống biến, đó là hằng. Vậy hằng là gì nó được khai báo và sử dụng như thế nào trong chương trình ? Hãy cùng nha tìm hiểu nhé !

1. Hằng là gì ?

Hằng là gì ?

Hằng là một biến nhưng giá trị của hằng không thay đổi. Biến là công cụ rất mạnh, tuy nhiên khi làm việc với một giá trị được định nghĩa là không thay đổi thì ta phải đảm bảo rằng giá trị của nó không thay đổi trong suốt thời gian thực hiện chương trình ví dụ như khi lập trình một chương trình tính chu vi hình tròn, ta cần khai báo một biến Pi, và giá trị của biến này không được phép thay đổi trong suốt thời gian thực hiện chương trình. Cho nên để ngăn ngừa việc gán lại giá trị cho biến ta phải sử dụng biến kiểu hằng.

Lưu ý: Khi khai báo hằng, chúng ta bắt buộc phải gán luôn giá trị cho hằng.

Vì sao phải sử dụng hằng ?

Khi đã khai báo hằng với giá trị nhất định rồi thì chúng ta không thể gán giá trị khác vào hằng. Vì thế điều này tạo nên sự thống nhất trong chương trình.

Ví dụ khi khai báo số PI = 3,14159 thì giá trị này sẽ luôn tồn tại trong suốt chương trình, khi bạn chỉ cần gọi PI là chương trình tự hiểu giá trị. Điều này ngoài ra còn giúp bạn tránh được những sai số không đáng kể.

Khai báo hằng

Để sử dụng hằng thì ta phải khai báo. Ta có cú pháp khai báo hằng trong C# như sau:

<const> <type> <tên hằng> = <giá trị>;

Ví dụ:
const int x = 5;
const string y = "hoc lap trinh mien phi tai freetuts.net"

Hằng chỉ được khởi tạo duy nhất một lần trong suốt chương trình và không được thay đổi.

2. Các kiểu hằng

Hằng số nguyên

Hằng số nguyên trong C# có thể là hệ cơ số 8 (octal), hệ cơ số 10 (decimal), hay hệ cơ số 16 (hecxa).

Các hằng số nguyên có các giá trị tiền tố và hậu tố, điều này thể hiện kiểu cơ số hoặc thể hiện kiểu unsigned hay kiểu long.

Các tiền tố có thể mang giá trị là 0 cho hệ octal, 0x hoặc 0X cho hệ hecxadecimal và không tiền tố nếu đó là hệ decimal

Các hậu tố có thể mang giá trị là U để thể hiện cho kiểu unsigned và giá trị L để hiện cho kiểu cho kiểu long. Các hậu tố có thể được viết hoa hoặc viết thường nhưng không được lặp lại kiểu hậu tố trong một giá trị hằng.

Ví dụ
a = 55;         /* thập phân */
b = 0123;       /* hệ cơ số 8 */
c = 0x2b;       /* hệ cơ số 16 */
d = 40;         /* int */
e = 40u;        /* unsigned int */
i = 40l;        /* long */
j = 40ul;       /* unsigned long */

Hằng số thực

Số thực trong toán học được hiểu gồm các số dương, số âm, số 0, số hữu tỉ, số vô tỉ. Có thể xem số thực nằm trên một trục số dài vô hạn.

Tương tự như khái niệm về số thực, hằng số thực trong C# là một biến chứa số thực và nó bao gồm các giá trị kiểu float, double, long double. Việc biểu diễn các số thực trong C# được thể hiện theo 2 cách như sau:

  • Sử dụng cách viết thông thường mà chúng ta đã từng sử dụng đó là ngăn cách phần nguyên và phần thập phân bởi dấu chấm. Ví dụ 203.322 - 122.3112,...
  • Sử dụng cách viết khoa học hay còn gọi là cách viết theo số mũ ví dụ như 21,3E4 hay 122,13E-3,... Ở đây ta phần trước E (hay e) gọi là phần định tri có thể là số nguyên hay số thập phân đều được, sau E là số mũ. như vậy ta có thể xác định được giá trị ở ví dụ trên là 21,3*4 và 122,13*10-3.

Ví dụ
a = 3.14159;          /* hợp lệ */
b = 314159E-5L;    /* hợp lệ */
c = 510E;               /* không hợp lệ: phần số mũ chưa hoàn thành */
d = 210f;                /* không hợp lệ: thiếu phần thập phân hoặc số mũ */
e = .e55;                /* không hợp lệ: thiếu phần số nguyên */

Hằng ký tự

Các hằng ký tự trong C# đều được đặt trong dấu nháy đơn ' '. Tuy nhiên khi có một số ký tự trước dấu \ sẽ mang một ý nghĩa khác mà người ta gọi đó là escape sequence.

Ta có bảng thể hiện một số escape sequence hay dùng:

escape sequence Ý nghĩa
\\ Ký tự \
\' Ký tự '
\" Ký tự "
\? Ký tự ?
\a Tiếng chuông
\b Backspace
\f form feed
\n Dòng mới
\r Carriage return
\t tab ngang
\v tab dọc

Hằng chuỗi

Có lẽ kiểu chuỗi khá thân thiện với các lập trình viên trong bất cứ ngôn ngữ lập trình nào, kiểu chuỗi lưu trữ một mảng những ký tự.

Để khai báo chuổi trong C# ta sử dụng từ khóa string và giá trị của chuỗi được đặt trong cặp dấu nháy đơn " ".

Ví dụ về khai báo hằng chuỗi trong C#:

const string chuoi = "chao cac ban den voi freetuts.net";

3. Ví dụ

Để trực quan và dễ hiểu hơn mình xin ví dụ về việc khai báo hằng:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace freetuts.net
{
    class freetuts
    {
        static void Main(string[] args)
        {
            const int year = 2017;
            const float x = 203.322f;
            const float y = 21.3e4f;
            const char z = 'a';
            const string chuoi = "chao cac ban den voi freetuts.net";
            Console.WriteLine("hang so nguyen:");
            Console.WriteLine(year);
            Console.WriteLine("hang so thuc:");
            Console.WriteLine(x);
            Console.WriteLine(y);
            Console.WriteLine("hang ky tu:");
            Console.WriteLine(z);
            Console.WriteLine("hang chuoi string:");
            Console.WriteLine(chuoi);
            Console.ReadLine();
        }
    }
}

Chạy chương trình trên sẽ cho kết quả như sau :

4. Lời kết

Qua bài này chúng ta đã hiểu rõ hơn về hằng trong C# các bạn có thể để lại những thắc mắc bên dưới comment nhé. Bài sau chúng ta sẽ cùng nhau tìm hiểu một số toán tử trong C# và từ đó áp dụng để giải quyết các bài tập nhé. Chúc các bạn học tốt và luôn đồng hành cùng https://freetuts.net nhé !

Nguồn: freetuts.net