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 truefalse 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