第一节、基础

1、实现输出HelloWorld!

fun main(args: Array) {
    println("Hello world!")
}

输出:


image.png

2、基本数据类型(跟java相似,但是首字母全部需要大写)

fun main(args: Array) {
    var boolean:Boolean=true
    var byte:Byte=1
    var short:Short=30
    var int:Int=10
    var long:Long=20
    var char :Char='a'
    var double:Double=1.1234567
    var float:Float=1.123456f
    println(double)
}

输出:


image.png

3、基本数据类型调用方法

fun main(args: Array) {
    var a:Int=10
    var b:Int=a+10
    var hash:Int=a.hashCode()
    println(hash)
}

输出:


image.png

这儿有个需要注意的地方,就是a.hashCode(),在java中基本数据类型必须转换成包装数据类型才能使用,但是在kotlin中可以直接调用,我们看下这段kotlin代码对应的java代码的实现:


image.png

再点击Decompile
image.png

看下转换后的java代码核心部分:


image.png

4、基本数据类型取值范围
fun main(args: Array) {
    //Short类型取值范围
    var maxShort:Short = Short.MAX_VALUE
    var minShort:Short = Short.MIN_VALUE

    println("Short最大值${maxShort}")
    println("Short最小值${minShort}")

    var maxByte:Byte = Byte.MAX_VALUE
    var minByte:Byte = Byte.MIN_VALUE
    println("Byte最大值${maxByte}")
    println("Byte最小值${minByte}")

    var maxInt:Int = Int.MAX_VALUE
    var minInt:Int = Int.MIN_VALUE
    println("Int最大值${maxInt}")
    println("Int最小值${minInt}")

    var maxLong:Long = Long.MAX_VALUE
    var minLong:Long = Long.MIN_VALUE
    println("Long最大值${maxLong}")
    println("Long最小值${minLong}")

    var maxFloat:Float = Float.MAX_VALUE
    var minFloat:Float = -Float.MAX_VALUE//最小值
    println("Float最大值${maxFloat}")
    println("Float最小值${minFloat}")

    var maxDouble:Double = Double.MAX_VALUE
    var minDouble:Double = -Double.MAX_VALUE//最小值
    println("Double最大值${maxDouble}")
    println("Double最小值${minDouble}")
}

输出:


image.png
image.png

5、kotlin调用java(kotlin是可以直接调用java的)
模拟一个场景:我们去银行存钱,然后取钱

import java.math.BigDecimal

fun main(args: Array) {

    //去银行存钱
    var bigMoney:BigDecimal= BigDecimal("1.123456789123456789")
    //取钱
    println(bigMoney)
}

输出:


image.png

点进去看下BigDecimal的实现:其实是java


image.png

6、智能类型推断
kotlin是类型安全的语言,一旦类型确定了就不能修改了
image.png

7、类型转换
String类型转为Int


fun main(args: Array) {

   //String 转为Int类型
    var s="10"
    println(s.toInt())
    println(s.toByte())

}

输出:


image.png

Int 类型和Long类型转换
我们先看下在java中

public static void main(String[] args) {

        int a=10;
        long b=a;
        System.out.println(b);

        long c=10l;
        int d= (int) c;
        System.out.println(d);

    }

输出:


image.png

在kotlin中


image.png

正确的写法:

fun main(args: Array) {


    var a=10
    var b:Long=a.toLong()

    println(b)

    var c=10L
    var d:Int=c.toInt()
    println(d)


}

kotlin中的类型检查是非常严格的
8、可变变量与不可变变量
项目开发中尽量使用val 实在不能使用val再使用var


image.png

虽然不能重新赋值,但是可以通过反射手段重新设置值

你可能感兴趣的:(第一节、基础)