Scala - Loại dữ liệu
Scala có tất cả các kiểu dữ liệu giống như Java, với cùng một vùng nhớ và độ chính xác. Sau đây là bảng cung cấp thông tin chi tiết về tất cả các kiểu dữ liệu có sẵn trong Scala:
Sr.No | Loại dữ liệu & Mô tả |
---|---|
1 | Byte Giá trị có dấu 8 bit. Phạm vi từ -128 đến 127 |
2 | Short Giá trị có dấu 16 bit. Dải -32768 đến 32767 |
3 | Int Giá trị có dấu 32 bit. Phạm vi -2147483648 đến 2147483647 |
4 | Long Giá trị có dấu 64 bit. -9223372036854775808 đến 9223372036854775807 |
5 | Float Phao chính xác đơn 32 bit IEEE 754 |
6 | Double Phao chính xác kép 64 bit IEEE 754 |
7 | Char Ký tự Unicode 16 bit không dấu. Phạm vi từ U + 0000 đến U + FFFF |
số 8 | String Chuỗi ký tự |
9 | Boolean Nghĩa đen đúng hoặc nghĩa đen sai |
10 | Unit Tương ứng với không có giá trị |
11 | Null tham chiếu rỗng hoặc trống |
12 | Nothing Kiểu con của mọi kiểu khác; không bao gồm giá trị |
13 | Any Siêu kiểu của bất kỳ loại nào; bất kỳ đối tượng nào thuộc loại Bất kỳ |
14 | AnyRef Siêu kiểu của bất kỳ kiểu tham chiếu nào |
Tất cả các kiểu dữ liệu được liệt kê ở trên là các đối tượng. Không có các kiểu nguyên thủy như trong Java. Điều này có nghĩa là bạn có thể gọi các phương thức trên Int, Long, v.v.
Scala Basic Literals
Các quy tắc Scala sử dụng cho các chữ rất đơn giản và trực quan. Phần này giải thích tất cả các Scala Literals cơ bản.
Chữ tích phân
Các ký tự số nguyên thường có kiểu Int, hoặc kiểu Long khi theo sau là hậu tố L hoặc l. Đây là một số ký tự số nguyên -
0
035
21
0xFFFFFFFF
0777L
Floating Point Literal
Các ký tự dấu chấm động thuộc loại Float khi theo sau là hậu tố loại dấu chấm động F hoặc f và có loại Double. Dưới đây là một số ký tự dấu phẩy động -
0.0
1e30f
3.14159f
1.0e100
.1
Boolean Literals
Các ký tự Boolean true và false là thành viên của kiểu Boolean.
Chữ viết biểu tượng
Ký hiệu chữ 'x là cách viết tắt của biểu thức scala.Symbol("x"). Biểu tượng là một lớp trường hợp, được định nghĩa như sau.
package scala
final case class Symbol private (name: String) {
override def toString: String = "'" + name
}
Ký tự chữ
Chữ ký tự là một ký tự đơn lẻ được đặt trong dấu ngoặc kép. Ký tự là một ký tự Unicode có thể in được hoặc được mô tả bằng một chuỗi thoát. Đây là một số ký tự chữ -
'a'
'\u0041'
'\n'
'\t'
Chuỗi chữ
Một chuỗi ký tự là một chuỗi các ký tự trong dấu ngoặc kép. Các ký tự là ký tự Unicode có thể in được hoặc được mô tả bằng các chuỗi thoát. Đây là một số ký tự chuỗi -
"Hello,\nWorld!"
"This string contains a \" character."
Chuỗi nhiều dòng
Một chuỗi ký tự nhiều dòng là một chuỗi các ký tự được đặt trong dấu ngoặc kép "" "..." "". Chuỗi ký tự là tùy ý, ngoại trừ việc nó có thể chứa ba hoặc nhiều ký tự trích dẫn liên tiếp chỉ ở cuối.
Các ký tự không nhất thiết phải in được; dòng mới hoặc các ký tự điều khiển khác cũng được cho phép. Đây là một chuỗi nhiều dòng theo nghĩa đen -
"""the present string
spans three
lines."""
Giá trị rỗng
Giá trị null thuộc loại scala.Nullvà do đó tương thích với mọi loại tham chiếu. Nó biểu thị một giá trị tham chiếu đề cập đến một đối tượng "null" đặc biệt.
Trình tự thoát
Các chuỗi thoát sau được nhận dạng dưới dạng ký tự và chuỗi ký tự.
Trình tự thoát | Unicode | Sự miêu tả |
---|---|---|
\ b | \ u0008 | backspace BS |
\ t | \ u0009 | tab ngang HT |
\ n | \ u000c | formfeed FF |
\ f | \ u000c | formfeed FF |
\ r | \ u000d | dấu xuống dòng CR |
\ " | \ u0022 | dấu ngoặc kép " |
\ ' | \ u0027 | trích dẫn duy nhất. |
\\ | \ u005c | dấu gạch chéo ngược \ |
Một ký tự có Unicode trong khoảng từ 0 đến 255 cũng có thể được biểu thị bằng một lối thoát bát phân, tức là dấu gạch chéo ngược '\' theo sau là một chuỗi tối đa ba ký tự bát phân. Sau đây là ví dụ để hiển thị một số ký tự thoát -
Thí dụ
object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}
Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:
Đầu ra
Hello World