[코틀린 문법] 변수와 자료형
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(기본형 자료형)
// 정수 자료형
// 실수 자료형
// 문자 자료형
// 문자열 자료형
// 논리 자료형
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
참고
반응형
'개발(Android) > kotlin syntax' 카테고리의 다른 글
[Kotlin syntax] Break, Continue, Logical Operators (0) | 2022.04.04 |
---|---|
[Kotlin syntax] While, Do While, For, Increment Operators, Decrement Operators (0) | 2022.04.03 |
[Kotlin syntax] Conditional expressions(If, When), Comparison Operators (0) | 2022.04.01 |
[Kotlin syntax] Type Inference, Functions, Arithmetic Operators (0) | 2022.03.31 |
[Kotlin syntax] Type Casting, Arrays (0) | 2022.03.31 |