2021-04-19

 

 

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入门

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值