Kotlin代码示例及详细解析(Kotlin 1.3.11)

// Kotlin 1.3.11 编译器版本

// 无包声明

 

// 1. 基础变量声明

// 声明实例变量AAA1,类型为Int,初始值为0,类似C语言先声明后初始化的习惯

var AAA1: Int = 0 

// 声明实例变量AAA2,类型为Double,初始值为0.0

var AAA2: Double = 0.0 

// 声明实例变量AAA3,类型为String,初始值为空字符串

var AAA3: String = "" 

 

// 2. 静态变量声明

// 声明静态常量BBB1,值为3.14,在Kotlin中用val声明且不可变,类似C语言的常量

val BBB1 = 3.14 

// 声明静态变量BBB2,类型为Boolean,初始值为false

var BBB2: Boolean = false 

 

// 3. 自定义类定义

// 定义开放类A1,开放类允许其他类继承它

open class A1 { 

    // 定义A1的构造函数,为空构造函数,满足C语言风格中先声明构造函数结构的习惯

    constructor() {} 

    // 定义A1的实例方法CCC1,用于打印输出表示是A1类的实例方法

    fun CCC1() { 

        println("A1 instance method")

    }

}

 

// 定义类A2,继承自A1类

class A2 : A1 { 

    // 定义A2的构造函数,接受两个Double类型的参数TTT1和TTT2

    // 并显式调用父类A1的构造函数super()

    constructor(TTT1: Double, TTT2: Double) : super() { 

        // 将参数TTT1的值赋给实例变量AAA2

        AAA2 = TTT1 

        // 将字符串和参数TTT2的值组合后赋给实例变量AAA3,输出格式改为Dog开头

        AAA3 = "Dog $TTT2" 

    }

 

    // 定义A2的实例方法CCC2,用于打印输出表示是A2类的实例方法

    fun CCC2() { 

        println("A2 instance method")

    }

}

 

// 4. 静态方法定义

// 定义静态方法容器DDD,在Kotlin中用object关键字来实现类似C语言中静态方法的概念

object DDD { 

    // 使用@JvmStatic注解确保该方法在JVM中可见,类似C语言中静态方法的调用方式

    @JvmStatic 

    // 定义静态方法DDD1,接受两个Int类型的参数TTT1和TTT2,返回它们的和

    fun DDD1(TTT1: Int, TTT2: Int): Int { 

        return TTT1 + TTT2

    }

}

 

fun main() {

    // 5. 变量初始化与输出

    // 重新给实例变量AAA1赋值为100

    AAA1 = 100 

    // 重新给静态变量BBB2赋值为true

    BBB2 = true 

 

    println("1. Basic Variables:")

    // 使用字符串的format方法来模拟C语言中printf的格式化输出

    // 输出实例变量AAA1和静态常量BBB1(保留两位小数)

    println("AAA1: ${AAA1}, BBB1: ${String.format("%.2f", BBB1)}") 

    // 输出静态变量BBB2

    println("BBB2: ${BBB2}") 

 

    // 6. 对象实例化与方法调用

    // 实例化A2类的对象,将其赋值给对象变量GGG1,并传入参数5.5和2.0

    val GGG1 = A2(5.5, 2.0) 

    println("\n2. Object Operations:")

    // 调用对象GGG1的从父类A1继承来的实例方法CCC1

    GGG1.CCC1() 

    // 调用对象GGG1自身的实例方法CCC2

    GGG1.CCC2() 

 

    // 7. 静态方法调用

    // 声明整数变量FFF1并赋值为3

    val FFF1 = 3 

    // 声明整数变量FFF2并赋值为5

    val FFF2 = 5 

    // 调用静态方法DDD1,传入FFF1和FFF2作为参数,并将返回值赋给FFF3

    val FFF3 = DDD.DDD1(FFF1, FFF2) 

 

    println("\n3. Calculation:")

    // 打印输出两个整数变量FFF1和FFF2的和

    println("Sum of ${FFF1} and ${FFF2} is ${FFF3}") 

 

    // 8. 字符串操作

    // 声明字符串变量SSS1并赋值为"Hello"

    val SSS1 = "Hello" 

    // 声明字符串变量SSS2并赋值为"World"

    val SSS2 = "World" 

    // 将SSS1和SSS2通过字符串模板拼接起来赋给SSS3

    val SSS3 = "$SSS1, $SSS2!" 

 

    println("\n4. String Operations:")

    // 打印输出拼接后的字符串

    println("Concatenated: ${SSS3}") 

 

    // 9. 循环结构

    println("\n5. Loop Structures:")

    // 使用for循环,从1到5进行迭代,类似C语言中for循环的结构

    for (FFF4 in 1..5) { 

        // 打印输出循环的序号和对应的Dog开头的字符串

        println("Loop ${FFF4}: Dog ${FFF4}") 

    }

 

    // 10. 条件判断

    // 声明特殊字符串变量HHH1并赋值为"Valid"

    val HHH1 = "Valid" 

    println("\n6. Conditional Check:")

    // 判断字符串HHH1的长度是否大于5

    if (HHH1.length > 5) { 

        // 如果大于5,打印输出该字符串有效

        println("String '$HHH1' is valid")

    } else {

        // 否则,打印输出该字符串无效

        println("String '$HHH1' is invalid")

    }

}

 

你可能感兴趣的:(kotlin)