본문 바로가기

학습 노트/Kotlin (2024)

(5)
005. nullSafety val data: String? = "call me maybe."kotlin의 변수들은 기본적으로 null을 허용하지 않는데, 이를 가능하게 하는 것이 존재한다.swift의 optional과 거의 동일한 기능의 nullable인데 형태도, 사용법도, 기능도 굉장히 비슷하다.if (data != null) { println(data.uppercase())}println(data?.uppercase())null을 포함할 수 있기 때문에 두 번째 줄과 같이 간편하게 데이터의 유효성을 체크할 수 있고val num1: Int = 3val num2: Int? = 10val num3 = num1 + num2 //(X)null을 포함할 수 있기 때문에 기본 변수와는 다른 타입으로 간주하고, 바로 연산을 진행할 수..
004. loop와 function Loop// forfor (city in cities) { println(city)}// whilevar index = 0while (index for문과 while문을 사용한 반복문도 동일하게 존재하며, value binding도 당연히 사용할 수 있다.//close ended range0..10//open ended range0..012345678910for문에 자주 사용하는 범위 연산자는 swift의 것과 많이 닮아있는데, 기본적으로 전위를 포함하고, 후위를 닫아주는 형태이다.open ended range는 최근 추가된 연산자로, 기존의 rangeUntil을 대체한다.Functionfun main() {}지금까지 줄곧 사용하고 있었지만 위 표현식이 kotlin의 함수 표현식이다.fun sayH..
003. 조건문과 array 그리고 list 조건문val myAge = 15if (myAge >= 18) { println("can drunk")} else { println("reject")}if문은 if와 '()'를 사용한다.# Pythonif True: print("True")// Swiftif true { print("True")}python과 swift와는 조금씩 다른데, '()'의 유무만 제외하면 swift와 굉장히 흡사하다. Arrayval temparr = arrayOf("Seoul", "Busan", "London", "NewYork")println(temparr)[Ljava.lang.String;@6d03e736array의 선언은 arrayOf를 사용한다.선언 시점에서 메모리의 값이 정해지며, 요소를 추가하거..
002. 기본 연산자들 논리 연산자를 제외한 기본 연산자들을 좀 알아보자val name: String = "Martin"val surname: String = "Q"val fullName = name + " " + surname합 연산자는 역시나 문자열에도 사용할 수 있다.kotlin도 여백은 따로 추가해 줘야 하기 때문에 필요하다면 위와 같이 공백에 해당하는 문자열을 끼워 줘야 한다.val num1: Int = 10val num2: Int = 5val num3: Float = 3.0fval addition = num1 + num2val subtraction = num1 - num2val multiplication = num1 * num2val division = num1 / num2val modulo = num1 % num2..
001. 출력과 기본 자료형 빠르게 kotlin의 출력과 기본 자료형에 대해 알아보자fun main() { println("Hello world") print("line 2") print("line 3") print("line 4\n") print("line 5") println("Martin")}kotlin의 출력에는 print와 println 두 가지가 존재한다.println은 print line next의 약자로 다음 출력이 새로운 라인을 할당할 수 있도록 한다.Hello worldline 2line 3line 4line 5Martin출력은 위와 같은데 println이 실제로는 자동으로 '\n'을 끝에 추가해 주는 역할을 하기 때문으로,이전 출력 내용인 print("line 5")가 linebr..