天天看點

淺談Kotlin(二):基本類型、基本文法、代碼風格

淺談Kotlin(一):簡介及Android Studio中配置 淺談Kotlin(二):基本類型、基本文法、代碼風格 淺談Kotlin(三):類 淺談Kotlin(四):控制流

通過上面的文章,在Android Studio中我們已經可以進行Kotlin程式設計了,接下來開始學習Kotlin的基本類型及文法。

一、基本類型

  在 Kotlin 中,所有變量的成員方法和屬性都是一個對象。

  一些類型是内建的,它們的實作是優化過的,但對使用者來說它們就像普通的類一樣。

  

淺談Kotlin(二):基本類型、基本文法、代碼風格

   

注意,第一個字母大寫,Kotlin 區分大小寫

主要是以下幾種字面值常量:

--數型: 

123

 --長整型要加大寫 

L

 : 

123L

 --16進制:

0x0f

 --二進制:

0b00001011

注意不支援8進制

  Kotlin 也支援傳統的浮點數表示:

-- 預設 Doubles : 

123.5

 , 

123.5e10

 -- Floats 要添加 

f

 或 

F

 :123.5f

 二、基本文法

  知道了Kotlin支援哪些基本類型。下面開始了解基本文法。

  1、Kotlin定義聲明一個屬性的兩種寫法

    · var : 變量

    · val  : 常量

    注意:不管定義常量(val)還是變量(var) 都必須要給定一個值。

    聲明變量/常量的文法為 :  var  age : Int = 1;

                  val name : String = "Alice" ;

                                常量(val)/變量(var) 屬性名 : 類型 = 初始值 ;

     Kotlin還提供一種寫法 var age = 1; 

     發現省去了 : Int 即 聲明這個屬性是什麼類型的,也能編譯通過,這就是Kotlin的特點,自動推導出該值是什麼類型。

    

淺談Kotlin(二):基本類型、基本文法、代碼風格

  都沒有報錯。

    ①、變量var的文法

    很奇怪java中 變量 并不要求要初始值,我們看下Kotlin中 不給一個變量初始化會發生什麼。

淺談Kotlin(二):基本類型、基本文法、代碼風格

    結果是報錯:提示需要添加一個初始值。

    選中" Add initializer" 之後 會發現系統給我們一個初始值 0 。

    看一下上述6種基本類型 系統給定的初始值:

淺談Kotlin(二):基本類型、基本文法、代碼風格

    ②、常量val的文法:

    聲明常量的時候和變量一樣也需要提供一個初始值,并且這個值是之後無法修改的。  

淺談Kotlin(二):基本類型、基本文法、代碼風格

    上面可以看到,定義了一個Int類型的常量age ,值為1。 

    後續代碼中對age常量進行指派修改,提示 讓 age這個常量 作為 變量類型。選中會發現 val age:Int = 1 --> var age:Int =1;

淺談Kotlin(二):基本類型、基本文法、代碼風格

    綜上:val聲明常量和java中final使用一緻,var聲明變量必須要給定一個初始值。

  2、Kotlin注釋規範

     與java一緻

     ①、  單行注釋  

        

淺談Kotlin(二):基本類型、基本文法、代碼風格

      ②、塊級注釋

淺談Kotlin(二):基本類型、基本文法、代碼風格

  3、kotlin定義一個方法/函數

     基本格式:

     fun 方法名(參數名 : 類型 ,參數名 : 類型 ...) : 傳回類型{

     }

     舉例:定義一個方法,傳入兩個類型Int的參數,計算參數之和,傳回Int類型的結果。

override fun onCreate(savedInstanceState: Bundle?) {      
super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_ktest)
    var result : Int = sum(10,20) ;
}

/**
 * 計算兩個Int類型的和并傳回
 */
fun sum(a: Int , b: Int) : Int{     
    return a + b
}      

     注意點:方法中的參數不需要加var 

     

淺談Kotlin(二):基本類型、基本文法、代碼風格

        看到這,大家也應該會建立基本的方法了。但是有個疑惑,如果一個方法不需要傳回值呢,類似于Java中的 void

      Kitlin是用Unit處理的,可以看到,sum方法沒有傳回值, 調用的時候

淺談Kotlin(二):基本類型、基本文法、代碼風格

 寫法是錯誤的,無法将一個無傳回值的方法轉為某一個類型。

      正确寫法如下:  

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_ktest)
    var a = sumA(10,20) ;
}      
  /** * 計算兩個Int類型的和并傳回 */ 
  fun sum(a: Int, b: Int): Unit {
   //不做處理 
  }
      
  //如果無傳回值,Unit也可以省略      
  fun sumA(a:Int , b:Int) {   
      //不做處理
  }      

     

  

 三、代碼風格

  1、命名風格

--使用駱駝命名法(在命名中避免下劃線)
--類型名稱首字母大寫
--方法和屬性首字母小寫
--縮進用四個空格
--public 方法要寫說明文檔,這樣它就可以出現在 Kotllin Doc 中

    

  2、Unit

     如果函數傳回 Unit ,傳回類型應該省略:

          

繼續閱讀