개발(Android)/kotlin syntax

[Kotlin syntax] Variables, Data Types

shinyelee 2022. 3. 31. 16:04

[코틀린 문법] 변수와 자료형

Variable(변수)

- 값을 저장하는 메모리 공간

    // Declaration of a Variable(변수 선언) //
    
    // var 변수명: 변수타입 = 변수값
    // 이런 형태로 작성
    var greeting: String = "Hello World!"

    // : String 생략해도 OK
    // (자세한 내용은 자료형에서 추가 설명)
    var greeting2 = "Hello World!"

    // 변수를 초기화 할 때는 var 필수
    // -> 값 수정할 때는 var를 생략
    var greeting3 = "Hello World!"
    greeting3 = "Hello Kotlin!"
    
    // 변수명은 camelCase(카멜표기법)으로 작성
    // -> 아래와 같이 띄어쓰기를 대문자로 대체함
    var permissionToDance = "We don't need permission to dance"
    var dreamsComeTrue = "나를 지켜줄 거야 아껴왔던 작은 사랑도"
    
    
    
    // 다음에 배울 내용 //
    
    // 클래스에 선언된 변수 -> Property(속성)
    // 스코프 내에 선언된 변수 -> Local Variable(지역 변수)
    // 자료형 뒤에 ? 붙여서 nullable 변수로 선언
//    var nullable: Int? = null

var(Variable)

- Mutable Variable(가변 변수)

    // 일반적인 변수
    // 언제든지 읽기/쓰기 가능
    // 변수명 앞에 var 붙임
    // variable -> var
    
    var greeting4 = "Hello World!"
    // 재정의 가능
    greeting4 = "Hello Kotlin!"
    
    // `Int` 타입으로 추론함
    var x = 5
    x += 1

val(Value)

- Immutable Variable(불변 변수)

- Read-only Local Variable(읽기 전용 지역 변수)

    // 선언시에만 초기화
    // 읽기만 가능(중간에 값 변경 불가) <- 그치만 상수랑은 다름
    // 변수명 앞에 val 붙임
    // value -> val

    val greeting5 = "Hello World!"
    // 재정의 불가능
//    greeting5 = "Hello Kotlin!"
//    Kotlin: Val cannot be reassigned

    // Int 타입의 상수 whatType을 선언(냅다 자료형만 지정) 후
    val whatType : Int
    // Int 타입의 값을 대입해주는 건 가능함
    whatType = 1
    // 물론 재정의는 안 됨
//    val whatType = 1
//    Kotlin: Conflicting declarations: val whatType: Int, val whatType: Int

    // 즉시 할당
    val a: Int = 1

    // (Int로) 타입 추론
    val b = 2

    // 자료형 먼저 명시한 후
    val c: Int
    // 나중에 할당(지연 초기화)
    c = 3
    
   // 수정할 수 없는 변수를 만들고 싶다면 var 대신 val 사용

Data Type(자료형)

// 코틀린 기준,
// 코딩시 -> Reference Data Type(참조형 자료형)
// 컴파일 단계 -> Primitive Data Type(기본형 자료형)

// 정수 자료형
// 실수 자료형
// 문자 자료형
// 문자열 자료형
// 논리 자료형
 

[코틀린/Kotlin] 기초 #04_기본형 vs 참조형

환경 : Kotlin Version = 1.5.20, Java version = 14.0.2 JVM, Android Studio 0.참고 자료 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/ kotlin.io - Kotlin Programming Language kotlinlang.org..

ongveloper.tistory.com

Number(숫자)

    // 정수형 //
    
    // Byte -> 8비트
    // Short -> 16비트
    // Int -> 32비트(기본값)
    // Long -> 64비트
    
    var num1: Int = 42
    var num2: Long = 42L
    
    
    
    // 정수형의 리터럴(코드 내 값 표기) //
    
    // 10진수 -> Long만 숫자 뒤에 L 붙임
    // 16진수 -> 숫자 앞에 0x 붙임(1af는 431)
    // 2진수 -> 숫자 앞에 0b 붙임
    
    var decimal = 1234L
    var hexadecimal = 0x1af
    var binary = 0b10110110
    println(decimal)
    println(hexadecimal)
    println(binary)
//    1234
//    431
//    182
    
    
    
    var num11 = 42
    var num22 = 42L
//    var num222 = 42l
//    Kotlin: Use 'L' instead of 'l'
    // Long은 대문자 L만 허용함(소문자 l은 안됨)



    // 실수형 //
    
    // Float -> 32비트
    // Double -> 64비트(기본값)
    
    var num3: Double = 3.14
    var num4 = 3.14F
    var num44 = 3.14f
    // Float는 대문자 F, 소문자 f 모두 허용



    // 긴 숫자는 _를 쓰면 가독성이 좋아짐
    var distToMoon = 92_960_000 // miles
    println(distToMoon)
//    92960000

String(문자열)

    // Char(문자 1개) //

    // 작은 따옴표 안에
    // '엥'
    // 이런 식으로 사용
    // 글자 하나는 2bytes(16bits) 차지함

    val alphabetA = 'A'
    val koreanChar = 'ㄱ'



    // Strings(문자열) //

    // 큰따옴표 안에
    // "이런 식으로"
    // 사용
    val oneString = "one line string test"

    // 여러 줄인 경우
    // """이런 식으로"""
    // 줄바꿈, 특수문자까지 그대로 사용
    val threeStrings = """one
        =two=
        three^^
    """

    // + 연산자를 사용해 두 문자열 결합하기
    val language = "Kotlin"
    val creator = "JetBrains"
    val description = language + " is created by " + creator
    println(description)
//    Kotlin is created by JetBrains

    // $ 사용해 문자열 결합하기(더 편리함)
    val releaseDate = "July 2011"
    val releaseString = "Kotlin was released in $releaseDate"
    println(releaseString)
//    Kotlin was released in July 2011

    val firstName = "shinye"
    val lastName = "lee"
    // 이런 식으로도 결합 가능
    println("I'm ${firstName + lastName}")
//    I'm shinyelee

    // 문자열에 $을 쓰고 싶을 때(not변수)
    // \$을 입력하면 $으로 출력됨
    println("LO\$ER=LO♡ER")

    // 주석은 보통 이렇게 씀

    /* 여러 줄
    *  주석은
    *  이렇게도 씀 */

Boolean(논리형)

    // true 또는 false 값을 나타냄
    // 연산자 배울 때 또 나옴

    val isGoodDay = true
    val isBadDay = false

    println(isGoodDay)
    println(isBadDay)
//    true
//    false

참고

 

[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법 - 인프런 | 강의

코틀린 문법 기초 강의입니다. 안드로이드 앱을 코틀린 언어로 개발하고 싶으신 분들을 위한 강의이고, 기초부터 튼튼하게 코틀린 문법을 재미있게 공부할 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com

 

Basic syntax | Kotlin

 

kotlinlang.org

반응형