티스토리 뷰
Hello World
fun main() = println("Hello World")
Variables
데이터 타입을 지정하지 않아도 변수값에 따라 자동으로 데이터 타입이 지정된다.
데이터 타입을 직접 지정하고 싶을 때는 :를 쓰면 된다.
var name : String = "John" // String
var birthyear = 1998 // Int (number)
변수를 초기화하지 않고 선언만 할 때는 데이터 타입을 명시해주어야 한다.
var name : String
name = "Jennie"
println(name)
코틀린에서는 2가지 변수 선언 방식이 있다.
- var : 일반적인 변수. 값 변경 가능
- val : 상수. 값 변경 불가능
var name = "John"
name = "Stephen"
val x = 10
x = 20 // error
Data Types
Numbers
Type | Size (Byte) | suffix | 변환 메서드 | Range |
Byte | 1 | toByte() | -128 ~ 127 | |
Short | 2 | toShort() | -32,768 ~ 32,767 | |
Int | 4 | toInt() | -2,147,483,648 ~ 2,147,483,647 | |
Long | 8 | L | toLong() | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,808 |
Float | 4 | f, F | toFloat() | |
Double | 8 | toDouble() |
Booleans
Characters
변환 메서드 : toChar()
Strings
Arrays
배열은 Array라는 별도의 타입으로 표현한다.
arrayOf() 메소드를 사용하여 배열의 생성과 초기화를 함께 수행한다.
컴파일러가 자료형을 유추할 수 있을 때는 자료형을 생략할 수 있다.
var numbers : Array<Int> = arrayOf(1, 2, 3, 4,5)
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda")
println(cars[0])
// 값 변경
cars[0] = "Opel"
println(cars[0])
// 배열 크기
println(cars.size)
// element 확인
if ("Volvo" in cars) {
println("It exists!")
} else {
println("It does not exist.")
}
When
if..else 대신에 when 조건문을 쓸 수 있다.
val day = 4
val result = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
6 -> "Saturday"
7 -> "Sunday"
else -> "Invalid day."
}
println(result)
// Outputs "Thursday" (day 4)
For Loop
코틀린에서는 for문에 in 키워드를 사용한다.
for (x in 1..3) {
println(x)
}
for (i in 5 downTo 1) print(i)
for (i in 5 downTo 1 step 2) print(i)
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda")
for (x in cars) {
println(x)
}
아래와 같은 방법으로 for문을 사용하면 오류가 발생한다.
for (int i = 0; i < 4; i++) {
println(i);
}
Ranges
".."으로 범위를 지정할 수 있다.
첫 번째 값과 마지막 값이 범위에 모두 포함된다.
for (x in 1..3) {
println(x)
}
for (i in 5 downTo 1) print(i)
for (i in 5 downTo 1 step 2) print(i)
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda")
for (x in cars) {
println(x)
}
Functions
fun myFunction(fname: String) {
println(fname + "Doe")
}
fun myFunction2(fname: String, age: Int) {
println(fname + " is " + age)
}
// return type : Int
fun myFunction3(x: Int): Int {
return (x + 5)
}
// return 대신 =을 쓸 수 있다
fun myFunction4(x: Int, y: Int) = x + y
fun main() {
myFunction("Jane") // Jane Doe
myFunction2("Jennie", 26) // Jennie is 26
var result = myFunction3(3)
println(result) // 8
result = myFunction4(3, 5)
println(result) // 8
}
'프로그래밍 언어 > Kotlin' 카테고리의 다른 글
Kotlin 기본 다지기 4 (0) | 2021.07.26 |
---|---|
Kotlin 기본 다지기 3 (0) | 2021.07.25 |
Kotlin 기본 다지기 (0) | 2021.07.25 |
Kotlin 기본 다지기 2 (0) | 2021.07.24 |
🌻 Kotlin 입출력 🌻 (0) | 2021.07.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 프로그래머스
- 문자열
- 재귀
- 배열
- Java
- 이분 탐색
- 투 포인터
- 정렬
- SWEA
- 스택
- Kotlin
- algorithm
- BFS
- BOJ
- 백준
- Two Pointer
- SW Expert Academy
- 자바
- 트리
- 구현
- 위상 정렬
- 큐
- C++
- programmers
- 브루트포스
- dfs
- 분할 정복
- 두 포인터
- 그래프
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함