코틀린의 기본 및 자바와 차이점 비교
readLine
자바의 Scanner와 같다
val input = readLine()
println("you input: $input")
기본적으로 코틀린은 자바와는 다르게 ;(세미콜론)을 붙이지 않는다
변수선언
String str = "String";
int number = 13;
Double a = 13.13;
var str:String = "String변수"
var number:Int = 13
val STR:String = "String상수"
이렇게 코틀린에서는 변수와 상수를 먼저 선택하고 타입도 다른방식으로 지정한다.
또 한가지는 코틀린은 따로 타입지정을 하지 않아도 추론이 가능하다
var str = "String변수 자동인식"
? 와 !!
코틀린은 기본적으로 변수에 null값을 넣을 수 없다.
따라서 ? 나 !! 를 붙여주어야 한다.
var str1:String? = "null허용"
var str2:String = "null을 허용하지 않음"
위에 코드처럼 ?를 붙이면 null값이 허용되므로 NullPointerException발생이 없음
?는 int형이나 Double형처럼 어떤타입에도 사용이 가능하다
var num1:Int = 0
var num2:Int? = 10
num1 = num2!!
!!는 null값이 절대 들어오면 안되는 경우에 붙여준다.
따라서 num2가 null이라면 num1 = num2!! 구문에서 오류가 발생한다