Trong bài viết này, bạn sẽ học cách hiển thị output ra màn hình và lấy input từ người dùng trong Kotlin.

1. Output trong Koltin

Bạn có thể sử dụng hàm println()và các print() để làm xuất hiện output lên output tiêu chuẩn (màn hình). Hãy lấy một ví dụ:

fun main(args : Array<String>) {
    println("Kotlin is interesting.")
}

Khi bạn chạy chương trình, output sẽ là:

Kotlin is interesting.

Ở đây, hàm println() làm nhiệm vụ in chuỗi (bên trong dấu ngoặc kép).

2. Sự khác biệt giữa hàm println () và print ()

  • print() – in chuỗi bên trong dấu ngoặc kép.
  • println()- in chuỗi bên trong dấu ngoặc kép giống như hàm print(). Sau đó con trỏ di chuyển đến đầu dòng tiếp theo.

Khi bạn sử dụng hàm println(), nó gọi hàm  System.out.println() trong nội bộ. ( Hàm System.out.println()được sử dụng để in output ra màn hình trong Java).

Nếu bạn đang sử dụng IntelliJ IDEA, hãy đặt con trỏ chuột bên cạnh hàm println và đi tới Navigate> Declaration (Phím tắt: Ctrl + B. Đối với Mac: Cmd + B ), thao tác này sẽ mở tệp Console.kt (tệp khai báo). Bạn có thể thấy hàm println() đang gọi nội bộ hàm System.out.println().

Tương tự, khi bạn sử dụng hàm print(), nó sẽ gọi hàm System.out.print().

Ví dụ 1: print () và println ()

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

fun main(args : Array<String>) {
    println("1. println ");
    println("2. println ");

    print("1. print ");
    print("2. print");
}

Khi bạn chạy chương trình, output sẽ là:

1. println 
2. println 
1. print 2. print

Ví dụ 2: In biến và chữ

fun main(args : Array<String>) {
    val score = 12.3

    println("score")
    println("$score")
    println("score = $score")
    println("${score + score}")
    println(12.3)
}

Khi bạn chạy chương trình, output sẽ là:

score
12.3
score = 12.3
24.6
12.3

3. Input trong Kotlin

Trong phần này, bạn sẽ học cách lấy input từ người dùng.

Để đọc một dòng chuỗi trong Kotlin, bạn có thể sử dụng hàm readline().

Ví dụ 3: Chuỗi in được import bởi người dùng

fun main(args: Array<String>) {
    print("Enter text: ")

    val stringInput = readLine()!!
    println("You entered: $stringInput")
}

Khi bạn chạy chương trình, output sẽ là:

Enter text: Hmm, interesting!
You entered: Hmm, interesting!

Có thể lấy input dưới dạng chuỗi bằng hàm readLine() và chuyển đổi nó thành giá trị của kiểu dữ liệu khác (như kiểu Int chẳng hạn).

Nếu bạn muốn có input của các kiểu dữ liệu khác, bạn có thể sử dụng đối tượng Scanner.

Vì thế, bạn cần import class  Scanner  từ thư viện chuẩn của Java bằng cách sử dụng:

import java.util.Scanner

Sau đó, bạn cần tạo đối tượng Scanner từ class  này.

val reader = Scanner(System.`in`)

Bây giờ, đối tượng reader được sử dụng để lấy input từ người dùng.

Ví dụ 4: Lấy input số nguyên từ người dùng

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

import java.util.Scanner

fun main(args: Array<String>) {

    // Creates an instance which takes input from standard input (keyboard)
    val reader = Scanner(System.`in`)
    print("Enter a number: ")

    // nextInt() reads the next integer from the keyboard
    var integer:Int = reader.nextInt()

    println("You entered: $integer")
}

Khi bạn chạy chương trình, output sẽ là:

Enter a number: -12
You entered: -12

Ở đây, đối tượng reader của class Scanner được tạo ra. Sau đó, hàm nextInt() được gọi và hàm này lấy input nguyên từ người dùng được lưu trữ trong biến integer.

Để có được input thuộc kiểu dữ liệu Long, Float, double và Boolean từ người sử dụng, bạn có thể sử dụng các hàm nextLong(), nextFloat(), nextDouble()và nextBoolean()  lần lượt tương ứng.

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!