Kotlin基础教程
)
kotlin语言声明变量与内置数据类型
package com.derry.s1
//TODO 07 .kotlin语言声明变量与内置数据类型
fun main() {
println("Hello,World")
//TODO ==============声明变量
var name : String ="Derry"
name = "Lance"
println(name)
//TODO =============内置数据类型
/**
* String 字符串类型
* Char 单字符类型
* Boolean true/false
* Int 整形类型
* Double 小数
* List 集合
* Set 无重复的元素集合
* Map 键值对的集合
*/
}
}
kotlin只读变量
package com.derry.s1 //包名
//ToDO 08.ktolin只读变量
fun main() {
// avr 默认提示:变量永远不会被修改,建议修改成 val ==不可改变的(只读)
val info : String = "MhyInfo"
println(info)
/**
* 只读 变累名 类型 值
* val age : Int = 99
*/
val age : Int =99
//age = 99 //不能修改
println(age)
}
ktolin类型推断
package com.derry.s1
//TODO 09.类型推断
fun main() {
//提示:Explicitly given type is redundant here
// 意思是显示给定义的类型在这里是多余的
val info:String = "Derry is Success"
println(info)
val age = 89
//类型推导
println(age)
}
ktolin编译时的常量
package com.derry.s1
//TODO 10.编译时的常量
//编译时常量只能时常用的基本数据类型:
/**
* 比如:(String , Double , Int , Float, Long , Short ,Byte , Char , Boolean)
* 编译时常量只能在函数之外定义,为什么?答:
* 如果在函数之内定义,就必须时在运行时才能调用赋值,
* 何来编译时常量一说
* 结论:编译时常量只能在函数之外定义,就可以在编译期间赋值初始
*/
const val Pi = 3.1415 //这个定义编译时常量
fun main() {
val a = "Derry info" //这个成为 只读类型
//提示:修饰符canst不适用于 局部变量
//const val PI = 45
}
Kotlin 学习查看kotlin反编译后字节码
package com.derry.s1
const val PI1 = 3.1415
const val PI2 = 123
const val PI3 = 324
//TODO 学习查看kotlin反编译后字节码
fun main() {
val nane = "Derry"
val sex = "男"
val sey = "A"
val number = 109
val number1 = 233
val isOK = false
}
如何查看Kotlin对应的Java代码
1,将Kotlin代码转换成字节码
2,将字节码反编译成为java代码
具体操作
1,使用IDEA将kotlin代码转换为字节码
2.查看反编译字节码
注意:上面的步骤需要在IDEA上面安装kotlin和Java Bytecode Decompiler插件。
Kotlin引用类型学习
package com.derry.s1
//TODO 12.引用类型学习
//总结:Java语言有两种数据类型
/**
* 第一种:基本类型:int double 等
* 第二种:引用类型: String 等
*
* kotlin 语言只有一种数据类型
* 看起来都是引用数据类型,实际上编译器会在Java字节码中修改成"基本数据类型"
* 不用担心耗性能
*/
fun main() {
val age : Int = 11 //引用类型 会不会耗费性能
val PI : Double = 3.1415
val PI1 : Float = 3.1415f
val isOK : Boolean = true
}
Kotlin renge表达式
package com.derry.s1
//TODO 13.renge表达式
fun main() {
val number = 148
//renge 范围 从哪里到哪里
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范围内")
}
}
Kotlin when表达式
package com.derry.s1
//TODO 14.when表达式
fun main() {
val week = 8
//java 的if是语句
//kt的 if是表达式 有返回值的
//复杂写法
val info = when (week){
1 ->"今天星期一嘛?"
2 ->"今天星期二嘛?"
3 ->"今天星期三嘛?"
4 ->"今天星期四嘛?"
5 ->"今天星期五嘛?"
6 ->"今天星期六嘛?"
7 ->"今天星期七嘛?"
else -> {
println("不知道是星期几")
}
}
}
Kotlin String 模板
package com.derry.s1
//ToDO 15.String 模板
fun main() {
val garden = "黄石公园"
val time = 6
println("今天天气很好,去"+garden+"玩,玩了"+time+ "小时")//Java版写法
println("今天天气很好,去${garden}玩,玩了$time 小时")// kt写法
//kt的if时表达式,所以可以灵活使用 ,Java的if时语句,还有局限性
val isLogin = false
println("Server response result:${if (isLogin)"恭喜,登录成功"
else "你登录失败了,请检查request信息"}")
}
现在暂时更新这些,后期还继续更新,可以关注一下。博主有时间出kotlin基础教程,博主是Android方向~
祝:大家新年快乐!来年有个好工作