1. 조건식
1. if-else
//false일 경우를 고려하지 않을 때
if(조건식) {
//실행할 코드
}
//true, false 2가지 경우
if(조건식){
//true일 경우 실행
} else {
//false일 경우 실행
}
2. when
when(변수 또는 상수){
값1 -> {
//실행할 코드
}
값2 -> {
//실행할 코드
}
else -> {
//실행할 코드
}
}
//예시
var myNumber = readline()!!.toInt()
when(myNumber) {
1 -> {
//코드
}
2 -> {
//코드
}
else -> {
//코드
}
}
when(x){
0,1 -> println("0,1")
else -> println("else")
}
//0,1인 경우를 묶는 것 가능
when(x){
parseInt(s) -> println("same")
else -> println("different")
}
//x가 함수의 반환값과 일치하면 문장을 실행하도록
when(x){
in 1..10 -> println("1~10")
!in 20..30 -> println("20~30 아님")
else -> println("포함되지 않음")
}
var score = resdLine()!!.toDouble()
var grade : Char = 'F'
when{ //인자가 없다!
score >= 90.0 -> grade = 'A'
score in 80.0..89.9 -> grade = 'B'
}
val str = "Hello"
val result = when(str){
is String -> "문자열"
else -> false
}
//str의 자료형이 문자열인지 확인 후, 결과를 다시 result에 할당함
fun main(){
cases("Hello")
cases(1)
cases(System.currentTimeMillis()) //현재 시간을 Long 타입으로 리턴
cases(MyClass()) //객체
}
fun cases(obj : Any){
when(obj){
1 -> ~~
"Hello" -> ~~
is Long -> ~~
!is String -> ~~
else -> ~~
}
}
//다양한 자료형의 인자 받기
2. 반복문
1. for
(1) 리스트에서 요소들을 가져오는 방식
var fruits = arrayOf("사과", "배", "딸기", "포도")
for(fruit in fruits){
if(fruit == "배") {
println("배 발견")
break //반복문 탈출, 다음 블록으로 이동
} else {
println("아직...")
//continue 시 이후의 코드를 실행하지 않음.
//반복문 탈출은 아님. 반복문 처음으로 돌아감
}
}
(2) 숫자의 범위를 지정하는 방식
for(i in 1..5){ //1,2,3,4,5 총 5번 반복. 이하
println("${i}번째")
}
for(j in 1 until 5){ //1,2,3,4 총 4번 반복. 미만
//until 생략하고 시작값..마지막값 해도 ㄱㅊ
//여기선 i++ 할 수 없음... i 가 val로 취급됨
}
for (i in 5 downTo 1)
print(i)
//역순으로 출력
for (i in 1..5 step 2)
print(i)
//2씩 변화
//break, continue에 라벨 활용하기
fun breakLabel(){
first@ for(i in 1..5){
second@ for (j in 1..5){
if(j==3)
break@first
println("i:$i, j:$j")
}
println("after j")
}
println("after i")
}
//first에서 탈출함
2. while
var i = 0
while(i<10){
//코드
i++ //증감식 작성
}
'언어 > Kotlin' 카테고리의 다른 글
[Kotlin 문법 종합] - 생성자, 객체 (#비교 추가하기) @@ 질문하기! (0) | 2024.03.05 |
---|---|
[Kotlin 문법 종합] - 메소드, 클래스 (0) | 2024.03.05 |
[Kotlin 문법 종합] - 변수와 상수, 연산자 (0) | 2024.03.05 |
[Kotlin 문법 종합] - 코딩 컨벤션, 자료형 (0) | 2024.03.05 |
[Kotlin 문법 종합] - 기초, 단축키들 (0) | 2024.03.05 |