初识Kotlin(一)——进阶日记

2017年Google就将Kotlin语言作为安卓开发的一级编程语言

作为一名Android开发者今日才初识Kotlin,略显惭愧....  /汗颜

      VS     

Kotlin是什么呢?

Kotlin 是一个用于现代多平台应用的静态编程语言

Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。

Kotlin相比于Java 又有什么优势呢?

Kotlin比Java更安全,能够静态检测常见的陷阱。如:引用空指针

Kotlin比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。

而且最主要的是 Kotlin实现了100% 和Java的兼容,所以日常完全可以满足Kotlin和Java混合开发的需求,这也给如小编这样的初学者以缓冲期。

不过相信通过系统的Kotlin学习,你也会喜欢上它优雅的语言特点。

一.Kotlin基础语法篇

初窥Kotlin发现它与Js的语法比较像哈....

1. 常量和变量以及常用关系

var 变量
val 常量
Kotlin句末不需要打分号 
Kotlin的非null值判断机制:

  1. Kotlin有两种类型:一个是非空引用类型,一个是可空引用类型。
  2. 对于可空引用,如果希望调用它的成员变量或者成员函数,直接调用会出现编译错误,有三种方法可以调用:
    a 在调用前,需要先检查,因为可能为null
    b 使用b?.length的形式调用,如果b为null,返回null,否则返回b.length
    c 使用b!!.length()的形式调用,如果b为null,抛出空指针异常,否则返回b.length。
    val  result = if (b != null) b.length else -1
    b?.length
    val result = b!!.length

    关于 ? 和 !! 在日常中有很多地方应用,暂且不表!不过通过对 ? 的应用,几乎可以避免 Java 中的 NullPointerException

2.方法和基本数据

Kotlin中用 fun 来定义方法:

//无参
fun 方法名(参数值:参数类型){
    方法体}

//有参数
fun 方法名(参数值:参数类型) : 返回值类型{
    方法体}

fun onCreate(savedInstanceState: Bundle?) {
    方法体}
fun add(x: Int, y: Int) : Int {
    return x + y}

3. 基本数据类型

相对于于Java中的8种基本类型,Kotlin中提供了6种基本数据类型来满足日常开发需求。

Double  64
Float   32
Long    64
Int     32
Short   16
Byte     8

字符类型(单独的一种类型) Char,eg :val i: Int = b 这样写是错误的,java中这样写是正确的;
布尔 Boolean
数组 Array
字符串 String 
Kotlin多加了一个支持三个引号的框起来的字符串,支持多行字符串

Kotlin目前可以支持数字下划线,如 val a:Int=2_520

4.Kotlin中的控制语句

4.1 for语句

kotlin:

for (i in 0..9) {

}
//遍历集合
var list = ArrayList<String>()
for (i in list.indices){
    var s = list[i]
}

Java:

for (int i = 0; i < 9; i++) {

}
//遍历集合
List<String> list = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
    String s = list.get(i);
}

4.2 选择语句

Kotlin:

var a = 0
var b = "模样"
when(a){
    0 -> b = "哭"               //简单的处理
    1 -> b = "笑"
    2 -> b = "皱眉"
    3 -> {                         //复杂的处理
        a ++
        b = "眨眼"
    }
}

Java:

int a = 0;
String b = "模样";
switch(a){
    case 0:
        b ="哭";
    break;
    case 1:
        b ="笑";
    break;
    case 2:
        b ="皱眉";
    break;
    case 3: 
        a++;
        b ="眨眼";
    break;
}

4.3 While语句

Kotlin 中的 while 循环语句 和 Java 中的基本相同!

4.4 区间表达式

for (i in 1..4) print(i)  // 输出“1234”  都是闭区间
也可以使用 递增行数 until 范围[n,m) 左臂右开区间
// 循环5次,步长为1的递增
  for (i in 0 until 5){     // for(i=0;i<5;i++)
    print("i => $i \t")
  }
对比以上2种,意思相同,区间不同

for (i in 4..1) print(i)  // 什么都不输出 相当于数学中的 >=4 且<=0
也可以使用downTo 范围[ n,m]
for (i in 5 downTo 0){ // for(i=5;i<0;i--) 输出   5 4 3 2 1 0
    print("$i")
}

步长关键字 step:

for (i in 10 until 16 step 2){ //  10 12 14 
    print(" $i") 
}

猜你喜欢

转载自blog.csdn.net/qq_40837613/article/details/83413752