❤️ Author: 老九
☕️ 个人博客:老九的CSDN博客
🙏 个人名言:不可控之事 乐观面对
😍 系列专栏:kotlin急速通关
文章目录
kotlin的空检测机制
- 需要加上问号
class NullStudy{var info:String=""}funmain(args: Array<String>){var name:String ?=null//todo:第一种补助措施
name?.length
println(name)//todo:无论是不是null都执行
name!!.length
//todo:if条件if(name !=null){
name.length
}}
val,var类型
- val是可读不可改的类型
- var是可读可改
- 尽量使用val,如果此变量后续需要更改,使用var
funmain(args: Array<String>){val name:String ="Derry"// name="Derry2"println("name:$name")var sex:Char="c"
sex='A'println("sex:$sex")}
类型推断
- kotlin是静态语言(编译期就确定了类型)
funmain(args: Array<String>){// val name:String="Derry"// val info:String ="woshizhu"val name="Derry"val info="woshizhu"val sex ='c'val age =35}
kotlin函数(函数)
- kotlin中函数可以写在类里面,也可以写在类外面
funmain(){method01(99,"lisi")}//函数默认public//其实kotlin的函数,更规范,先有输入,再有输出privatefunmethod01(age: Int,name:String):Unit{println("你的姓名是:${name},你的年龄是:${age}")}
//Unit类型 == java中的void类型funadd(number1:Int,number2:Int):Int{return number1+number2;}//返回值类型推断//如果不知道结果是什么类型,可以直接写=funadd2(number1:Int,number2:Int)=number1+number2
funadd3(number1:Int,number2:Int)=number1+number2.toDouble()
kotlin第一个程序
funmain(){println("helloworld")//TODO 声明变量var name : String ="lmp"
name ="Lance"println(name)}
数据类型
String 字符串
Char 字符
Boolean true/false
Int 整型
Double 小数
List 集合
Set 无重复的元素集合
Map 键值对的集合
编译时常量
- 只能写在方法外面,如果定义在函数之内,就必须在运行时才能调用函数赋值,何来编译时常量一说
//定义编译时常量constval PI=3.14funmain(){// const var PI = 45}
range表达式(in)
funmain(){val number =148//左闭右闭// range 范围从哪里 到哪里if(number in10..59){println("不及格")}elseif(number in0..9){println("不及格并且分数很差")}elseif(number in60..100){println("及格")}elseif(number !in0..100){println("分数不在0到100范围内")}}
when表达式
funmain(){val week =6//Any == Objectval info =when(week){1->"今天是星期一,非常忙碌的一天开会"2->"今天是星期二,非常忙碌的一天开会"3->"今天是星期三,非常忙碌的一天开会"4->"今天是星期四,非常忙碌的一天开会"5->"今天是星期五,非常忙碌的一天开会"6->"今天是星期六,非常忙碌的一天开会"7->"今天是星期七,非常忙碌的一天开会"else->{println("养猪去了")}}println(info)}
String 模板
funmain(){val garden ="黄石公园"val time =6;println("今天天气很晴朗,去${garden}玩,玩了${time}小时")//KT的if是表达式,所以可以更灵活,java的if是语句val isLogin =trueprintln("server response result:${if(isLogin)"恭喜你,登陆成功√"else"不恭喜你,登录失败"}")}
函数参数的默认参数
funmain(){action01("list",89)action02("lsit")action03()}privatefunaction01(name:String,age:Int){println("$name,$age")}privatefunaction02(name:String,age:Int =77){println("$name,$age")}privatefunaction03(name:String="王五",age:Int =77){println("$name,$age")}
具名函数参数
funmain(){loginAction(age=99,userpwd="1233",username ="de",phonenumber ="1123456")}privatefunloginAction(username:String,userpwd:String,phonenumber:String,age:Int){println("${username},${userpwd},${phonenumber},${age}")}
Nothing类型特点
funmain(){show(-1)}privatefunshow(number:Int){when(number){//TODO()这个就像抛出异常一样-1->TODO("没有这种分数")in0..59->println("分数不及格")in60..70->println("分数及格")in71..100->println("分数优秀")}}interface A {funshow()}class AImpl : A{overridefunshow(){//下面这句话不是中止提示,会终止程序TODO("Not yet implemented")}}
————————————————————————
♥♥♥码字不易,大家的支持就是我坚持下去的动力♥♥♥
版权声明:本文为CSDN博主「亚太地区百大最帅面孔第101名」的原创文章
本文转载自: https://blog.csdn.net/partworld/article/details/125328060
版权归原作者 亚太地区百大最帅面孔第101名 所有, 如有侵权,请联系我们删除。
版权归原作者 亚太地区百大最帅面孔第101名 所有, 如有侵权,请联系我们删除。