Kotlin零基础学习 变量 常量 和类型推断
一. Kotlin介绍
Kotlin 语言是JetBrain公司出版,可以说学好Kotlin就是全栈工程师,Kotlin支持WEB 前端,WEB后端,Android 移动端,Service脚本,桌面游戏等开发,而且Kotlin已经成为Android移动端开发的官方指定编程语言,对于Android 开发的小伙伴,目前学习Kotlin是个刻不容缓的任务,虽然现在Kotlin 的语言使用量还不是特别多,但是从2012年到目前为止一直是一个上升的趋势。
![](https://img.haomeiwen.com/i9164201/1a51460a3a90a0e0.png)
二.Kotiln函数写法
Android Studio 3.2.1 版本可以直接创建Kotlin文件
![](https://img.haomeiwen.com/i9164201/e99b784729656fad.png)
![](https://img.haomeiwen.com/i9164201/280b3b9d536eba5a.png)
对照main函数看
![](https://img.haomeiwen.com/i9164201/c9b672d3b2d2472d.png)
无返回值可以不写
//1.fun函数声明
fun aa(aa: String, bb: Int) {
LogUtil.d("打印" + aa);
}
三.Kotlin常见存储类型
Kotlin的存储类型和Java 差不多,但是没有char
![](https://img.haomeiwen.com/i9164201/f7da417532c438bd.png)
//2.变量的声明和使用
fun bb(){
var name="张三";//计算机给我一个存储空间,空间名字叫name。里面放张三,这个空间存放的是字符串类型
}
三.Kotlin类型推断
相信从上面的代码都看出来了,我们写一个变量没有指定类型只用是var 修饰,但是计算机却可以知道他的类型,这就是Kotlin智能的地方,智能类型推断
![](https://img.haomeiwen.com/i9164201/526a38fe1d102702.png)
我们把name 修改成了一个int 类型,编译器报错,提示int类型不能转成String ,但是如果我们重新声明一个变量就没有问题了。
四.Kotlin显示存储类型
如果我们已经知道了变量的类型,想在写的过程中指定类型就可以在变量后面指定类型例如:
//4.显示存储类型
fun ee(){
var name:String ="字符串";
var number:Int =123;
var numnerLong:Long=999999999999999999;
}
智能类型推断是根据=后面的内容进行推断,如果我们不写=后内容就会报错
![](https://img.haomeiwen.com/i9164201/2727bb936fe5c2bc.png)
提示这个变量必须有一个类型或者有初始值,所以当我们写一个变量没有初始值的时候可以这么写
//5.智能数据类型推断是根据=后面的类型推断的
var valuesBean:String
五.Kotlin中不可修改变量
如果我们声明的变量不希望被修改,就先java中的final一样,我们就可以用val修饰
![](https://img.haomeiwen.com/i9164201/33d211c14b112cf5.png)
用val修饰的变量number 在后面被修改编译器报错提示“val变量不能被重新定义”
六.变量接受二进制的值
kotlin中接受数字类型的变量也能够接受二进制的值,写法就是内容值前面用0b开头,b代表Byte,例如:
//6.Int 接受二进制的值
fun gg() {
var number: Int = 3
var number1: Byte = 0b0011
var number2: Int = 0b0011
var number3: Long = 0b0011
var number4: Short = 0b0011
}
0b0011 代表的是3
总结:
1.Kotlin的变量声明和Java 不太一样,Java没有类型推断在声明的过程中一定要指定变量的类型,但是Kotlin中在声明中要赋予初始值或者指定类型,其实大同小异,就是在初始化时要确定变量的类型。
2.Kotlin中的变量类型都是首字母都是大写,像Int、Byte、Long Short、Float ,而Java 基本数据类型都是小写 int、 byte、 long、 short 、float ,但是他们的包装类首字母是大写。
3.Kotlin的函数声明用fun 并且参数名字写在前面类型写在后面,有“:”分割,而java 是类型指定在前,参数名在后.
Kotlin: name: String
Java: String name
一句话:Kotlin中 类型都在变量名后 value:String
4.Kotlin 声明常量用val ,java用final。
5.Kotlin语句后面可以不加“;”。