iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0

前面也曾經提過,輸入跟輸出也是程式很重要的一部分,不過我們今天教的是只在終端機介面輸出而已,其他的方法就有待你們自己去發掘了。

輸出與字串

輸出的話,我們已經學過了一個 println ,他的功能相信大家大概已經知道了,print + line,也就是輸出一行。

另外也有一個函式叫做print,他輸出之後不會換行喔。

fun main(){
	print("hello")
	println("hi")
}

比如上面這個程式碼,他的輸出會長下面這個樣子。

helloHi

不過輸出也不是那麼簡單,這個時候就要提到Kotlin的字串有一個很酷的語法。

字串簡單來說就是透過兩個雙引號刮住的一段文字,像這樣

"I love you"

不過Kotlin有一個很棒的方法,讓你可以把變數鑲嵌進字串裡面,用一個$符號就可以了。

var a:Int = 123
Var str:String = "your number is $a"

只要像這個樣子就可以將變數嵌入你的字串,換句話說你想要輸出一個變數只要:

var number:Int  = 123
println("your number: $a ")

輸入

在Kotlin的輸入,有非常多種方式,甚至包括你也可以去調用Java原本的scanner來用,不過在這裡,我們先學一個簡單暴力的叫做readLn()

使用方法如下

var a = readln()

他就會把一整行輸入作為字串存進我們的a裡面。

這裡我們可以再回憶上一篇的內容,如果我們希望可以得到一個是整數呢?

var a:Int = readln().toInt()
println(a)

(像這種 「資料.函式()」 的形式,我們有個特殊的名字叫做 方法 method,在後面的文章會更仔細的介紹喔,不過可以先注意一下,他其實是可以直接這樣串接在readln後面,那是因為readln就已經得到了一個字串,是拿這個字串去轉成int)

那如果今天的輸入是很多比資料在一行呢?

這裡我們可以使用字串的另一個method,叫做split(),他可以幫我們以特定字串做切割,只要放在split的括號內喔。

split 會幫我們把他切割成一個 List,一個類似於字串陣列的東西,所以我們會可以用迴圈來取得他的資料(陣列迴圈也是之後才會教的內容喔~~)

fun main(){
    var a = readln().split(" ")
    println(a)
    for(i in 0..a.size-1){
        println(a[i])
    }
}

ps. 雖然其他的教學可能會教你使用readline()來輸入,不過那會需要教到空值相關的問題,這個雖然是Kotlin特色而且很棒的特性,不過這裡我就懶得教了)

課堂練習~

輸出「Hi my name is XXX, i‘m XXX years old.」,結尾要換行,XXX的部分請用變數先存起來。


上一篇
[Day07][語法]變數宣告
下一篇
[Day09][語法]運算
系列文
櫛風風的「完全不會寫程式,從零開始的 Kotlin 教學」30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言