📜  Kotlin 标准输入/输出

📅  最后修改于: 2022-05-13 01:54:53.006000             🧑  作者: Mango

Kotlin 标准输入/输出

在本文中,我们将在这里讨论如何在 Kotlin 中接受输入以及如何在屏幕上显示输出。执行 Kotlin 标准 I/O 操作以将字节序列或字节流从输入设备(如键盘)流向系统的主内存,并从主内存流向输出设备(如监视器)。

在Java中,我们使用 System.out.println(message) 在屏幕上打印输出,但在 Kotlin 中 println(message) 用于打印。

Kotlin 输出 –

Kotlin 标准输出是将字节流从主存流向输出设备的基本操作。您可以在系统屏幕上输出任何数据类型整数、浮点数和任何模式或字符串。
您可以使用以下任一函数在屏幕上显示输出。

print() function 
println() function

这是用于标准输出的 Kotlin 程序。

Kotlin
fun main(args: Array)
{
    print("Hello, Geeks! ")
    println("This is Kotlin tutorial.")
}


Kotlin
fun main(args
         : Array)
{
    println("GeeksforGeeks")
    println("A Computer Science portal for Geeks")
 
    print("GeeksforGeeks - ")
    print("A Computer Science portal for Geeks")
}


Kotlin
fun sum(a: Int,b: Int) : Int{
    return a + b
}
fun main(args: Array){
 
    var a = 10
    var b = 20
    var c = 30L
    var marks = 40.4
 
    println("Sum of {$a} and {$b} is : ${sum(a,b)}")
    println("Long value is: $c")
    println("marks")
    println("$marks")
}


Kotlin
fun main(args : Array) {
    print("Enter text: ")
    var input = readLine()
    print("You entered: $input")
}


Kotlin
import java.util.Scanner
 
fun main(args: Array) {
     
    // create an object for scanner class
    val number1 = Scanner(System.`in`)      
    print("Enter an integer: ")
    // nextInt() method is used to take
    // next integer value and store in enteredNumber1 variable
    var enteredNumber1:Int = number1.nextInt()
    println("You entered: $enteredNumber1")
 
    val number2 = Scanner(System.`in`)
    print("Enter a float value: ")
 
    // nextFloat() method is used to take next
    // Float value and store in enteredNumber2 variable
    var enteredNumber2:Float = number2.nextFloat()
    println("You entered: $enteredNumber2")
 
    val booleanValue = Scanner(System.`in`)
    print("Enter a boolean: ")
    // nextBoolean() method is used to take
    // next boolean value and store in enteredBoolean variable
    var enteredBoolean:Boolean = booleanValue.nextBoolean()
    println("You entered: $enteredBoolean")
}


Kotlin
fun main(args: Array) {
 
    print("Enter an Integer value: ")
    val string1 = readLine()!! 
 
    // .toInt() function converts the string into Integer
    var integerValue: Int = string1.toInt()
    println("You entered: $integerValue")
 
    print("Enter a double value: ")
    val string2= readLine()!!
 
    // .toDouble() function converts the string into Double
    var doubleValue: Double = string2.toDouble()
    println("You entered: $doubleValue")
}


输出:

Hello, Geeks! This is Kotlin tutorial.

println() 和 print() 之间的区别 –
print()函数在双引号内打印消息。
println()函数打印双引号内的消息并移动到下一行的开头。

kotlin 程序打印字符串:

科特林

fun main(args
         : Array)
{
    println("GeeksforGeeks")
    println("A Computer Science portal for Geeks")
 
    print("GeeksforGeeks - ")
    print("A Computer Science portal for Geeks")
}

输出:

GeeksforGeeks
A Computer Science portal for Geeks
GeeksforGeeks - A Computer Science portal for Geeks

实际上 print() 内部调用 System.out.print() 和 println() 内部调用 System.out.println()。
如果您使用的是 Intellij IDEA,请单击 println 旁边的下一步,然后单击右键转到 > 声明。 (快捷方式:在窗口中按 Ctrl + B,在 Mac 中按 Cmd + B)。它将打开 Console.kt 文件,您可以看到它在内部调用了 System.out.println()。

打印字面量和变量——

科特林

fun sum(a: Int,b: Int) : Int{
    return a + b
}
fun main(args: Array){
 
    var a = 10
    var b = 20
    var c = 30L
    var marks = 40.4
 
    println("Sum of {$a} and {$b} is : ${sum(a,b)}")
    println("Long value is: $c")
    println("marks")
    println("$marks")
}

输出:

Sum of {10} and {20} is : 30
Long value is: 30
marks
40.4 

Kotlin 输入 -

Kotlin 标准输入是将字节流从键盘等输入设备流向系统主内存的基本操作。

您可以借助以下函数从用户那里获取输入:

readline() method
Scanner class

使用 readline() 方法从用户那里获取输入 -

科特林

fun main(args : Array) {
    print("Enter text: ")
    var input = readLine()
    print("You entered: $input")
}

输出:

Enter text: Hello, Geeks! You are learning how to take input using readline()
You entered: Hello, Geeks! You are learning how to take input using readline()

使用 Scanner 类从用户那里获取输入 -
如果您从 String 数据类型以外的用户获取输入,则需要使用 Scanner 类。要使用扫描仪,首先您必须在程序顶部导入扫描仪。

import java.util.Scanner;

为扫描仪类创建一个对象并使用它来获取用户的输入。在下面的程序中,我们将向您展示如何输入整数、浮点数和布尔数据类型。

科特林

import java.util.Scanner
 
fun main(args: Array) {
     
    // create an object for scanner class
    val number1 = Scanner(System.`in`)      
    print("Enter an integer: ")
    // nextInt() method is used to take
    // next integer value and store in enteredNumber1 variable
    var enteredNumber1:Int = number1.nextInt()
    println("You entered: $enteredNumber1")
 
    val number2 = Scanner(System.`in`)
    print("Enter a float value: ")
 
    // nextFloat() method is used to take next
    // Float value and store in enteredNumber2 variable
    var enteredNumber2:Float = number2.nextFloat()
    println("You entered: $enteredNumber2")
 
    val booleanValue = Scanner(System.`in`)
    print("Enter a boolean: ")
    // nextBoolean() method is used to take
    // next boolean value and store in enteredBoolean variable
    var enteredBoolean:Boolean = booleanValue.nextBoolean()
    println("You entered: $enteredBoolean")
}

输出:

Enter an integer: 123
You entered: 123
Enter a float value:  40.45
You entered: 40.45
Enter a boolean:  true
You entered: true

在不使用 Scanner 类的情况下从用户那里获取输入 -
在这里,我们将使用 readline() 从用户那里获取输入,而无需导入 Scanner 类。

读取线()!!将输入作为字符串并后跟 (!!) 以确保输入值不为空。

科特林

fun main(args: Array) {
 
    print("Enter an Integer value: ")
    val string1 = readLine()!! 
 
    // .toInt() function converts the string into Integer
    var integerValue: Int = string1.toInt()
    println("You entered: $integerValue")
 
    print("Enter a double value: ")
    val string2= readLine()!!
 
    // .toDouble() function converts the string into Double
    var doubleValue: Double = string2.toDouble()
    println("You entered: $doubleValue")
}

输出:

Enter an Integer value: 123
You entered: 123
Enter a double value:  22.22222
You entered: 22.22222