Open snaag opened 1 year ago
const val i = 10;
fun main() {
var j: Int = 20; // 이런 경우에는 타입 생략 가능하다
val k = 30;
}
var
(variable) = 변수val
(value) = 상수
val
(value) = 런타임 에 결정되는 상수const val
(const value) = 컴파일 타임 에 결정되는 상수fun main() {
var i = 20
var l = 20L
l = i.toLong()
i = l.toInt()
}
fun main() {
val immList = listOf(1, 2, 3, 4, 5) // immutable list
val mmList = mutableListOf(1, 2, 3, 4, 5) // mutable list
var arr = arrayOf(1, 2, 3, 4, 5) // array, 잘 안씀
mmList.add(6)
mmList.remove(3)
mmList[1] = 3
arr.set(0, 10) // 0번째에 10을 넣는다
}
fun main() {
print("Hello world")
}
Unit
을 반환한다. (이건 명시 안해줘도 됨)fun main() {
// 둘은 동일하다
sum(10, 3)
sum(b=3, a=10) // 매개변수를 별도로 지정해줄 수 있다
}
// c 의 기본값으로 0 을 넣어주었다
fun sum(a: Int, b: Int, c: Int = 0): Int {
return a + b + c
}
fun sum(a: Int, b: Int, c: Int = 0) = a + b + c
fun main() {
// 숫자 함수 - random
val randomIntNumber = Random.nextInt(0, 100) // 0~99
val randomDoubleNumber = Random.nextDouble(0.0, 1.0) // 0.0~0.9
}
fun main() {
val reader = Scanner(System.`in`) // in 은 kt 에서 쓸 수 없어서, `in` 으로 사용함
reader.nextInt()
reader.next()
}
fun main() {
var name = "hello"
print(name.uppercase())
print(name.lowercase())
print(name[0]) // 배열처럼 접근 가능하다
// String Interpolation
print("제 이름은 ${name} 입니다")
print("제 이름은 " + name + " 입니다")
}
fun main() {
var i = 5
if(i > 10) {
print("10 보다 크다")
} else if(i > 5) {
print("5 보다 크다")
} else {
print("그 외")
}
}
fun main() {
// kt 에서는 if 문을 expression 으로 사용할 수 있다
var result = if (i>10) {
"10 보다 크다" // if 문의 마지막줄은 반환된다
}
else if (i>5) {
"5 보다 크다"
}
else {
"그 외"
}
print(result)
}
fun main() {
var i = 5
when {
i > 10 -> {
print("10 보다 크다")
}
i > 5 -> {
print("5 보다 크다")
}
else -> {
print("그 외")
}
}
}
fun main() {
// kt 에서는 when 이 expression 이다
var result = when {
i > 10 -> {
"10 보다 크다"
}
i > 5 -> {
"5 보다 크다"
}
else -> {
"그 외"
}
}
print(result)
}
fun main() {
val items = listOf(1, 2, 3, 4, 5) // list 만들기
for (item in items) {
print(item)
}
}
fun main() {
val items = listOf(1, 2, 3, 4, 5) // list 만들기
items.forEach { item ->
print(item)
}
}
fun main() {
val items = listOf(1, 2, 3, 4, 5) // list 만들기
for(i in 0..(items.size - 1)) {
print(items[i])
// break
// continue
}
}
fun main() {
var i = 5
var result = if (i > 10) true else false // false
}
boolean result = i > 10 ? true : false
fun main() {
// 예외 처리
try {
val item = items[4]
} catch (e: Exception) {
print(e.message)
}
}
fun main() {
// Type? 해아먄 null 값을 넣을 수 있음
var name: String? = null
var name2: String = ""
name2 = name // error
}
var name = null (X)
Type?
를 해야만 null 값을 할당할 수 있다 var name: String? = null (O)
if(name != null) {
name2 = name
}
name2 = name!!
name?.let {
name2 = name
}
{ }
안의 의 코드를 실행한다