Kotlin 快速入门:
Kotlin 的 Hello World :
#hellokotlin.kt
fun main(args:Array<String>){
println("hello kotlin!");
}
Kotlin 的 变量和常量 :
1 // eclipse 中运行的快捷键是 ctrl + f11
2 fun main(args:Array<String>){
3 var i = 18; //变量
4 println(i);
5
6 val number = "No.123456"; //Val is can't be reassigned! //不能再被修改了
7
8 println(number);
9 // number = "No.159"; //此时不可以再被修改了
Kotlin的 常见容器的类型:

1 // eclipse 中运行的快捷键是 ctrl + f11
2 fun main(args:Array<String>){
3
4 var i = 18; //这时是自动推断类型
5
6 var j:Int = 20; //显式指定j 的类型为Int
7 }
常见数据类型的取值范围:
1 fun main(args:Array<String>){
2 //Byte 的取值范围
3 println(Byte.MAX_VALUE)
4 println(Byte.MIN_VALUE)
5
6 //Short 的取值范围
7 println(Short.MAX_VALUE)
8 println(Short.MIN_VALUE)
9
10 //Int 的取值范围
11 println(Int.MAX_VALUE)
12 println(Int.MIN_VALUE)
13
14 //Long 的取值范围
15 println(Long.MAX_VALUE)
16 println(Long.MIN_VALUE)
17 }
Kotlin的函数:
一些常见的函数:
(1)main函数:
它是默认执行的第一个程序,
1 fun main(args:Array<String>){
2 /*
3 * 代码
4 * */
5 }
(2)println() 函数:
它的作用是向控制台打印括号内的内容。
自定义函数:
1 fun main(args:Array<String>):Unit{
2 var a = 10
3 var b = 5
4 println(plus(a,b))
5 println(sub(a,b))
6 println(mul(a,b))
7 println(div(a,b))
8 }
9 fun plus(a:Int,b:Int):Int{
10 return a+b
11 }
12 fun sub(a:Int,b:Int):Int{
13 return a-b
14 }
15 fun mul(a: Int,b: Int):Int{
16 return a*b
17 }
18 fun div(a: Int,b:Int):Int{
19 return a/b
20 }
Kotlin的boolean:
true 表示真, false 表示假。
1 fun main(args:Array<String>){
2 var num1 = Math.sqrt(5.0) -Math.sqrt(4.0)
3 var num2 = Math.sqrt(4.0) - Math.sqrt(3.0)
4
5 print(num1>num2) //false
6 }
1 fun main(args:Array<String>){
2 var num1 = Math.pow(2.0,100.0) //注:类型要是double
3 var num2 = Math.pow(3.0,75.0)
4
5 print(num1>num2) //false
6 }
Kotlin 的字符串模板:
1 fun main() {
2 test()
3 }
4 fun test(){
5 var name = "Guido"
6 var a = "Life is short,I learn Python! ---${name}" //${}
7 println(a)
8 }
Kotlin 的if else 流程控制:
1 fun test(){
2 var a = 5
3 var b = 10
4 if (a>b){
5 println("a比b大")
6 }else{
7 println("b比a大")
8 }
9 }
1 fun main() {
2 test()
3 }
4 fun test(){
5 var a = 5
6 var b = 10
7 if (a>b){
8 println("a比b大")
9 }else if(a==b){
10 println("a与b相同")
11 }
12 else{
13 println("b比a大")
14 }
15 }
Kotlin 的字符串比较:
1 fun main() {
2 test()
3 }
4 fun test(){
5 var str1 = "tom"
6 var str2 = "tom"
7
8 println(str1 == str2) //true
9 println(str1.equals(str2))//true
10
11 var str3 = "Jack"
12 var str4 = "jack"
13 println(str3.equals(str4,true)) //true 表示忽略大小写
14 println(str3.equals(str4,false)) //true 表示忽略大小写
15
16
17 }
Kotlin 的空值处理:
null 也是值,它表示没有东西,没有数据。
1 fun test(str:String):String{
2 return "Hello "+str
3 }
4
5 fun main(){
6 var ret = test("Python")
7 println(ret)
8 //上面是正常的
9 // var ret1 = test(null) // 直接就报错了
10 }
1 fun test(str:String?):String{
2 return "Hello "+str
3 }
4
5 fun main(){
6 //如果一定要传null 的话
7 //可以在形参的后面加个?
8 var ret = test(null)
9 println(ret) //Hello null
10 }
Kotlin 的When表达式:
类似于c/java 中的switch 语句
1 fun test1(score:Int){
2 when(score){
3 10 -> println("满分")
4 9 -> println("优秀")
5 8 -> println("优秀")
6 7 -> println("还可以")
7 6 -> println("及格")
8 else -> println("不及格")
9 }
10 }
11 fun test(){
12 test1(9)
13 }
14
15 fun main(){
16 test()
17 }
Kotlin 的Loop 和Range :
1 fun test1(){
2 ////////////////////////全闭区间/////////////////////////////
3 // var nums = 1 .. 100 //[1-100]
4 // for (num in nums ){
5 // print("${num}, ")
6 // }
7 ////////////////////////全闭区间/////////////////////////////
8 ////////////////////////左闭右开区间/////////////////////////////
9 // var nums = 1 until 100 //[1-100)
10 // for (num in nums ){
11 // print("${num}, ")
12 // }
13 ////////////////////////左闭右开区间/////////////////////////////
14 ////////////////////////设置步长/////////////////////////////
15 // var nums = 1 ..16
16 // for(num in nums step 2){
17 // print("${num}, ")
18 // }
19 ////////////////////////设置步长/////////////////////////////
20 ////////////////////////序列常用的方法/////////////////////////////
21 // var nums = 1 .. 16
22 // var nums2 = nums.reversed()
23 // println(nums2) //16 downTo 1 step 1
24 // for (num in nums2 ){
25 // print("${num}, ") //16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
26 // }
27 // println(nums.count()) // 总数为: 16
28 ////////////////////////序列常用的方法/////////////////////////////
29
30 }
31 fun test(){
32 test1()
33 }
34
35 fun main(){
36 test()
37 }
Kotlin 的List和Map:
List: 类似于Python 中的列表
1 fun test1(){
2 var lists = listOf<String>("hello","world","python","life")
3 // println(lists) [hello, world, python, life]
4
5 // for(list in lists){
6 // println(list)
7 // }
8
9 for((idx,value) in lists.withIndex()){ //可以将索引也打印出来
10 println("$idx $value")
11 // println("${idx} ${value}")
12 }
13
14 }
15 fun test(){
16 test1()
17 }
18
19 fun main(){
20 test()
21 }
map :类似Python 中的字典
1 import java.util.TreeMap
2 fun test1(){
3 var map = TreeMap<String,Int>() //要从 java.util.TreeMap
4 map["tom"] = 10
5 map["jane"] = 20
6 map["jack"] = 30
7 map["john"] = 40
8
9 println(map) //{jack=30, jane=20, john=40, tom=10}
10 for((key,value) in map){
11 println("Nmae: $key\tAge: $value")
12 }
13 }
14 fun test(){
15 test1()
16 }
17
18 fun main(){
19 test()
20 }