小白成长记(三) —— Kotlin基础语法

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。虽然时隔一年但是我们现在学习还不算太迟.

一丶声明变量

一次赋值(只读)的局部变量:  var: 任意类型  val: 常量

val a: Int = 1  // 立即赋值
val b = 2   // 自动推断出 `Int` 类型
val c: Int  // 如果没有初始值类型不能省略
c = 3 
/*******************************************************/
var x = 5 // 自动推断出 `Int` 类型
x += 1

 二丶方法

 override: 父类方法/ fun: 方法声明 /?表示可能为空 / 无返回值  (Unit 返回值的函数,如果一个参数没有指定返回值类型,则这个函数的返回值类型是 Unit 的,当然你也可以显式的指定返回类型为任何类型)

//有返回值
fun sum(a: Int,b: Int): Int{
    retrun a + b
}
//等同于
fun sum(a: Int,b: Int) = a + b

//
fun maxOf(a: Int, b: Int): Int {
    if (a > b) {
        return a
    } else {
        return b
    }
}
//等同于
fun maxOf(a: Int, b: Int) = if (a > b) a else b
//慢慢消化吧~

//Unit 可以理解成java方法中的void关键字

fun printSum(a: Int, b: Int): Unit {
    println("sum of $a and $b is ${a + b}")
}
//Unit 返回类型可以省略:
fun printSum(a: Int, b: Int) {
    println("sum of $a and $b is ${a + b}")
}

 三丶继承 

  • 参数继承  view instanceof Button to view is Button
  • class继承 class MainActivity : AppCompatActivity(){}

四丶修饰符 

  • abstract //抽象类标示
  • final //标示类不可继承,默认属性
  • enum //标示类为枚举
  • open //类可继承,类默认是final的
  • annotation //注解类
  • private //仅在同一个文件中可见
  • protected //同一个文件中或子类可见,不可修饰类
  • public //所有调用的地方都可见
  • internal //同一个模块中可见,若类不加修饰符,则默认为该修饰符,作用域为同一个应用的所有模块,起保护作用,防止模块外被调用。

 五丶实体类

  • 注意:全局变量一定得初始化,而局部变量可以不初始化,这是和java不同的地方
//class有构造参数时
class PersonA(a: Int,b:String){
    var id = 0
    var name = ""
}
var p = PersonA(2,"helloWorld")

//class无构造参数时
class PersonB{
    var id = 0
    var name = ""
}
var p = PersonB()
p.id = 2
p.name = "helloWorld"

 六丶静态块companion object

class A() {
companion object {
      val TAG_SIZE = 100
  }
}
//使用:
var i = A.TAG_SIZE

//等价于 java中的静态常量static

七丶智能字符串 

  • java:

println("---size:"+list.size());

  • kotlin:

print("---size: ${list.size},first: ${list[0]}")

var i: Int = 1
var s: String = "helloWorld:$i"

//值为  helloWorld:1

八丶范围判断 

  • java  if(a >= 3 && a<= b){ int i='a'}
  • kotlin: 是两个.来表示范围  
if(c !in 'a'..'z'){
    var i: Int = 'a'.toInt()    
}

更多详细语法基础请参考  kotlin中文官网:https://www.kotlincn.net/

附加kotlin for android 的开发中文版  https://download.csdn.net/download/yf1252555020/10664563

猜你喜欢

转载自blog.csdn.net/yf1252555020/article/details/82687632