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

Kotlin 변수와 기본 타입

이 튜토리얼에서는 변수, 변수를 생성하는 방법 및 Kotlin이 지원하는 기본 데이터 타입에 대해 배울 것입니다.

알려주셨듯이, 변수는 메모리(저장 영역)에 데이터를 저장하는 위치입니다.

저장 영역을 지시하기 위해 각 변수에 독특한 이름(标识符)을 부여해야 합니다. 이에 대한 정보를 알아보세요.Kotlin에서 변수를 어떻게 이름을 지을까요?더 많은 정보

Kotlin에서 변수를 어떻게 선언하나요?

Kotlin에서 변수를 선언하려면 var 또는 val 키워드를 사용합니다. 예제를 들어:

val language = "French"
val score = 95

이 문서에서는 var과 val의 차이를 논의할 것입니다. 지금은 변수 선언에 집중하겠습니다.

여기서 language는 String 타입의 변수이고, score는 Int 타입의 변수입니다. 변수의 타입을 지정할 필요가 없습니다; Kotlin은 자동으로 타입을 지정합니다. 컴파일러는 초기화 표현식을 통해 이를 알아냅니다(위의 프로그램에서 "French"는 문자열입니다)95정수 값) 이를 알고 있다면 이는 프로그래밍에서 타입 추론.

하지만 다음과 같은 작업을 수행하려면 타입을 명시적으로 지정할 수 있습니다:

var language: String = "French"
val score: Int = 95

위의 예제에서 우리는 선언 과정에서 변수를 초기화했습니다. 하지만 이는 필수적이지 않습니다. 변수를 하나의 문장에서 선언하고 타입을 지정한 후, 프로그램에서 다른 문장에서 초기화할 수 있습니다.

var language: String      //String 타입의 변수 선언
... .. ...
language = "French"       //변수 초기화
val score: Int          //Int 타입의 변수 선언
... .. ...
score = 95             //변수 초기화

다음은 몇 가지 잘못된 예제입니다。

var language           // 에러 
language = "French"

이곳에서 language는 변수의 타입을 명확히 지정하지 않았으며, 선언 시 초기화되지 않았습니다.

var language: String
language = 14         // 에러

이곳에서 우리는14(정수 값) 다른 타입(String)의 변수에 할당되면 오류가 발생합니다.

var과 val의 차이

  • val(불가변 참조)- 할당 후, val 키워드로 선언된 변수는 변경할 수 없습니다. 이는 Java에서의 final 변수와 유사합니다.

  • var(가변 참조)- var 키워드로 선언된 변수는 나중에 프로그램에서 변경할 수 있습니다. 이는 일반적인 Java 변수와 일치합니다.

다음은 몇 가지 예제입니다:

val language = "French"
language = "German"

여기서 변수 language는 값 "German"로 다시 할당됩니다. var 키워드로 변수를 선언했기 때문에 이 코드는 완벽하게 실행됩니다.

val language = "French"
language = "German"      // 에러

위의 예제에서 language 변수에 German 값을 재할당할 수 없는 이유는 그 변수가 val로 선언되었기 때문입니다.

이제 Kotlin 변수가 무엇인지 알게 되었으므로, Kotlin 변수가 취할 수 있는 다양한 값에 대해 배우는 시간이 되었습니다.

Kotlin 기본 타입

Kotlin은 Java와 유사한 정적 타입 언어입니다. 즉, 컴파일 중에 변수 타입이 알려져 있습니다. 예를 들어,

val language: Int
val marks = 12.3

여기서는 컴파일러가 language 타입이 Int이며 컴파일 전 marks가 Double 타입임을 알고 있습니다.

Kotlin의 내장 타입은 다음과 같이 분류될 수 있습니다:

  • Numbers(숫자)

  • Characters(문자)

  • Booleans(부울)

  • Arrays(배열)

Kotlin 숫자 타입(Numbers)

Kotlin의 숫자는 Java와 유사합니다. 다음과 같은6의 내장 타입으로 숫자를 표현합니다.

  • Byte

  • Short

  • Int

  • Long

  • Float

  • Double

1、Byte 타입

  • Byte 데이터 타입의 값 범위는 -128 까지 127(8비트 부호 이진 보수 정수입니다).

  • 변수의 값이 [-128,127] 범위 내에서는 Int 또는 다른 정수 데이터 타입 대신 사용할 수 있습니다. 이렇게 하면 메모리를 절약할 수 있습니다.

