Kotlin学习笔记(一)—— 变量、表达式、函数

Kotlin小白学习笔记(持续更新中)

main方法
//快捷: 直接打main
fun main() {}
声明变量及数据类型
//var声明,变量名在前,变量类型在后
var name: String="程序员"
数据类型(不全)

//kotlin版数据类型
/*
String 字符串
Char 单字符
Boolean true,false
Int 整形
Double 双精度浮点型
Float 浮点型
List 集合
Set 无重复的元素集合
Map 键值对的集合
*/

只读声明变量与可读可写声明变量
//var 可读可写  变量可被修改
var info:String ="程序员"

//val 只读  变量不可被修改
val book:String="书"
kotlin的类型推断
//提示: Explicitly given type is redundant here    
    //      显示给定的类型在这里是多余的
    val info:String="derry"
    println(info)
    
    //kotlin可根据后面的值判断所属类型
    //省略格式:
    val info1="derry"
    println(info1)
const 定义编译时常量

1.编译时常量只能是常用的基本数据类型: (String,Double,Int,Float,Long,Short,Byte,Char,Boolean)
2.编译时常量只能在函数之外定义 原因: 在函数之内定义,就必须在运行时才能调用函数赋值,何来编译时常量一说
3.结论: 编译时常量只能在函数之外定义,就可以在编译期间初始化

const val num=56 //定义编译时常量
fun main() {
    //提示: 修饰符const不适用于 局部变量
    const val num=56 //报错
}
kotlin的引用类型

//Java有两种数据类型:
//第一种: 基本类型:int double等
//第二种: 引用类型 String等

//kotlin只有一种数据类型:
//看起来是引用类型,实际上编译器会在Java字节码中,修改成基本类型

Int 等等 引用类型
range表达式
fun main() {
    //range表达式 范围 从哪里 到哪里 (包括左右两边的数值)
    val number=100
    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表达式
//kotlin的when表达式
fun main() {
    val week=9
    //类似于switch用法
    //kotlin的表达式 有返回值的,Java中的为语句,没有返回值
    //如果只有一种数据类型那就返回这个类型,只有括号那就返回Unit,有括号和数据类型共存的返回Any(相当于java的object类)
    //Unit相当于java的void关键字,代表无返回值
    val info=when(week){
        1 -> "走了1"
        2 -> "走了2"
        3 -> "走了3"
        4 -> "走了4"
        5 -> "走了5"
        else ->{
            println("走了")
        }
    }
    println(info)
}
运行结果:
走了   
kotlin.Unit //无返回值
String模板
//String模板
fun main() {
    val garden="黄石公园"
    val time=6
    //${garden}玩    $time 个  两种写法 后者不能与文本紧挨,可与符号紧挨
    println("天气很好,去${garden}玩,玩了$time 个小时")
    //kotlin的if为表达式,使用更灵活,else不能与if的内容紧挨
    val islogin=true
    println("登录结果: ${if (islogin) "登录成功" else "登录失败"}")
}
kotlin函数头

先有输入,再有输出
在这里插入图片描述

函数参数的默认参数

在这里插入图片描述

具名函数参数
//具名函数参数
fun main() {
    //参数可以不按顺序传值进去
    login(age = 16, username = "烦烦烦", p = "1")
}
private fun login(username: String,p : String,age: Int){
    println("username:$username,password:$p ,age:$age")
}
Unit类的特点

默认有Unit 可以省略
在这里插入图片描述

Nothing类型特点
//Nothing类型特点
fun main() {
    show(-1)
}
//类似于Java的异常报错(try/catch)
private fun show(number :Int){
    when(number){
        -1-> TODO("没有这种分数")  //TODO()返回Nothing类型 用来抛出异常
        in 0..60 -> println("分数不及格")
        in 60..100 -> println("分数及格")
    }
}
反引号用法
//反引号的用法
fun main() {
    //三种使用情况:
    //若函数名在kotlin中为关键字等等
    //公司加密使用
    //测试使用
    `登录功能需求编码人是arry`("arry","123456")
}

private fun `登录功能需求编码人是arry` (name:String,password:String){
    println("用户名是$name,密码是$password")
}
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值