이 글은 이것이 안드로이드다 with 코틀린(개정판)를 참고하여 작성하였습니다.
작성자 : 백건우
개발환경은 Windows, Android Studio입니다.
#9 If문2
※ if문의 구조와 작동원리
if(A){}
else if(B){}
else{}
if문의 조건문은 boolean 변수이거나 boolean 값이어야 한다..
위와 같은 구조에서는 조건만 따졌을 때 A or B라고 볼 수 있다.
일반적으로 or의 경우 앞이 참이라면 뒤의 경우는 무시되고, 이는 if문의 작동방식과 유사하다.
A가 거짓이면 else if의 경우 ~A and B라고 할 수 있고, else의 경우 ~A and ~B라고 볼 수 있다.
#10 When
C의 switch-case 구문과 유사한 구문(하지만 case 뒤에 break가 default로 들어있다고 생각할 수 있다.)
when에서 할당 연산도 가능하다.
var season = 3
when(season){
1 -> println("Spring")
2 -> println("Summer")
3 -> {
println("Fall")
println("Autumn")
}
4 -> println("Winter")
else -> println("Invalid Season")
}
var month = 3
when(month){
in 3..5 -> println("Spring")
is season -> "Summer"
in 9..11 -> println("Fall")
12 downTo 2 -> println("Winter")
else -> println("Invalid Season")
}
! : not
is : ==
#11 while 반복문
● while 반복문은 반복문 안의 조건문이 참인 동안(while) 반복문 안의 코드를 반복한다.
주의사항 : 반복문을 사용할 때에는 반드시 종료조건을 명시하여 무한루프가 되지 않도록 해야 한다.
이는 의도적으로 무한루프를 발생시켰을 때에도 해당된다.
var x = 1
while(x < 10) {
println("$x")
// x++
}
위 코드의 경우 주석처리 된 부분이 무한루프가 발생하지 않도록 하는 코드이다.
#12 do while 반복문
● do while 반복문은 반복문 안의 코드를 한번(do) 실행한 후 조건에 따라 while 반복문이 실행된다.
따라서 반복문 안의 코드가 최소 한번 실행된다.
var x = -1
do{
println("$x")
x++
}while(x > 10)
위 코드의 경우 조건문이 거짓임에도 최소 한번은 x가 출력된다.
#13 for 반복문
● for문은 변수와 범위로 구성되며 그 외에 step(생략가능)이 추가될 수 있다.
ex) num in 1..10 step 2
step의 경우 default는 1이지만 다른 값으로 step 키워드를 통해 변경해줄 수 있다.
for(num in 1..10){
print("$num")
}
for(i in 1 until 10){
print("$i")
}
#14 매개변수
● 매개변수 : 함수에서 함수에 전달되는 값을 저장하는 변수
함수를 선언할 때에는 매개변수와 반환값의 데이터타입을 명시해주어야 한다.
fun addUp(a: Int, b: Int): Int{
return (a+b)
}
#15 nullable
● nullable : 값 대신 null을 저장할 수 있는 변수를 nullable 변수라고 한다.
null : 값이 아니며, 값이 없는 상태를 나타낸다.
● 타입 뒤에 ?를 붙여 nullable로 선언할 수 있다.
var name: String = "Denis"
// name = null // 오류 발생
var nullableName: String? = "Denis"
nullableName = null // 정상작동
//nullableName이 null이 아닐 경우에만 let 뒤의 코드를 실행
var len = nullableName?.length
nullableName?.let { println(it.length) }
* 엘비스 연산자(?:)
엘비스 연산자(?:) : nullable 변수 ?: default는 nullable 변수에 null이 들어있다면 ?: 뒤의 값을, nul이 들어있지 않다면 nullable 변수에 들어있는 값을 반환하는 연산자이다.
var nullableName : String? = null
val name = nullableName ?: "Guest"
위 코드의 경우 nullableName에 null이 들어있으므로 name에는 "Guest"가 할당된다.
* Not Null(!!)
Not Null(!!) : Not Null은 nullable변수에 값이 반드시 있다고 단정할 수 있을 때 사용한다.
var nullableName : String? = null
nullableName!!.toLowerCase()
위 코드의 경우 오류가 발생한다. Not Null은 null이 들어있을 경우 오류를 발생시키기 때문이다.
'GDSC HUFS 4기 > Kotlin Team #6' 카테고리의 다른 글
[6팀] 계산기 - XML 사용법과 UI 생성법 배우기 (0) | 2022.10.31 |
---|---|
[6팀] 코틀린으로 분 단위 계산기 만들기 (1) | 2022.10.31 |
[6팀] 코틀린 기초 더 배우기 (0) | 2022.10.09 |
[6팀] 코틀린 객체 지향 프로그래밍 기초 (0) | 2022.10.09 |
[6팀] 코틀린 기초(1) (0) | 2022.10.02 |