관리 메뉴

Bbaktaeho

코틀린(Kotlin) 8. 입력과 출력 본문

프로그래밍 (Programming)/코틀린 (Kotlin)

코틀린(Kotlin) 8. 입력과 출력

Bbaktaeho 2019. 1. 24. 16:57
반응형

입력)

코틀린에서 입력은 자바에서 사용한 Scanner 클래스를 이용할 수 있다. 또한 readLine() 함수를 사용하여 입력받을 수 있다.

자바에서 Scanner 사용법은 먼저 Scanner 클래스를 Imprt 시켜주고 객체를 생성하여 원하는 타입을 입력받는 것이다.

코틀린에서도 같은 방법으로 사용할 수 있다.

1
2
3
4
5
6
7
8
9
10
import java.util.*
fun main(args: Array<String>) {
    print("이름을 입력하세요 : ")
    val name = readLine()
    print("학교를 입력하세요 : ")
    val s = Scanner(System.`in`)
    val uni = s.nextLine() //입력
    print("이름은 $name , 학교는 $uni 입니다.")
}
cs

예제를 보면 readLine() 함수는 입력받은 값을 String? 타입으로 리턴해준다. String 뒤에 붙은 ? 은 널을 허용하는 타입이라고 알고 있자.

위의 코드를 실행하면 아래와 같이 출력된다.

1
2
3
이름을 입력하세요 : 임태호 //입력
학교를 입력하세요 : 인천대학교 //입력
이름은 임태호 , 학교는 인천대학교 입니다.
cs

자바를 하신 분들을 아시겠지만 여러 형태의 타입으로 입력받을 수 있다.

여기서 next() 와 nextLine() 의 차이점!

next() 는 문자 또는 문자열을 공백을 기준으로 입력받는다. 만약 입력으로 "안녕 코틀린" 이란 문자열을 입력하면 "안녕" 이 들어가게 된다.

1
2
3
4
5
6
7
8
9
10
import java.util.Scanner
fun main(args: Array<String>) {
    print("이름을 입력하세요 : ")
    val name = readLine()
    print("학교를 입력하세요 : ")
    val s = Scanner(System.`in`)
    val uni = s.next() //입력
    print("이름은 $name , 학교는 $uni 입니다.")
}
cs

1
2
3
이름을 입력하세요 : 임태호 //입력
학교를 입력하세요 : 국립 인천대학교 //입력
이름은 임태호 , 학교는 국립 입니다.
cs

반면 nextLine() 은 한 줄 전체를 String 타입으로 입력받는다.

출력)

출력문으로 print() 와 println() 이 있다. 둘의 차이점이라면 출력 후 개행을 하지 않거나 개행을 하는 것이다.

1
2
3
4
5
6
7
8
9
10
11
12
fun main(args: Array<String>) {
    val num=0
    print(1)
    print(2)
    println(3)
    println(4)
    print(5)
    println(6)
    println("123456"+"1")
    println("123456${789}")
    println("123456$num")
}
cs

1
2
3
4
5
6
123
4
56
1234561
123456789
1234560
cs


반응형