码迷,mamicode.com
首页 > 其他好文 > 详细

Kotlin的快速入门

时间:2019-08-29 15:50:09      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:equals   assign   ber   double   eclipse   otl   life   info   流程   

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 cant 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 }

 

Kotlin的快速入门

标签:equals   assign   ber   double   eclipse   otl   life   info   流程   

原文地址:https://www.cnblogs.com/zach0812/p/11428871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!