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



