장점
1. 간결해서 생산성이 높아진다.
2. Java 대비 '버그'가 발생될 가능성이 낮다.
3. 코틀린은 Java와 호환 가능. (안드로이드 프로젝트에서 두개의 언어를 혼용해서 사용 가능함)
var
로 변수 선언var temp1 = 20
var temp2 = "Bob"
tmep1 = "Bob" // error 발생
var a = 1
var b = 2
println(a + b) // 3
var first = "Bob"
var last = "Lee"
println(first + last) // 'BobLee'
println(first + a) // Bob1 문자 + 숫자를 하면, 숫자를 문자로 바꾼 뒤 수
var numList = listOf(1, 2, 3) // 리스트 선언
println(numList[0]) // 1
// 리스트의 길이 구하기
numList.size // 3
var myMap = mapOf("firstName" to "Bob", "LastName" to "Lee") // 맵 선언
println(myMap["FirstName"]) // Bob
// 맵에 있는 key의 수
myMap.size
// 맵에 있는 key값 가져오기
myMap.keys
// 맵에 있는 value값 가져오기
myMap.values
listOf()와 mapOf()을 생성하면 읽기전용 모드로 생성되어 수정 불가능.
mutableListOf()와 mutableMapOf()
사용!
var alphabetList = mutableListOf("a", "b", "c")
// 새로운 값을 마지막에 추가
alphabetList.add("d")
// n번째에 값을 추가
alphabetList.add(2, "d")
// 값을 변경
alphabetList[0] = "A"
// 또는
alphabetList.set(1, "B")
// 해당 하는 값이 있으면 가장 먼저 나오는 값을 제거
alphabetList.remove("d")
// n번째 값을 제거
alphabetList.removeAt(3)
var myMap = mutableMapOf("FirstName" to "Bob", "LastName" to "Lee")
// 새로운 값을 추가
myMap.put("language", "kor")
// 값을 변경
myMap["LastName"] = "Park"
// 또는
myMap.put("language", "kotlin")
//값을 제거
myMap.remove("FirstName")
var students = mutableListOf(
mapOf("name" to "bob", "age" to 20),
mapOf("name" to "carry", "age" to 28)
)
println(students[0]["name"]) // bob
println(students) // [{name=bob, age=20}, {name=carry, age=28}]
// 만들기
fun 함수이름(필요한 변수들) {
내릴 명령어들을 순차적으로 작성
}
// 사용하기
함수이름(필요한 변수들)
// 동작을 실행하고 결과를 돌려주는(return) 경우
fun 함수이름(필요한 변수들): return타입 {
내릴 명령어들을 순차적으로 작성
retun 돌려주는 결과 값
}
//사용하기
var 함수결과저장변수 = 함수이름(필요한 변수들)
// 자주 쓰이는 타입
// 숫자
var one: Int = 1
var pi: Double = 3.14
// 글자열
var name: String = "Lee"
// 참거짓
var isEasy: Boolean = true
if (조건1) {
} else if (조건2) {
} else {
}
for (i in 0..99) {
print(i)
// 0..99는 숫자의 범위를 나타내는 방법
for (변수 in 리스트) {
}