English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala 데이터 타입

Scala는 Java와 같은 데이터 타입을 가지고 있으며, Scala가 지원하는 데이터 타입은 다음 표에 나와 있습니다:

데이터 타입설명
Byte8비트 signed 컴플리먼트 정수.数值 범위는 -128 부터 127
Short16비트 signed 컴플리먼트 정수.数值 범위는 -32768 부터 32767
Int 32비트 signed 컴플리먼트 정수.数值 범위는 -2147483648 부터 2147483647
Long 64비트 signed 컴플리먼트 정수.数值 범위는 -9223372036854775808 부터 9223372036854775807
Float32 비트, IEEE 754 표준 single 정수
Double64 비트 IEEE 754 표준 double 정수
Char16비트 unsigned Unicode 문자, 범위值为 U+0000부터 U+FFFF
String문자 시퀀스
Booleantrue 또는 false
Unit값이 없음을 나타냅니다. 다른 언어에서 void와 동일합니다. 어떤 결과도 반환하지 않는 메서드의 결과 타입으로 사용됩니다. Unit은 하나의 인스턴스 값이 있으며 ()로 작성됩니다.
Nullnull 또는 빈 참조
무엇도 없음Nothing 타입은 Scala의 클래스层级의 가장 하단에 위치하며, 어떤 다른 타입도 그의 서브 타입이 아닙니다.
AnyAny는 모든 다른 클래스의 슈퍼 클래스입니다
AnyRefAnyRef 클래스는 Scala에서 모든 참조 클래스(reference class)의 기본 클래스입니다

상단 표에서 나열된 데이터 타입은 모두 객체입니다.也就是说scala는 java의 원시 타입이 없습니다. Scala에서는 숫자와 같은 기본 타입에 메서드를 호출할 수 있습니다.

Scala 기본 문자面上的

Scala는 매우 간단하고 직관적입니다. 다음에서는 Scala 문자面上的를 자세히 설명하겠습니다.

정수 문자面上的

정수 문자面上的는 Int 타입에 사용되며, Long을 나타내려면 숫자 뒤에 L이나 소문자 l을 추가할 수 있습니다.:

0
035
21 
0xFFFFFFFF 
0777L

부동소수점 문자面上的

부동소수점 수가 f나 F 접두사로 끝나면 Float 타입임을 나타내며, 그렇지 않으면 Double 타입입니다. 예제가 다음과 같습니다:

0.0 
1e30f 
3.14159f 
1.0e100
.1

부울형 문자面上的

부울형 문자面上的는 true와 false입니다.

기호 문자面上的

기호 문자面上的는 다음과 같이 작성됩니다: '<식별자> 에서 <식별자> 모든 문자나 숫자의 식별자가 될 수 있습니다(주의: 숫자로 시작할 수 없습니다). 이 표현식은 предопределенный класс scala.Symbol의 인스턴스로 매핑됩니다.

예를 들어: 기호 문자面上的 'x 는 표현식입니다 scala.Symbol("x") 의 약자로 사용됩니다. 기호 문자面上的 정의는 다음과 같습니다:

package scala
final case class Symbol private (name: String) {
   override def toString: String = "'" + name
}

문자 문자面上的

Scala 문자 변수에서 단락따옴표를 사용합니다. ' 다음과 같이 정의됩니다:

'a' 
'\u0041'
'\n'
'\t'

중에서 \ escape 문자를 나타내며, 그 뒤에는 추가 문자가 추가될 수 있습니다. u0041 숫자나 \r\n 와 같은 고정된 escape 문자.

문자 문자面上的

Scala 문자 문자面上的 대형따옴표를 사용합니다. " 다음과 같이 정의됩니다:

"Hello,\nWorld!"
"기본 튜토리얼 웹사이트: ko.oldtoolbag.com"

다중 행 문자열의 표현 방법

다중 행 문자열은 세 개의 더블 큰따옴표로 구분 기호를 사용합니다. 형식은 다음과 같습니다:""" ... """

예제가 다음과 같습니다:

val foo = """기본 튜토리얼"
ko.oldtoolbag.com
ko.oldtoolbag.com
www.runnoob.com
위 세 가지 주소 모두 """에 접근할 수 있습니다.

Null 값

빈 값은 scala.Null 타입입니다.

Scala.Null과 scala.Nothing은 Scala의面向对象类型 시스템의 일부 "경계 상황"을 일치시키는 방식으로 처리되는 특별한 타입입니다.

Null 클래스는 null 참조 객체의 타입으로, AnyRef에서 상속된 모든 참조 클래스의 서브 클래스입니다. Null은 값 타입과 불일치합니다.

Scala 이스케이프 문자

다음 표는 일반적인 이스케이프 문자를 나열합니다:

이스케이프 문자Unicode설명
\b\u0008Backspace(BS) ,현재 위치를前一열로 이동
\t\u0009Horizontal Tab(HT) (다음 탭 위치로 이동)
\n\u000aLine Feed(LF) ,현재 위치를 다음 행의 시작으로 이동
\f\u000cForm Feed(FF) ,현재 위치를 다음 페이지의 시작으로 이동
\r\u000dCarriage Return(CR) ,현재 위치를 현재 행의 시작으로 이동
\"\u0022은 양쪽 쌍따옴표(") 문자를 나타냅니다
\'\u0027은 단락 문자(') 문자를 나타냅니다
\\\u005c은 반쪽 괄호 문자 '\'를 나타냅니다

0부터 255 Unicode 문자는 오ctal 이스케이프 시리즈로 표현할 수 있습니다. 즉, 반쪽 괄호 "\" 뒤에 최대 세 개의 오ctal

문자나 문자열에서 반쪽 괄호와 그 뒤의 문자 시리즈가 합법적인 이스케이프 시리즈를 구성하지 못하면 컴파일 오류。

다음 예제는 몇 가지 이스케이프 문자의 사용을 보여줍니다:

object Test {
   def main(args: Array[String]) {
      println("Hello\tWorld\n\n");
   }
}

실행 후 출력 결과는 다음과 같습니다:

$ scalac Test.scala
$ scala TestHello    World