fun main(args : Array<String>) {
    val range: Byte = 112
    println("$range")
    // 아래의 코드는 오류를 보여줍니다. 왜 그런지?
    // val range1: Byte = 200
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

112

2、Short 타입

  • Short 데이터 타입의 값 범위는 -32768 까지 32767 (16비트 부호 이진 보수 정수입니다).

  • 변수의 값이 [-32768,32767] 내에서 사용할 수 있습니다. 이렇게 하면 메모리를 절약할 수 있습니다.

fun main(args : Array<String>) {
    val temperature: Short = -11245
    println("$temperature")
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

-11245

3、Int 타입

  • Int 데이터 타입의 값 범위는-231 까지 231-1(32비트 부호 이진 보수 정수입니다).

fun main(args : Array<String>) {
    val score: Int =  100000
    println("$score")
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

100000

변수에 할당하면 -231 까지 231-1명시적으로 타입을 지정하지 않고 정수 범위 내의 정수를 할당하면, 해당 변수는 Int 타입이 됩니다. 예를 들어,

fun main(args : Array<String>) {
   // score는 Int 타입입니다
    val score = 10
    println("$score")
}

IntelliJ IDEA를 사용하는 경우, 커서를 변수 안에 두고 Ctrl + Shift + P를 확인하세요.

4、Long 타입

  • Long 데이터 타입의 범위는 -263 까지 263-1(64비트의 이진 보수 정수입니다).

fun main(args : Array<String>) {
    val highestScore: Long = 9999
    println("$highestScore")
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

9999

변수에 할당된 값이 크거나231-1 또는 작은 -231 의 정수 값을(타입을 명시하지 않았을 때), 이 변수는 Long 타입이 됩니다. 예를 들어:

val distance = 10000000000  //  Long 타입의 변수 distance

동일하게, 변수 타입을 Long으로 지정하려면 대문자 L을 사용할 수 있습니다. 예를 들어:

val distance = 100L    // Long 타입의 distance 값

5、Double 타입

  • Double 타입은 더 높은 정밀도입니다64비트 부동소수점.

fun main(args : Array<String>) {
    // distance는 Double 타입입니다
    val distance = 999.5
    println("$distance")
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

999.5

6、Float 타입

  • Float 데이터 유형은 단정도입니다32비트 부동소수점.

fun main(args : Array<String>) {
    // distance is of type Float
    val distance = 19.5F
    println("$distance")
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

19.5

주의하세요, 우리는 위의 프로그램에서 19.5F 대신 19.5이는 다음과 같은 이유로입니다 19.5 는 Double 레이터리얼이므로, Double 값을 Float 타입에 할당할 수 없습니다.변수.

컴파일러가 19.5 Float로 간주될 경우, 마지막에 F를 사용해야 합니다.

변수에 할당될 수 있는 숫자 값이 불확실할 때, Number 타입으로 지정할 수 있습니다. 이렇게 하면 정수 값 또는 실수 값을 변수에 할당할 수 있습니다(한 번에 하나씩). 예를 들어:

fun main(args : Array<String>) {
    var test: Number = 12.2
    println("$test")
    test = 12
    // Number 타입은 Int으로 자동 변환됩니다
    println("$test")
    test = 120L
    // Number 타입은 Long으로 자동 변환됩니다
    println("$test")
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

12.2
12
120

Kotlin 문자 타입(Char)

Kotlin에서 문자를 표현하려면 Char 타입을 사용합니다.

Java와 달리, Char 타입은 숫자로 간주할 수 없습니다. 이 페이지를 방문하여 더 알아보세요Java char 타입자세한 정보.

fun main(args : Array<String>) {
    val letter: Char
    letter = 'k'
    println("$letter")
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

k

Java에서는 다음과 같은 작업을 수행할 수 있습니다:

char letter = 65;

하지만, 다음 코드는 Kotlin에서 오류를 발생시킵니다.

var letter: Char = 65  // 에러

Kotlin 부울 타입(Boolean)

  •  Boolean 데이터 유형은 두 가지 가능한 값이 있습니다: true 또는 false。

fun main(args : Array<String>) {
    val flag = true
    println("$flag")
}

부울 값은 결정 문장(후面的章节中讨论)에 사용됩니다.

Kotlin 배열(Array)

배열은 하나의 타입의 데이터(값)를 포함하는 컨테이너입니다. 예를 들어, 다음과 같이 생성할 수 있습니다:100개의 Int 타입 값 배열.

Kotlin에서 배열은 Array 클래스로 표현됩니다. 이 클래스는 get과 set 함수, size 속성 및 다른 유용한 멤버 함수를 가집니다.

Kotlin 문자열(String)

Kotlin에서 문자열은 String 클래스로 표현됩니다. 이와 같은 문자열 문자 "this is a string"는 이 클래스의 인스턴스로 구현됩니다.