Kotlin 基礎 (一)

前言

val :聲明是個只可讀的變量,相當於 Java 中的 final 的變量。
var :聲明是個可變的變量,可更改為另一個值的變量

一、 Kotlin 數據類型

Kotlin 中所有的類型皆是對象

類型如下:

類型名稱Bit數據範圍
Boolean1只有 false or true
Byte8-128~127
Char16Unicode碼,用單引號賦值
Short16(-215) ~ (215-1)
Int32(-231) ~ (231-1)
Long64(-263) ~ (263-1)
Float323.4e-45~1.4e38
Double644.9e-324~1.8e308

示例 :

EX : 數字168

  • 二進制 :10101000
  • 十進制 :168
  • 十六進制 :A8
  • Long 數字後方要加上大寫 L :168L
  • Float 數字後方要加上大寫 F :168F

P.S. 若在使用 Int 或 Long 時,寫一長串數字通常不好辨認,可在數字中添加 _ 方便辨認,如:100_000。

Kotlin 的字符串提供很好的模板特性,方便字符串拼接及操作…等。

val str : String = "Hello"
val myName : String = "Ed"

val welcomeText = "$str $myName." //將會顯示 Hello Ed.

val curYear = 2018
val torromYear = "${curYear + 1 }" // 將會顯示 2019
二、控制流

基本上與 Java 中常用的相同,有 forwhile ,但 switchKotlin 中變為 when

  1. For 循環

使用 in 關鍵字來進行遍歷

for (value in 1..10) {
        print("\t$value")
    }
    /*將顯示 	1	2	3	4	5	6	7	8	9	10 */

遍歷過程若有需要步長使用 step 關鍵字

 for (value in 1..10 step 2) {
        print("\t$value")
    }
        /*將顯示		1	3	5	7	9 */

需要倒敘的話使用 downTo 關鍵字

for (value in 10 downTo  1) {
        print("\t$value")
    }
        /*將顯示		10	9	8	7	6	5	4	3	2	1*/

until 關鍵字是表示不包括末尾元素的值範圍

for (value in 1 until 10) {
        print("\t$value")
    }
     /*將顯示		1	2	3	4	5	6	7	8	9*/
  1. While 循環
    var value = 0
    while (value++ < 10) {
        print("\t$value")
    }
    /*將顯示 	1	2	3	4	5	6	7	8	9	10 */
  1. do … while 循環
    do {
        print("\t${++value}")
    } while (value < 10)
    /*將顯示 	1	2	3	4	5	6	7	8	9	10 */

小結一下:
for :適用於已知循環次數而使用
while:適用於未知循環次數而使用
do ... while:適用於會先執行循環內方法一次,再去判斷是否繼續進行循環

  1. If 表達式
    Kotlin 中的 if 是表達式,而 Java 是語句式
    簡單的理解就是表達式可以有回傳值,而語句式是沒有回傳值!
    val maxAge = 65 // 老年退休年紀
    var curAge = 23 // 當前年紀
    var showToast = ""

    println("當前年紀:$curAge 歲 ,退休年紀:$maxAge 歲") // 1

    // 一般作法
    if (curAge < maxAge)
        showToast = "繼續努力工作!"
    println(showToast) // 2

    if (curAge < maxAge) {
        showToast = "繼續努力工作!"
    } else {
        showToast = "老了就該好好享受!"
    }

    // Kotlin 中 if 是表達式,也就是可以有回傳值的
    showToast =
            if (curAge < maxAge){
                println("是要問我幾次!!") // 3
                "繼續努力工作!"
            }
            else
                "老了就該好好享受!"
    println(showToast) // 4
    
    /*將顯示
    當前年紀:23 歲 ,退休年紀:65 歲
    繼續努力工作!
    是要問我幾次!!
    繼續努力工作!*/
  1. When 表達式
    var math: Int = 85

    val level = when (math) {
        in 0..59 -> 'E'
        in 60..69 -> 'D'
        in 70..79 -> 'C'
        in 80..89 -> 'B'
        in 90..100 -> 'A'
        else -> {
            throw IllegalArgumentException() // 若 math 不屬於 0 .. 100 區間則拋出一個非法錯誤
    }
    println("數學 $math 分對應級別是 : $level")
    /*將顯示 數學 85 分對應級別是 : B */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值