P10 08_kotlin变量取值范围
/**
*@author hlg
*@date 2021-04-17 17:49
*/
fun main() {
val aByte:Byte = Byte.MAX_VALUE
val bByte:Byte = Byte.MIN_VALUE
println("Byte的最大值:" + aByte)
println("Byte的最小值:" + bByte)
val aShort:Short = Short.MAX_VALUE
val bShort:Short = Short.MIN_VALUE
println("Short的最大值:" + aShort)
println("Short的最小值:" + bShort)
val aInt:Int = Int.MAX_VALUE
val bInt:Int = Int.MIN_VALUE
println("Int的最大值:" + aInt)
println("Int的最小值:" + bInt)
val aLong:Long = Long.MAX_VALUE
val bLong:Long = Long.MIN_VALUE
println("Long的最大值:" + aLong)
println("Long的最小值:" + bLong)
var aFloat:Float = Float.MAX_VALUE
var bFloat:Float = Float.MIN_VALUE
println("Float的最大值:" + aFloat)
println("Float的最小值:" + bFloat)
var aDouble:Double = Double.MAX_VALUE
var bDouble:Double = Double.MIN_VALUE
println("Double的最大值:" + aDouble)
println("Double的最小值:" + bDouble)
}
P15 12_kotlin函数加强_02
/**
*@author hlg
*@date 2021-04-19 9:07
*/
fun main() {
var a = 6
var b = 3
println("a+b = "+plus(a,b))
println("a-b = "+sub(a,b))
println("a*b = "+mul(a,b))
println("a/b = "+devide(a,b))
}
fun plus(a:Int, b:Int):Int{
return a+b
}
fun sub(a:Int, b:Int):Int{
return a-b
}
fun mul(a:Int, b:Int):Int{
return a*b
}
fun devide(a:Int, b:Int):Int{
return a/b
}
calculator_homework.kt
/**
*@author hlg
*@date 2021-04-19 9:34
*/
// 编写函数:函数名为sayHello 方法返回值是String类型,一个参数是String类型 名称为name
fun sayHello(name:String):String{
return name
}
//编写函数,函数名为 checkAge 方法的返回值是Boolean类型,一个参数是整数类型 名称为age
fun checkAge(age:Int):Boolean{
if (age>18)
return true
else
return false
}
//编写函数 函数名为 saveLog 方法没有返回值 一个参数是整数类型 名称为 logLevel
fun saveLog(logLevel:Int){
}
P17 14_kotlin字符串模板
DiaryTools.kt
/**
*@author hlg
*@date 2021-04-19 10:09
*/
// 日志生成器 接收参数是地点 返回值是日记的内容
fun diaryGenerater(placeName:String):String{
var template = """
今天天气晴朗,万里无云,我们去${placeName}游玩,
首先映入眼帘的是,${placeName} ${placeName.length} 个镏金大字。
"""
return template
}
fun main() {
var diary = diaryGenerater("上海")
println(diary)
diary = diaryGenerater("天安门")
println(diary)
}
ChectFaceDemo1.kt
/**
*@author hlg
*@date 2021-04-19 10:40
*/
fun checkFace(score:Int){
if(score>=80){
println("是帅哥")
}else{
println("衰哥")
}
}
fun main() {
var score = 20
checkFace(score)
}
ChectFaceDemo2.kt
/**
*@author hlg
*@date 2021-04-19 10:43
*/
//返回两个数的最大的那个
fun returnBig(a:Int, b:Int):Int{
if(a>b)
return a
else
return b
}
fun main() {
var a = 15
var b = 9
println("${a}和${b} 较大的那个数的值为${returnBig(a,b)}")
}
StringDemo.kt
/**
*@author hlg
*@date 2021-04-19 10:54
*/
fun main() {
var str1 = "Today"
var str2 = "today"
println(str1==str2)
println(str1.equals(str2))
println(str1.equals(str2,true))
// 第二个参数为true 代表忽略字母的大小写
}
P20 17_kotlin空值处理
/**
*@author hlg
*@date 2021-04-19 13:12
*/
//接收一个参数 参数是非空的string类型,加上问号代表的是参数可以为空
//
fun heat(str:String?):String{
return "热"+str
}
fun main() {
var result1 = heat("油")
println(result1)
var result2 = heat(null)
println(result2)
}
P21 18_kotlin的when表达式_01
WhenDemo.kt
/**
*@author hlg
*@date 2021-04-19 13:36
*/
fun gradeStudent(score:Int){
when(score){
10 -> println("满分")
9 -> println("干的不错")
8 -> println("还可以")
7 -> println("还需努力")
6 -> println("刚好及格")
else -> println("还需要加油")
}
}
fun main() {
gradeStudent(10)
}
P22 18_kotlin的when表达式_02
DiaryGenerator2.kt
/**
*@author hlg
*@date 2021-04-19 13:52
*/
fun diaryGenerator(placeName:String){
var template = """
今天天气晴朗,万里无云,我们去${placeName}游玩,
首先映入眼帘的是,${placeName} ${numToChinese(placeName.length)} 个镏金大字。
"""
println(template)
}
fun numToChinese(num:Int):String{
var result = when(num){
1 -> "一"
2 -> "二"
3 -> "三"
4 -> "四"
5 -> "五"
else -> num.toString()
}
return result
}
fun main() {
diaryGenerator("马鞍山市安徽省")
}
P23 19_kotlin的loop和range
LoopAndRangeDemo.kt
/**
*@author hlg
*@date 2021-04-19 14:15
*/
fun main() {
var nums = 1 .. 100
var result = 0
for(num in nums){
result = result +num
}
println("结果: ${result}")
}
LoopAndRangeDemo2.kt
/**
*@author hlg
*@date 2021-04-19 14:26
*/
fun main() {
var nums = 1 until 100 // [1,100)
for(num in nums){
println(num)
}
var num2 = 1 .. 16
for(a in num2 step 2){
println(a)
}
var num3 = num2.reversed()
for(b in num3){
println(b)
}
println("总数为:"+num3.count())
}
P24 20_kotlin的list和map入门_01
ListDemo.kt
/**
*@author hlg
*@date 2021-04-19 14:47
*/
fun main() {
var lists = listOf("买鸡蛋","买肉","买纸巾","买拖鞋")
for( list in lists){
println(list)
}
}
ListDemo.kt
/**
*@author hlg
*@date 2021-04-19 14:47
*/
fun main() {
var lists = listOf("买鸡蛋","买肉","买纸巾","买拖鞋")
for( list in lists){
println(list)
}
for( (i,e) in lists.withIndex()){
println("$i $e")
}
}
MapDemo.kt
import java.util.*
/**
*@author hlg
*@date 2021-04-19 15:07
*/
fun main() {
var map = TreeMap<String,String>()
map["好"] = "good"
map["学习"] = "study"
map["天"] = "day"
map["向上"] = "up"
println(map["好"])
}
P25 21_kotlin函数和函数式表达式
函数和函数式表达式.kt
/**
*@author hlg
*@date 2021-04-19 15:37
*/
fun main() {
var result = add(3,5)
println(result)
var i = {x:Int, y:Int -> x+y}
var result2 = i(3,5)
println(result2)
var j:(Int,Int) -> Int = {x,y -> x+y}
var result3 = j(3,5)
println(result3)
}
//fun add(x:Int, y:Int):Int {
// return x + y
//}
fun add(x:Int, y:Int):Int = x + y
P27 22_kotlin默认参数和具名参数_02
/**
*@author hlg
*@date 2021-04-19 16:19
*/
val Pi = 3.14159f
fun 获取长方形面积(长:Float, 宽:Float):Float{
return 长 * 宽
}
fun 获取圆的周长(PI:Float = Pi, 半径:Float):Float{
return 2 * PI * 半径
}
fun 获取圆的周长2(PI:Float = Pi, 直径:Float):Float{
return PI * 直径
}
fun 获取圆柱体的体积(PI:Float = Pi, 半径:Float, 高:Float):Float{
return PI * 半径 * 半径 * 高
}
fun 获取球体的表面积(PI:Float = Pi, 半径:Float):Float{
return PI * 半径 * 半径 * 4
}
fun main() {
var area = 获取圆的周长(半径= 2.0f)
println(area)
}
//fun 获取长方形面积(长:Float, 宽:Float):Float{
// return 长 * 宽
//}
//fun 获取圆的周长(PI:Float, 半径:Float):Float{
// return 2 * PI * 半径
//}
//fun 获取圆的周长2(PI:Float, 直径:Float):Float{
// return PI * 直径
//}
//fun 获取圆柱体的体积(PI:Float, 半径:Float, 高:Float):Float{
// return PI * 半径 * 半径 * 高
//}
//fun 获取球体的表面积(PI:Float, 半径:Float):Float{
// return PI * 半径 * 半径 * 4
//}
//
//fun main() {
// var area = 获取长方形面积(3.0f,4.0f)
// println(area)
//}
P28 23_kotlin字符串和数字之间的转换
/**
*@author hlg
*@date 2021-04-19 17:12
*/
fun main() {
var a = "12"
var b = 12
a = b.toString() // 把b数字转换成字符串放入a里面
b = a.toInt() // 把 a 字符串转换成数字放入b里面
}
P29 24_kotlin人机交互
P29 24_kotlin人机交互.kt
/**
*@author hlg
*@date 2021-04-19 17:28
*/
fun main() {
println("请输入第一个数字:")
var num1str = readLine()
println("请输入第二个数字:")
var num2str = readLine()
var num1:Int = num1str!!.toInt()
var num2:Int = num2str!!.toInt()
println("${ num1 } + ${ num2 } = ${num1 + num2}")
}
P30 25_kotlin异常处理
P30 25_kotlin异常处理.kt
/**
*@author hlg
*@date 2021-04-19 17:44
*/
fun main() {
while (true){
println("请输入第一个数字:")
var num1str = readLine()
println("请输入第二个数字:")
var num2str = readLine()
try {
var num1:Int = num1str!!.toInt()
var num2:Int = num2str!!.toInt()
println("${ num1 } + ${ num2 } = ${num1 + num2}")
}catch ( e:Exception){
println("大姐, 请输入数字 ,你输入的数据肯定有问题")
}
}
}
P32 26_kotlin递归_02
import java.math.BigInteger
/**
*@author hlg
*@date 2021-04-19 18:13
*/
//fun main() {
// var num = 5
// println(fact(num))
//}
//
//
//fun fact(num:Int):Int{
// if(num ==1){
// return 1
// }else{
// return num*fact(num-1)
// }
//}
fun main() {
var num = BigInteger("100")
println(fact(num))
}
fun fact(num:BigInteger):BigInteger{
if(num == BigInteger.ONE){
return BigInteger.ONE
}else{
return num*fact(num-BigInteger.ONE)
}
}
p33 27_kotlin尾递归优化_01
/**
*@author hlg
*@date 2021-04-19 18:35
*/
//累加操作
fun main() {
println(ollAdd(5))
}
fun ollAdd(num:Int):Int{
if (num == 1){
return 1
}else{
return num + ollAdd(num -1)
}
}
P37 29_kotlin面向对象入门_02
/**
*@author hlg
*@date 2021-04-20 9:27
*/
// 矩形 高 宽
class Rect(var height:Int, var width:Int)
fun main() {
var rect01 = Rect(3,15)
println("矩形的高度:${rect01.height}")
println("矩形的宽度:${rect01.width}")
}
/**
*@author hlg
*@date 2021-04-20 9:27
*/
// 矩形 高 宽
class Rect(var height:Int, var width:Int)
//
//fun main() {
// var rect01 = Rect(3,15)
// println("矩形的高度:${rect01.height}")
// println("矩形的宽度:${rect01.width}")
//}
//妹子 长相 声音
class Girl(var chactor:String,var voice:String)
fun main() {
var girl01 = Girl("彪悍", "甜美")
println("girl01 的声音:${girl01.voice}")
}
P38 30_kotlin静态属性和动态行为
/**
*@author hlg
*@date 2021-04-20 9:27
*/
// 矩形 高 宽
class Rect(var height:Int, var width:Int)
//妹子 长相 声音
class Girl(var chactor:String,var voice:String){
fun smile(){
println("妹子笑了")
}
fun cry(){
println("妹子伤心了")
}
}
fun main() {
// var rect01 = Rect(3,15)
// println("矩形的高度:${rect01.height}")
// println("矩形的宽度:${rect01.width}")
var girl01 = Girl("彪悍", "甜美")
println("girl01 的声音:${girl01.voice}")
girl01.cry()
girl01.smile()
}
P40 32_kotlin面向对象实战-洗衣机
WashMachine.kt
/**
*@author hlg
*@date 2021-04-20 10:51
*
* 程序员创建的洗衣机
*/
class WashMachine (var module:String, var size:Int){
fun openDoor(){
println("洗衣机的门已经打开了...")
}
fun closeDoor(){
println("洗衣机的门已经关闭了...")
}
fun start(){
println("放水...")
println("水放满了...")
println("电机开始转...")
println("洗好了...")
}
}
WashingMachine.kt
/**
*@author hlg
*@date 2021-04-20 10:54
* 洗衣服
*/
fun main() {
var washMachine = WashMachine("小天鹅", 22)
washMachine.openDoor()
washMachine.closeDoor()
washMachine.start()
}
P41 33_kotlin面向对象实战-洗衣机升级
WashMachine.kt
/**
*@author hlg
*@date 2021-04-20 10:51
*
* 程序员创建的洗衣机
*/
class WashMachine (var module:String, var size:Int){
var isDoorOpen = true
var currentMode = 0
fun openDoor(){
println("洗衣机的门已经打开了...")
isDoorOpen = true
}
fun closeDoor(){
println("洗衣机的门已经关闭了...")
isDoorOpen = false
}
fun selectMode(mode:Int){
currentMode = mode
when(mode){
0 -> println("初始模式,请您选择模式")
1 -> println("轻柔")
2 -> println("狂揉")
else -> println("拧坏了,不报修咯")
}
}
fun start(){
if(isDoorOpen){
println(".....门 还没有关....不能运行")
}else{
when(currentMode){
0 -> { println("选择模式错误,不能开始洗衣服") }
1 -> {
println("放水...")
println("水放满了...")
println("电机开始转...慢")
println("洗好了...")
}
2 -> {
println("放水...")
println("水放满了...")
println("电机开始转...快")
println("洗好了...")
}
else -> {
println("选择模式错误,不能开始洗衣服")
}
}
}
}
}
WashingMachine.kt
/**
*@author hlg
*@date 2021-04-20 10:54
* 洗衣服
*/
fun main() {
var washMachine = WashMachine("小天鹅", 22)
washMachine.openDoor()
println("小朋友把内裤放进去了")
washMachine.closeDoor()
washMachine.selectMode(1)
washMachine.start()
}
P43 kotlin面向对象实战-封装
WashMachine.kt
/**
*@author hlg
*@date 2021-04-20 10:51
*
* 程序员创建的洗衣机
*/
class WashMachine (var module:String, var size:Int){
var isDoorOpen = true
var currentMode = 0
fun openDoor(){
println("洗衣机的门已经打开了...")
isDoorOpen = true
}
fun closeDoor(){
println("洗衣机的门已经关闭了...")
isDoorOpen = false
}
fun selectMode(mode:Int){
currentMode = mode
when(mode){
0 -> println("初始模式,请您选择模式")
1 -> println("轻柔")
2 -> println("狂揉")
else -> println("拧坏了,不报修咯")
}
}
fun start(){
if(isDoorOpen){
println(".....门 还没有关....不能运行")
}else{
when(currentMode){
0 -> { println("选择模式错误,不能开始洗衣服") }
1 -> {
println("放水...")
println("水放满了...")
println("电机开始转...慢")
println("洗好了...")
}
2 -> {
println("放水...")
println("水放满了...")
println("电机开始转...快")
println("洗好了...")
}
else -> {
println("选择模式错误,不能开始洗衣服")
}
}
}
}
private fun setMoterSpeed(speed:Int){
println("当前发动机转速为${speed} 圈/秒")
}
}
WashingMachine.kt
/**
*@author hlg
*@date 2021-04-20 10:54
* 洗衣服
*/
fun main() {
var washMachine = WashMachine("小天鹅", 22)
washMachine.openDoor()
println("小朋友把内裤放进去了")
washMachine.closeDoor()
washMachine.selectMode(1)
washMachine.start()
// washMachine.setMoterSpeed(11) //危险 !!!!!!!!!!!!
}
P44 35_kotlin面向对象-继承(open和override)
Father.kt
/**
*@author hlg
*@date 2021-04-20 14:42
* 父亲
*/
open class Father {
var chactor:String = "性格内向"
open fun action(){
println("公共场合喜欢大声喧哗")
}
}
Son.kt
/**
*@author hlg
*@date 2021-04-20 15:07
* 孩子
*/
class Son : Father(){
override fun action(){
println("很安静")
}
}
OpenTest.kt
/**
*@author hlg
*@date 2021-04-20 15:08
*/
fun main() {
var son1 = Son()
println("儿子的性格 ${son1.chactor}")
son1.action()
}
P46 37_kotlin抽象类和继承_02
Human.kt
/**
*@author hlg
*@date 2021-04-20 15:55
*
* 抽象的人类
*/
abstract class Human (var name:String){
abstract fun eat()
}
Man.kt
/**
*@author hlg
*@date 2021-04-20 16:01
*/
class Man(name:String):Human(name) {
override fun eat(){
println("${name} 大口吃")
}
}
Woman.kt
/**
*@author hlg
*@date 2021-04-20 16:09
*/
class Woman(name:String):Human(name) {
override fun eat(){
println("${name} 小口吃")
}
}
抽象类和继承.kt
/**
*@author hlg
*@date 2021-04-20 16:17
*/
fun main() {
var person1 = Man("蒋介石")
person1.eat()
var person2 = Woman("宋美龄")
person2.eat()
}
P47 37_kotlin面向对象-多态
Human.kt
/**
*@author hlg
*@date 2021-04-20 15:55
*
* 抽象的人类
*/
abstract class Human (var name:String){
abstract fun eat()
abstract fun pee()
}
Man.kt
/**
*@author hlg
*@date 2021-04-20 16:01
*/
class Man(name:String):Human(name) {
override fun eat(){
println("${name} 大口吃")
}
override fun pee(){
println("${name} 站着尿尿")
}
}
Woman.kt
/**
*@author hlg
*@date 2021-04-20 16:09
*/
class Woman(name:String):Human(name) {
override fun eat(){
println("${name} 小口吃")
}
override fun pee(){
println("${name} 蹲着尿尿")
}
}
抽象类和继承.kt
/**
*@author hlg
*@date 2021-04-20 16:17
*/
fun main() {
var person1 = Man("蒋介石")
var person2 = Woman("宋美龄")
var person3 = Man("林彪")
var person4 = Woman("乌尔苏拉")
var person5 = Man("何塞·阿尔卡蒂奥·布恩迪亚")
var houseList = listOf<Human>(person1,person2,person3,person4,person5)
for(h in houseList){
h.pee()
}
}
打印:
"C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\lib\idea_rt.jar=60393:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar;D:\miniprogram_case_base\kotlin_hello2\out\production\kotlin_hello2;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-test.jar" 抽象类和继承Kt
蒋介石 站着尿尿
宋美龄 蹲着尿尿
林彪 站着尿尿
乌尔苏拉 蹲着尿尿
何塞·阿尔卡蒂奥·布恩迪亚 站着尿尿
Process finished with exit code 0
P52 39_kotlin面向对象-代理和委托_01
IWashBowl.kt
/**
*@author hlg
*@date 2021-04-21 10:31
* 洗碗的接口
*/
interface IWashBowl {
fun washing()
}
BigHeadSon.kt
/**
*@author hlg
*@date 2021-04-21 10:35
* 大头儿子
*/
class BigHeadSon:IWashBowl{
override fun washing() {
println("我是大头儿子,我在开心低洗碗,一次赚1元钱")
}
}
SmailHeadFather.kt
/**
*@author hlg
*@date 2021-04-21 10:37
*/
class SmailHeadFather:IWashBowl {
override fun washing() {
println("我是小头爸爸 我在开心低洗碗,一次赚10元钱")
}
}
Test.kt
/**
*@author hlg
*@date 2021-04-21 10:39
*/
fun main() {
var son = BigHeadSon()
son.washing()
var father = SmailHeadFather()
father.washing()
}
打印:
"C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\lib\idea_rt.jar=54107:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar;D:\miniprogram_case_base\代理和委托\out\production\代理和委托;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-test.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk7.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk8.jar" TestKt
我是大头儿子,我在开心低洗碗,一次赚1元钱
我是小头爸爸 我在开心低洗碗,一次赚10元钱
--------------------------------------
IWashBowl.kt
/**
*@author hlg
*@date 2021-04-21 10:31
* 洗碗的接口
*/
interface IWashBowl {
fun washing()
}
BigHeadSon.kt
/**
*@author hlg
*@date 2021-04-21 10:35
* 大头儿子
*/
class BigHeadSon:IWashBowl{
override fun washing() {
println("我是大头儿子,我在开心低洗碗,一次赚1元钱")
}
}
SmailHeadFather.kt
/**
*@author hlg
*@date 2021-04-21 10:37
*/
class SmailHeadFather:IWashBowl by BigHeadSon() {
}
Test.kt
/**
*@author hlg
*@date 2021-04-21 10:39
*/
fun main() {
var father = SmailHeadFather()
father.washing()
}
打印
"C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\lib\idea_rt.jar=54516:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar;D:\miniprogram_case_base\代理和委托\out\production\代理和委托;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-test.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk7.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk8.jar" TestKt
我是大头儿子,我在开心低洗碗,一次赚1元钱
IWashBowl.kt
/**
*@author hlg
*@date 2021-04-21 10:31
* 洗碗的接口
*/
interface IWashBowl {
fun washing()
}
BigHeadSon.kt
/**
*@author hlg
*@date 2021-04-21 10:35
* 大头儿子
*/
class BigHeadSon:IWashBowl{
override fun washing() {
println("我是大头儿子,我在开心低洗碗,一次赚1元钱")
}
}
SmailHeadFather.kt
/**
*@author hlg
*@date 2021-04-21 10:37
*/
class SmailHeadFather:IWashBowl by BigHeadSon() {
override fun washing() {
println("我是大头爸爸,我赚了10块钱")
BigHeadSon().washing()
println("我是看着儿子把碗洗完了")
}
}
Test.kt
/**
*@author hlg
*@date 2021-04-21 10:39
*/
fun main() {
var father = SmailHeadFather()
father.washing()
}
打印:
"C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\lib\idea_rt.jar=55082:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar;D:\miniprogram_case_base\代理和委托\out\production\代理和委托;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-test.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk7.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk8.jar" TestKt
我是大头爸爸,我赚了10块钱
我是大头儿子,我在开心低洗碗,一次赚1元钱
我是看着儿子把碗洗完了
P54 40_kotlin面向对象-单例模式
IWashBowl.kt
/**
*@author hlg
*@date 2021-04-21 10:31
* 洗碗的接口
*/
interface IWashBowl {
fun washing()
}
BigHeadSon.kt
/**
*@author hlg
*@date 2021-04-21 10:35
* 大头儿子
*/
object BigHeadSon:IWashBowl{
override fun washing() {
println("我是大头儿子,我在开心低洗碗,一次赚1元钱")
}
}
SmailHeadFather.kt
/**
*@author hlg
*@date 2021-04-21 10:37
*/
class SmailHeadFather:IWashBowl by BigHeadSon {
override fun washing() {
println("我是大头爸爸,我赚了10块钱")
BigHeadSon.washing()
println("我是看着儿子把碗洗完了")
}
}
Test.kt
/**
*@author hlg
*@date 2021-04-21 10:39
*/
fun main() {
var father = SmailHeadFather()
father.washing()
}
打印:
"C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\lib\idea_rt.jar=55799:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar;D:\miniprogram_case_base\代理和委托\out\production\代理和委托;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-test.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk7.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk8.jar" TestKt
我是大头爸爸,我赚了10块钱
我是大头儿子,我在开心低洗碗,一次赚1元钱
我是看着儿子把碗洗完了
P55 41_kotlin面向对象-枚举
Week.kt
/**
*@author hlg
*@date 2021-04-21 11:16
*/
enum class Week{
星期一,星期二,星期三,星期四,星期五,星期六,星期日
}
fun main() {
println(Week.星期一.ordinal)
println(Week.星期五.ordinal)
}
P57 42_kotlin面向对象-印章类_02
Son.kt
/**
*@author hlg
*@date 2021-04-21 13:12
* 小母驴 小公驴 小公马 生下来的儿子
*/
sealed class Son {
fun sayHello(){
println("大家好")
}
class 小小驴():Son()
class 小骡子():Son()
}
Test.kt
/**
*@author hlg
*@date 2021-04-21 13:15
*/
fun main() {
var s1:Son = Son.小小驴()
var s2:Son = Son.小骡子()
var s3:Son = Son.小小驴()
var list = listOf<Son>(s1,s2,s3)
for(v in list){
if(v is Son.小骡子)
v.sayHello()
}
}
打印:
"C:\Program Files\Java\jdk1.8.0_271\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\lib\idea_rt.jar=60745:C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_271\jre\lib\rt.jar;D:\miniprogram_case_base\印章类\out\production\印章类;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-test.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk7.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2020.3.1\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jdk8.jar" TestKt
大家好
P60 46_kotlin图片处理_02
Test.kt
import java.awt.image.BufferedImage
import java.io.File
import javax.imageio.ImageIO
/**
*@author hlg
*@date 2021-04-21 14:04
*/
fun main() {
// 内存中创建一个宽和高为100的图片
var image = BufferedImage(100,100, BufferedImage.TYPE_INT_RGB)
var w = 0 .. 99
var h = 0 .. 99
image.apply {
for (i in w){
for(j in h){
setRGB(i,j,0xff0000)
}
}
}
ImageIO.write(image, "bmp", File("a.bmp"))
}
P62 48_kotlin高阶函数实战(传统函数演示)_02
P66 50_kotlin高阶函数实战(map、filter、groupBy、minBy、maxBy、find、an_02
P67 50_kotlin高阶函数实战(map、filter、groupBy、minBy、maxBy、find、an_03
P68 51_kotlin高阶函数实战-自定义dsl入门