반응형
Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Tags
- 선착순 보장
- Redis
- cs50
- 파이썬
- System.currentTimeMillis()
- Queue
- 범위클래스
- 백준
- gensim
- idempotency
- Kotlin
- Instant.now().toEpochMilli()
- 개발 기술환경 파악
- 투포인터
- 딥러닝
- 서버구조 설계 시 고려할점
- 안드로이드 스튜디오
- express
- 정보처리기사
- PREFECT
- Queue테이블
- 알고리즘
- 텍스트전처리
- 웹어플케이션서버
- 멱등한 API
- Port/Adpater
- API명세 작성
- BFS
- 코틀린
- 인프라 구성도
Archives
- Today
- Total
THINK HARD
코틀린 기본(2) - 제어문 본문
728x90
반응형
제어문
범위 클래스
범위 클래스로는 IntRange, LongRange, CharRange 등이 있다.
val numRange: IntRange = 1..5
println(numRange.contains(3)) // true
println(numRange.contains(10)) // false
알파벳의 범위
val charRange: CharRange = 'a'..'e'
println(charRange.contains('b')) // true
println(charRange.contains('z')) // false
for문
예시1)
for (i in 1..5) {
println(i) // 1, 2, 3, 4, 5
}
예시2)
//역순으로 출력시
for (i in 5 downTo 1) {
print(i) // 5, 4, 3, 2, 1
}
예시3)
// 2씩 증가하는 걸로 하려면
for (i in 1..10 step 2) {
println(i) // 1, 3, 5, 7, 9
}
예시4)
//배열의 출력
val students = arrayOf("a", "b", "c", "d", "e")
for (name in students) {
println(name) // a, b, c, ,d, e
}
withIndex() 함수를 이용하면 인덱스와 요소를 함께 가져올 수 있다.
// 인덱스와 요소를 함께
for((index, name) in students.withIndex()){
println("Index : $index Name : $name")
}
// 결과
//Index : 0 Name : a
//Index : 1 Name : b
//Index : 2 Name : c
//Index : 3 Name : d
//Index : 4 Name : e
while문
while 문
var num = 1
while (num < 5) {
println(num) // 1,2,3,4 출력
num++ // 1씩 증가
}
do while문 - 최초 1회는 무조건 실행
// 최초 한번은 무조건 실행
var num = 1
do {
num++
print(num) // 2, 3, 4 출력
}while (num < 5)
if 문
if문은 자바와 같다.
예시1)
val examScore = 60
var isPass = false
if (examScore > 80) {
isPass = true
}
println("시험 결과 : $isPass") // 시험 결과 : false
if- else
예시1)
val examScore = 99
if (examScore == 100) {
println("만점 O")
} else {
println("만점 X")
}
if 문을 아래와 같은 표현식으로도 사용 가능하다. 일반적인 명령문(statement)은 어떤 동작(action)을 수행하는데 반해, 표현식(expression)은 하나의 값(value)으로 평가되는 것이다.
변수에 값을 할당할 때는 반드시 else문이 필요하다.
val myAge = 40
val isAdult = if(myAge > 30) true else false
println("성인 여부 : $isAdult") // 성인 여부 : true
when문
코틀린에는 값에 따라 분기하여 코드를 실행하는 switch문은 없다. 대신 when문이 있다.
val weather = 15
when (weather) {
-20 -> {println("매우 추운 날씨")} // 값이 하나인 경우
11, 12, 13, 14 -> {println("쌀쌀한 날씨")} // 값이 여러개인 경우
in 15..26 -> {println("활동하기 좋은 날씨")} // 값이 범위인 경우
// 범위 안에 안들어가는 경우
!in -30..50 -> {println("잘못된 값입니다. -30 ~ 50 가운데 값을 적어주세요")}
else -> {println("잘 모르는 값")} // 위의 경우가 모두 아닌경우
}
값으로 무엇을 넣느냐에 따라 출력되는 값이 다르다. 마지막 else문을 보면 아무것도 해당되지 않을 떄 실행할 코드를 작성할 수 있다.
if 문과 마찬가지로 when문도 값을 반환하는 표현식으로 사용할 수 있다. 값을 무조건 할당해야 하므로 else문이 필수다.
val essayScore = 95
val grade = when (essayScore) {
in 0..40 -> "D"
in 41..70 -> "C"
in 71..90 -> "B"
else -> "A"
}
println("에세이학점 : $grade") //에세이학점 : A728x90
반응형
'안드로이드 > 공부' 카테고리의 다른 글
| 코틀린 기본(3) - 컬렉션 (0) | 2025.09.14 |
|---|---|
| 코틀린 기본(1) (0) | 2025.09.10 |
| 에뮬레이터로 실행하기, 실제 기기로 실행하기 (0) | 2025.09.08 |
| onCreate(), setContentView(), 안드로이드스튜디오 레이아웃 파일 보는법, 레이아웃 폴더 없을 때, android:exported (0) | 2025.09.08 |
| Gradle Scripts (0) | 2025.09.02 |