Kotlin 基本语法实例详解
基本语法示例
实例代码:
packagecom.stone.basic.syntax /** *desc: *author:stone *email:aa86799@163.com *time:27/05/20171101 */ classBasicSyntax{ //FunctionhavingtwoIntparameterswithIntreturntype: publicfunsum(a:Int,b:Int):Int{//访问修饰符省略时,默认为public returna+b } //FunctionhavingthreeIntparameterswithIntreturntype: funsum(a:Int,b:Int,c:Int)=a+b+c //Functionreturningnomeaningfulvalue: funprintSum(a:Int,b:Int):Unit{//Unit为无类型,类似java中的void,可以省略 println("sumof"+a+"and"+b+"is${a+b}") println("sumof$aand$bis${a+b}")//在双引号中直接用$符操作变量与上句等价 } funassignVarible(){ vala:Int=1//immediateassignmentval=本地只读变量即不可变immutable valb=2//`Int`typeisinferred自动类型推断 valc:Int//Typerequiredwhennoinitializerisprovided c=3//deferredassignment varx=1//Mutablevariable: x++ vals1="xis$x"//simplenameintemplate: vals2="${s1.replace("is","was")},butnowis$x"//arbitraryexpressionintemplate: println(s2) } funmaxOf(a:Int,b:Int):Int{ //returna>b?a:b;//原java中的三目运算符不可用 if(a>b)returna elsereturnb } //funmaxOf(a:Int,b:Int):Int funminOf(a:Int,b:Int):Int=if(a0) returnobj.length returnnull } //Usingaforloop funforeachItems(){ //valitems=listOf("apple","banana","kiwi") valitems=listOf("apple","banana","kiwi") for(iteminitems){//inoperator println("itemis$item") } for(indexinitems.indices){//indices索引type:Collection //println("itemat$indexis${items.get(index)}") println("itemat$indexis${items[index]}")//使用[index]而不用.get(index) } } //Usingwhenexpression fundescribe(obj:Any):String= when(obj){//when中必须有一个else 1->"One" "Hello"->"Greeting" isLong->"Long" !isString->"notastring" else->"Unknown" } //Usingranges如果在if中check的是一个数值,且使用了inoperator funrange(){ valx=10;valy=9//同一行中使用;来分隔 if(xin1..y+1){//使用..来表示范围最后转换成xin1..10 //if(xin(1..(y+1))){//如此解释执行顺序没问题最后转换成xin1..10 //if(xin((1..y)+1)){如此解释执行顺序不行最后转换成xin10 println("fitsinrange") } for(xin1..5){//include5 } for(xin1..10step2){//x+=2xisin{1,3,5,7,9} println("rang1..10step2:$x") } for(xin9downTo0step3){//x=9,x>=0x-=3 println("xin9downTo0step3:$x") } for(xin0until10step2){//until10:notinclude10 println("xin1until10:$x") } } //Checkingifacollectioncontainsanobjectusinginoperator: funcontains(){ vallist=listOf("a1","a2","a3")//不可变list when{//匹配到一个条件其它就不再匹配 "a4"inlist->println("壹") "a5"inlist->println(list.size) "a3"inlist->println("theindexis${list.indexOf("a3")}") } } //Usinglambdaexpressionstofilterandmapcollections: funcollectionsLambda(){ //vallist=mutableListOf ()//可变list //for(iin1..10){ //list.add(i) // //} vallist=(1..10).toList()//上面的简写 list.filter{it%2==0}.map{it*3}.forEach(::println) //list.filter{it%2==0}.map{it*3}.forEach{println("itemis$it")} } } funmain(args:Array ){ varbase=BasicSyntax() base.printSum(10,20) base.assignVarible() varmin=base.minOf(10,20) println("minnumberis$min") base.getBaseSyntax(null) base.printProduct("1","kk") base.printProduct("33","66") println(null)//直接输出了null字符串 base.foreachItems() println(base.describe(2)) base.range() base.contains() base.collectionsLambda() }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!