IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【kotlin】第一天 -> 正文阅读

[移动开发]【kotlin】第一天

?? Author: 老九
?? 个人博客:老九的CSDN博客
🙏 个人名言:不可控之事 乐观面对
😍 系列专栏:kotlin急速通关

kotlin的空检测机制

  • 需要加上问号
class NullStudy{
    var info:String=""
}

fun main(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
fun main(args: Array<String>) {
    val name:String = "Derry"

   // name="Derry2"

    println("name:$name")

    var sex:Char="c"

    sex='A'

    println("sex:$sex")
}

类型推断

  • kotlin是静态语言(编译期就确定了类型)
fun main(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中函数可以写在类里面,也可以写在类外面
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名」的原创文章

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:16:18  更:2022-06-25 18:17:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 2:19:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码