Ở giai đoạn tạo ứng dụng, theo quy luật, nhà phát triển chỉ biết cấu trúc của nó và không giả định dữ liệu nào nó sẽ xử lý. Tuy nhiên, trong một số trường hợp, bạn cần chỉ định rõ ràng một số dữ liệu trong mã chương trình (ví dụ: số lần lặp hoặc thông báo sẽ xuất ra). Trong trường hợp này, nghĩa đen đến giải cứu. Nội dung:
- Chữ nghĩa là gì
- Các loại chữ và cách sử dụng của chúng
- Chữ số
- Chuỗi ký tự
- Ký tự chữ
- Ký tự Boolean
- Kỹ thuật Jedi với chữ
- Chữ trong khóa học JavaRush
- Phần kết luận
Chữ nghĩa là gì?
Chữ là các giá trị được chỉ định rõ ràng trong mã chương trình - các hằng số thuộc một loại nhất định có trong mã tại thời điểm khởi chạy.class Test {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
Trong lớp học này “Xin chào thế giới!” - theo nghĩa đen. Chữ có nhiều loại khác nhau, được xác định bởi mục đích và cách viết của chúng.
Các loại chữ và cách sử dụng của chúng
Tất cả các chữ đều là giá trị nguyên thủy (chuỗi, số, ký tự, boolean). Bạn không thể tạo một đối tượng theo nghĩa đen. Nghĩa đen duy nhất được liên kết với một đối tượng lànull
. Theo nguyên thủy, nghĩa đen cũng được chia thành các phần:
- Số:
- Số nguyên;
- Điểm nổi;
- Sợi dây;
- Tính cách;
- Trêu ghẹo não.
Chữ số
Chữ số nguyên
Loại nghĩa đen này là đơn giản nhất. Các số được viết ở dạng chuẩn mà không chỉ ra các ký tự hoặc bất cứ thứ gì khác. Theo mặc định, bất kỳ số nguyên nào cũng là một số nguyên. Nghĩa là, bạn có thể đặt rõ ràng giá trị của một biến hoặc số lần lặp trong một vòng lặp. Java hỗ trợ 4 hệ thống số:- nhị phân
- bát phân
- Số thập phân
- thập lục phân
public static void main(String[] args) {
int a = 0b1101010110;
int b = 012314;
int c = 456;
int d = 0x141D12;
System.out.println("Число a в двоичной системе: " + a);
System.out.println("Число b в восьмеричной системе: " + b);
System.out.println("Число c в десятичной системе: " + c);
System.out.println("Число d в шестнадцатеричной системе: " + d);
}
Đầu ra: Số a trong hệ nhị phân: 854 Số b trong hệ bát phân: 5324 Số c trong hệ thập phân: 456 Số d trong hệ thập lục phân: 1318162 Mặc dù thực tế là các số được chỉ định trong các hệ thống số khác nhau, nhưng trong chương trình, chúng được xử lý dưới dạng thập phân những con số. Vượt quá các giá trị sẽ dẫn đến lỗi biên dịch:
int b = 012914; // Ошибка
int d = 0x141Z12; // Ошибка
Khi chạy ở giai đoạn biên dịch, chúng ta nhận được kết quả như sau:
Error:(13, 25) java: integer number too large: 012914
Error:(14,30) java: ';' expected
Còn việc gõ phím thì sao? Bất kỳ chữ số nguyên nào cũng có loại mặc định là int
. Nếu giá trị của nó nằm ngoài giới hạn của biến được gán thì sẽ xảy ra lỗi biên dịch. Khi sử dụng một loại, long
bạn phải đặt một ký hiệu ở cuối L
cho biết loại này:
long x = 0x1101010110; // Ошибка
long b = 1342352352351351353L; // Все в порядке
Đang cố gắng biên dịch kết quả trong lỗi sau:
Error(11, 26) java: integer number too large: 1101010110
Chữ dấu phẩy động
Số dấu phẩy động hoặc số phân số có thể được viết bằng hai cách. Đầu tiên là phân số thập phân cổ điển: 3,14159 hoặc 2,718281282459045. Thứ hai ở dạng khoa học, nghĩa là một phân số thập phân thông thường cộng với một hậu tố ở dạng ký hiệu e hoặc E và lũy thừa 10 mà phân số đã chỉ định phải được nhân lên. Ví dụ: 4.05E-13, điều này có nghĩa là 4.05 * 10 -13 .double a = 2.718281828459045;
double d = 4.05E-13;
System.out.println("Тип double в классическом виде: " + a);
System.out.println("Тип double в научном виде: " + d);
Đầu ra: Kiểu kép cổ điển: 2.718281828459045 Kiểu kép khoa học: 4.05E-13 Không giống như số nguyên và hệ thống số, ký hiệu khoa học được lưu trữ trong một biến và được xử lý theo cách giống như ký hiệu cổ điển. Còn việc gõ phím thì sao? Bất kỳ số dấu phẩy động nào cũng tạo ra một loại double
. Nếu bạn phải sử dụng loại này float
, bạn phải thêm f
hoặc vào cuối F
. Trong trường hợp này double
nó sẽ được giảm xuống loại float
. Điều này không tự động xảy ra:
float a = 2.718281828459045; // Ошибка
float d = 4.05E-13F; // Все в порядке
Khi bắt đầu ở giai đoạn biên dịch, chúng tôi thấy lỗi sau:
Error:(11, 27) java: incompatible types: possible lossy conversion from double to float
Chuỗi ký tự
Chuỗi ký tự là một tập hợp các ký tự được đặt trong dấu ngoặc kép. Loại này được sử dụng thường xuyên như chữ số. Dòng này cũng có thể chứa các ký tự dịch vụ cần được thoát (được gọi là chuỗi thoát). Ví dụ:String simpleString = "Это обычная строка. Такая же стандартная и непримечательная, How и все мы.";
String uniqueString = "А это необычная \"строка\". Хотя бы потому, что часть \"слов\" в ней в \"кавычках\".";
System.out.println(simpleString);
System.out.println(uniqueString);
Đầu ra: Đây là một chuỗi bình thường. Cũng tiêu chuẩn và không có gì nổi bật như phần còn lại của chúng tôi. Và đây là một "dòng" bất thường. Nếu chỉ vì một số “từ” trong đó nằm trong “dấu ngoặc kép”.
Ký tự chữ
Các ký tự trong Java được biểu diễn bằng bộ ký tự Unicode, nghĩa là mỗi ký tự là một giá trị 16 bit. Để biểu thị một ký hiệu trong mã, nó được phân tách bằng dấu ngoặc đơn. Dựa trên kinh nghiệm, có hai loại biểu tượng:- Những ký tự có thể được nhập từ bàn phím là các ký tự thông thường;
- Các ký hiệu không thể nhập đơn giản từ bàn phím (các ký hiệu của nhiều ngôn ngữ, hình dạng khác nhau, v.v.).
,
' hoặc ' @
'. Nếu một ký tự là ký tự dịch vụ (ví dụ: dấu ngắt dòng hoặc tab), ký tự đó phải được thoát bằng dấu gạch chéo ngược. Các ký tự không thể nhập đơn giản từ bảng điều khiển có thể được chỉ định ở dạng 16 bit của chúng. Để làm điều này, bạn phải chỉ định mã ký tự có tiền tố \u
, ví dụ: ' \u00F7
'. Bạn cũng có thể chỉ định các ký tự theo kiểu bát phân (số có ba chữ số) bằng cách thêm dấu gạch chéo ngược ở đầu, ví dụ: ' \122
'. Theo tôi, nó dễ sử dụng hơn nhiều \u
. Ví dụ sử dụng:
System.out.println("Амперсанд - " + '&');
System.out.println("Символ деления - " + '\u00F7');
Đầu ra: Dấu và - & Ký hiệu phép chia - ÷
Ký tự Boolean
Nghĩa đen đơn giản nhất là nghĩa logic. Chỉ có 2 giá trị:false
và true
, được chỉ định rõ ràng mà không có các ký hiệu khác nhau. Những chữ như vậy có thể được gán cho các biến kiểu boolean hoặc được chỉ định ở nơi mong đợi kiểu boolean (ví dụ: trong khối if, mặc dù cách làm này được coi là cách cư xử xấu, nói một cách nhẹ nhàng).
boolean flag = false;
if(true) {
// Действия будут выполняться всегда.
}
Kỹ thuật Jedi với chữ
Nhờ các biểu tượng trong Java, bạn có thể làm được nhiều điều thú vị, bao gồm cả việc quản lý biểu tượng cảm xúc. Ví dụ: hãy hiển thị một khuôn mặt tươi cười:int smile = 0x1F600; // Здесь шестнадцатеричный code эмоджи
StringBuilder sb = new StringBuilder();
sb.append(Character.toChars(smile)); // Собираем в StringBuilder
System.out.println("Улыбающееся лицо: " + sb.toString()); // Выводим
Kết luận: Mặt cười: 😀 Mặc dù việc hiển thị biểu tượng cảm xúc có thể gây cảm giác rùng rợn (tùy thuộc vào cách triển khai), nhưng giải pháp này hoạt động rất tốt. Tuy nhiên, rất khó để tìm kiếm biểu tượng cảm xúc mong muốn trong bảng mã hóa tiêu chuẩn, phần Biểu tượng cảm xúc trên trang web chính thức rất thưa thớt. Việc sử dụng các thư viện bổ sung sẽ dễ dàng hơn nhiều.
GO TO FULL VERSION