fun main() {
val a = readline()!!.toInt()
val b = readline()!!.toInt()
println(a + b)
}
readline()
: 한 줄을 읽어 문자열로 반환!!
: 널인 경우 예외를 발생toInt()
:호출된 문자열을 정숫값으로 변환var sum = 1
sum = sum + 2
sum = sum + 3
val
: 불변(immutable) 변수var
: 가변(mutable) 변수불변 변수를 사용하면 함수가 부수 효과를 일으키지 못하고, 함수형 스타일 코드를 장려할 수 있음
-> 코드에 대한 추론이 쉬워지기 때문에 가능하면 불변 변수를 사용해야한다.
\t
: 탭\b
: 백스페이스\n
: 새줄\r
: 캐리지 리턴\'
, \"
: 작은따옴표, 큰따옴표\\
: 역슬래시 \$
: 달러 표시val n = 100 // Int
val l: Long = n // Error : cant' assign Int to Long
더 큰 범위의 타입으로 변환 하는 경우 다른 박싱한 타입의 깂을 만들어낼 수 있는 가능성이 생기고, 이로 인해 동등성 요구조건을 만족시키지 못하게 되어 오류를 발생
println(l == n)
위 코드를 올바른 코드로 인정하면 다음 연산 결과 false
를 출력
val n = 100 // Int
val l: Long = n.toLong()
!
: notor
, and
, xor
||
, &&
: 지연 계산코틀린에서는 and
와 or
가 &
와 |
를 대신한다.
or
, and
, xor
는 ||
, &&
보다 우선해 계산된다.
예를 들어,
a || b and c or d && e
은
a || (((b and c ) or d) && e)
이다.
알렉세이 세두노프, ⌜코틀린 완벽 가이드⌟, 길벗