suffix (hậu tố) trong Java và cách định dạng kiểu số | Laptrinhcanban.com

suffix (hậu tố) trong Java và cách định dạng kiểu số

Cùng tìm hiểu về suffix (hậu tố) trong Java. Bạn sẽ biết suffix trong Java là gì cũng như cách dùng học được cách dùng suffix để định dạng kiểu số trong Java sau bài học này.

suffix (hậu tố) trong Java là gì

suffix trong Java hay còn gọi là hậu tố trong Java là một hoặc một chuỗi ký tự có ý nghĩa được viết vào vị trí cuối cùng và làm thay đổi đối tượng mà nó gắn vào.

Ví dụ cụ thể, chúng ta có loại suffix dùng để gắn vào cuối một số và thay đổi kiểu của số đó.

Trong Java, về mặc định thì các ký tự số nguyên (Integer Literal) được coi là các giá trị kiểu int, và các ký tự số thực (Floating-point Literals) được coi là các giá trị kiểu double, trừ khi chúng ta chỉ định kiểu cụ thể cho chúng. Do đó, nếu bạn viết một giá trị vượt quá giá trị lớn nhất của kiểu int dưới dạng một số nguyên, lỗi sẽ xảy ra tại thời điểm biên dịch chương trình.

Trong trường hợp này, chúng ta có thể chỉ định kiểu phù hợp cho các số, bằng cách gán hậu tố phù hợp vào cuối số đó. Ví dụ chúng ta có thể viết số dưới dạng kiểu long bằng cách thêm hậu tố L chẳng hạn.

Sử dụng suffix để định dạng số nguyên trong Java

Như đã phân tích ở trên, với một số nguyên (Integer Literal), nếu chúng ta không chỉ định thì mặc định chương trình sẽ định dạng chúng ở dạng giá trị kiểu int, và nếu giá trị của số đó vượt quá phạm vi của số nguyên, thì lỗi khi biên dịch sẽ xảy ra.

Thật vậy, với kiểu int, phạm vi của số có thể chỉ định như sau:

-2147483648 ~ 2147483647

Nếu chúng ta chỉ định một số có giá trị nằm ngoài phạm vi này, ví dụ như số 2147483648 chẳng hạn, lỗi khi biên dịch sẽ xảy ra như sau:

class Main{
public static void main(String[] args){
System.out.println(2147483648);
}
}

>>>Main.java:3: error: integer number too large
>>> System.out.println(2147483648);
>>> ^

Do kiểu int không thể chứa được số này, nên chúng ta có thể chỉ định nó ở định dạng lớn hơn, đó là kiểu long với phạm vi sau đây:

-9223372036854775808 ~ 9223372036854775807

Và chúng ta thêm suffix L (hậu tố L) vào cuối số, để chỉ định số đó ở dạng kiểu long như sau:

class Main{
public static void main(String[] args){
System.out.println(2147483648L);
}
}

Kết quả, chương trình không còn bị lỗi và in ra số như sau:

2147483648

Lưu ý là đối với kiểu short và kiểu byte lại không có suffix chỉ định tương ứng, do đó khi gán giá trị cho biến kiểu short hoặc kiểu byte, chúng ta cần gán giá trị kiểu int, thông qua các quy tắc chuyển kiểu dữ liệu.

Sử dụng suffix để định dạng số thực trong Java

Tương tự với số nguyên thì với số thực (Floating-point Literals), nếu chúng ta không chỉ định định dạng thì mặc định chương trình sẽ coi các số thực ở dạng kiểu double.

Kiểu double có phạm vi lớn hơn kiểu float, nên sẽ chiếm nhiều dung lượng bộ nhớ hơn. Do đó với các số thực có giá trị nhỏ, nếu chúng ta chứa nó trong một bộ nhớ quá lớn thì sẽ gây lãng phí tài nguyên máy tính.

Khi đó, chúng ta nên chỉ định kiểu của số ở dạng kiểu float, bằng cách thêm suffix F (hậu tố F) vào cuối số.

Ví dụ cụ thể:

class Main{
public static void main(String[] args){
System.out.println(1.23);
System.out.println(1.23F);
}
}
//1.23
//1.23

Tuy cùng in ra một kết quả, nhưng số thực có hậu tố L sẽ chiếm bộ nhớ ít hơn so với trường hợp đầu tiên.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về suffix (hậu tố) trong Java và cách định dạng kiểu số rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.