今天初识Kotlin,感觉Kotlin就是后端攻城狮通往全栈之路的一盏明灯。Kotlin既可以写Web,还可以做桌面程序,安卓程序等等。17年,Google就宣布Kotlin为安卓开发的一级编程语言,阔别俩年才接触Kotlin,实在惭愧惭愧啊。 从今天开始,每天学习一点Kotlin,并记录学习内容。有兴趣的来和我一起从入门到放弃Kotlin吧!
PS:笔者文笔巨烂,菜鸟一枚,不喜勿喷!有错误的地方欢迎指正,大家共同进步!
一、环境安装
基础环境:Gradle、jdk
编辑器:IntellIj IDEA
- Gradle 不用多说,目前最热门的构建工具之一,Ant几乎销声匿迹、Maven也日薄西山,而Gradle的发展则如日中天。需要配置环境变量。
- jdk 笔者这里本地安装的是JDK1.8,需要配置环境变量。
- IntellIj IDEA 编辑器当然还是选本家的呢(Kotlin和IntellIj IDEA都是由JetBrains公司开发),毕竟血浓于水嘛
PS:Gradle作为构建工具,国外网址可能支持性不好,下载很慢!笔者用翻墙工具,你懂得。
二、你好,世界
学习新语言,当然要先撸个hello world,说干就干!
打开IntellIj IDEA,new一个Kotlin项目,新建一个Kotlin文件,写上
fun main(args:Array) { println("hello kotlin") }复制代码
右键运行该Kotlin文件,得到控制台运行情况:
打完收工!大功告成!可喜可贺!
三、基本的数据类型
Kotlin基本的数据类型有六种:
数据类型 | 位数 | 位宽度 | 取值范围 |
---|---|---|---|
Byte | 1位 | 8bit | -128~127 |
Short | 2位 | 16bit | -32768~32767 |
Int | 4位 | 32bit | -2147483648~2147483647 |
Long | 8位 | 64bit | -9223372036854775808~9223372036854775807 |
Float | 4位 | 32bit | 1.4E-45~3.4028235E38 |
Double | 8位 | 64bit | 4.9E-324~1.7976931348623157E308 |
- 十进制,与普通写法一般,如 1234
- Long型,在数字后面加L.==L必须大写==。如 1234L
- 十六进制,以0x开头。 如0xffffff
- 二进制表示则以0b打头,如 0b00001011
- 浮点数值若以f或F结束,则为Float类型,否则为Double
四、常量变量的定义
- Kotlin中定义常量与不可变变量(类似于Java final关键字修饰的变量)使用val关键字
val <标识符> : <类型> = <初始化值> val name = "like" //Kotlin会根据类型自动推断数据类型 val name:String = "like" //显示的指定数据类型复制代码 初始化值> 类型> 标识符>
val是定义常量,不可改变的,改变常量就会报错。
- 变量定义则使用关键字 var
var <标识符> : <类型> = <初始化值> var name = "like" //Kotlin会根据类型自动推断数据类型 var name:String = "like" //显示的指定数据类型复制代码 初始化值> 类型> 标识符>
五、布尔类型
布尔用Boolean类型表示,它有两个值:true 和 false。 Boolean内置的函数逻辑运算有:
fun booleanTest(a:Boolean,b:Boolean){ val and = a.and(b);//&& val or = a.or(b);// || var not = a.not();// ! var xor = a.or(b)// ^}复制代码
六、字符类型
有一点值得注意的地方,和 Java 不一样,Kotlin 中的 Char 不能直接和数字操作,Char 必需是单引号''包含起来的。比如普通字符 '0','a'。
如下写法会报错,4需要用单引号引起来:
- 特殊字符需用反斜杠转义。支持这几个转义序列:\t、 \b、\n、\r、'、"、\ 和 $。 编码其他字符要用 Unicode 转义。
- 可以使用toInt()将数字字符转化为数字
fun test(){ val a:Char = '1'; val b:Int = a.toInt() println(b) }复制代码
七、数组
Kotlin数组的创建方式有俩种:
- 使用arrayOf函数
- 使用工厂函数
控制台结果:
今天暂且学到这里,洗洗睡,明天继续,2019年的目标之一就是学会Kotlin,并能熟练的运用。