공부블로그

Kotlin 기초 문법 (자료형) 본문

코틀린

Kotlin 기초 문법 (자료형)

떠어영 2021. 10. 1. 01:28

var s: String = "hello"
println(s)

val ss: String = "hello"
println(ss)

/*
var: 일반 변수
val: 불변 변수

< 변수 선언 방법 >
var/val 변수 이름: 타입 =
*/

var a: Int = 1
a.plus(2)
a.minus(2)
//숫자를 객체처럼 사용

var b = a.toFloat()
println(a)
println(b)
//type casting (형변환)

var n: Int? = null
//Nullable
//Not-null: 연산자-!!
println(n?:0) //Null 이면 0

var r: IntRange = 1..9
if( 2 in r){println("10미만의 자연수")}
//범위를 표현하는 ..연산자

//< 배열 >
val arr = arrayOf(10,"apple",true)
//arrayOf : 배열 선언
val arr1 = Array(5){0}
//Array: 배열 사이즈, 들어갈 값
val arr2 = Array(5){it*2}
//it keyword 이용 { 0, 2, 4, 6, 8 }

//< 반복문 >
for(i in 5 downTo 1){ //내림차순
println(i)
}
for(i in 3..6 step 2){ //step
println(i)
}
for((index, item) in arr.withIndex()){
println("item at $index is $item")
// $(달러기호)는 문자열 템플릿!!!
}

//< 함수 >
fun example(args:Int){ //인자를 받을 때,
//인자로 사용할 변수 이름 : 타입
println("function example $args")
}
example(100)

fun exString(args:Array<String>){
for( i in args){
println(i)
}
println(args[0])
println("${args[0]}") //둘다 같은 값
}
exString(arrayOf("abc","def","ghi"))

var x : Int = 10000
println("I want to print $x")

val temp = 10
val isHot = temp>50
//if(temp>50) true else false
println(isHot)

fun type(args: Any){
when(args){
is Int -> println("Int")
is String -> println("String")
}
}
type(1)

fun describe(obj:Any):String = // =사용
when(obj){ //case 문과 유사
1 -> "One"
"Hello" -> "Greeting"
is Long -> "Long"
else -> "Unknown"
}
println(describe(1))

fun wantToEat(day:String):String {
return when(day){ // { 사용
"Mon"-> "pizza"
"Tue"-> "pasta"
"Wed"-> "sushi"
else -> "stop"
}
}
println(wantToEat("Mon"))

fun mkReturn(args: Int):Int{ //return 타입 명시
return args*100
}
println(mkReturn(5))

fun mkR(i: Int)= i*500;
//return 타입 생략 가능, return 대신 ;사용
println(mkR(3))

//매개변수(인자)는 기본값을 가질 수 있다.
//기본값이 있는 것과 없는 것 혼합 가능

// <class> //싱글톤 클래스 : object

 


// <List> : 순서를 가진 자료구조
// 변경 X: listOf() / 변경 O: mutableListOf()
val foods = listOf("떡볶이","순대")
val food = mutableListOf("pizza","pasta")
food.add("burger")

println(food)