Kt學習筆記(一) 語法基礎

一、基本語法

1、1 定義變量
  • 在Kotlin中 數據類型要放在變量後面,並且用冒號(:)分割

  • 定義變量用var,常量用val

  • 在kotlin中,數據類型都以大寫字母開頭

  • 在定義變量時未進行初始化,必須指定數據類型,在定義變量時進行初始化, 可以不指定數據類型

var n: Int = 30;  //定義變量
var ok: Int;  //定義一個變量, 沒有進行初始化
val m: Int = 20;  //定義一個常量 不需要設置m
ok = 40;  // 對變量賦值
// m = 40;  編譯出錯 var  cannot be reassigned
var k = 100;  //自動推導變量k的數據

1、2 定義方法
  • 1、必須包含fun關鍵字,函數名
  • 2、如果函數有返回值,返回值類型在函數定義部門末尾指定,與函數用(:)分開
  • 3、如果沒有返回值,可以返回Unit,也可以什麼都不返回
fun add(m : Int ,n : Int):Int
{
    return m + n
}
fun process(m: Int):Unit
{
    print(m)
}

1、3 註解的使用
fun zhushi()
{
    //單行註釋
    /*
       塊註釋
            */
    /**
     hello
        /* World*/
            這是一個嵌套註釋
     */
}

二、基本數據類型

2、1數據類型

在這裏插入圖片描述

var price: Double = 12.4
  var flag: Boolean = true
  var v1: Int = 100
  var v2: Double = 20.2
  var m = 20
  var n: Byte = 20
  //   m = n  編譯報錯 Type mismatch 無法將byte轉換爲int
  var x : Long  = 20
  val value : Short = 20

Kt 數據類型之間的轉換

/**
   Kt數據類型之間的轉換
   toByte()
   toShort()
   toInt()
   toLong()
   toFloat()
   toDouble()
   toChar()
   */
  m = n.toInt();
  x = value.toLong();

2、2 字符類型
/**
     1、Kt中字符不能看作是數字
     2、字符用單引號
     */
    var c : Char = 'h'
    /**
     Kt支持反斜槓(\)轉義符
     \t : 製表符
     \b : 退格符
     \n : 換行符
     \r : 回車符
     \' : 單引號
     \" : 雙引號
     \\ : 反斜槓
     */
}
fun decimalDigitVale(c : Char) : Int
{
    if( c !in '0' ..'9'){
        throw  IllegalArgumentException("Out of range")
    }
    //將指定字符轉化爲對應的ASCII  然後減去0對應的ASCII
    return c.toInt() - '0'.toInt();
}

2、3 Boolean類型
fun testBool()
    {
        var flag1 : Boolean = true
        var flag2 : Boolean = false;
       	print( !flag2)  //進行邏輯非 操作
        print( flag1 || flag2)  //進行邏輯或 操作
        print(flag1 && flag2)  //進行邏輯與 操作
    }

2、4 數組
// 1、使用arrayOf函數定義可以存儲任意值的數組

    var arr1 = arrayOf(1,2,3,'a')
    print(arr1[3])

    arr1[2] = 'b'  //對數組元素賦值
    print(arr1[2])

    //2、使用arrayOfNulls函數定義指定長度的空數組(數組元素中沒有值)
    var arr2 = arrayOfNulls<Int>(10)
    print("arr2的長度:"+arr2.size)


    //3、使用Array類的構造器指定數組長度和初始化數據的方式定義數組
    //使用Array類的構造器定義數組  其中第二個參數是指初始化每一個元素的值
    val arr3 = Array(10,{i -> (i * i).toString()})

    //4、使用intArrayOf,shortArrayOf等函數定義指定類型的數組,並初始化
    var arr4 : IntArray = intArrayOf(20,30,40,50)
    print("arr4[2] = " + arr4[2])
2、5 字符串

在Kt中 使用String表示字符串類型,有兩類字符串

-》 普通字符串 可以在字符串中加上轉義符,如 \n ,會讓轉義符後面的字符串換到下一行,這種字符串需要放在雙引號中

-》 保留原始格式的字符串,不能使用字符串,如果字符串中帶有格式,如換行,直接寫在字符串中,這種字符串需要放在3個引號對中

//第一類字符串
var s1 = " hello \n world"
val  s2 = "你好 \n  世界"
println(s1)
println(s2)
//第二種字符串  保留原有格式
var s3 = """"
        Hello
            World
                I  LOVE  U
        """
println(s3)

在這裏插入圖片描述

2、6 字符串模板

字符串模版: 在字符串中添加若干個佔位符,內容會在後期指定

模板使用美元符號($)設置,如"i = i"i"中的i就是一個佔位符,其中$後面的i是變量,隨着i的變化,"i = $i"中的值也隨着變化

val i = 10
    val s1 = "i = $i"
    println(s1)

    var s2  = "abc"
    val  str  = "$s2 的長度是 ${ s2.length}"

    println(str)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章