kotlin 基础

1、安装 Java 和 Kotlin 环境

2、程序代码基本结构

fun main(args: Array<String>) {
   
   
    println("Hello World!")
}
  • 注意点:Kotlin 严格区分大小写

3、变量的声明与使用

fun main(args: Array<String>) {
   
   
    var x = 30
    println(x)
}

// 自动判断变量类型
fun main(args: Array<String>) {
   
   
    var x = 30
    println(x)
}

// 变量值赋值给变量
fun main(args: Array<String>) {
   
   
    var x = 30
    var y = x
    println(y)
}

fun main(args: Array<String>) {
   
   
    var x = 30
    var y = x / 30
    println(y)
}

fun main(args: Array<String>) {
   
   
    var x = 30
    var y = 70
    println(x + y)
}

fun main(args: Array<String>) {
   
   
    var x = 30
    x = 20
    println(x)
}

// 定义常量
fun main(args: Array<String>) {
   
   
    val x = 30  // 常量
    println(x)
}

4、数据类型

  • Byte、Short、Int、Long
  • Float、Double
val pi = 3.1415 // 默认推断为 Double 类型
val one : Double = 1  // 这种写法错误,无法编译通过
val one : Double = 1.0 // 这种写法是对的
val a : Float = 1.0f
  • 与其他语言不同,Kotlin 中的数字类型没有隐式转换的操作
var a:Int = 1;
var b:Double = a;  // 报错,不能隐式转换

5、数字类型的运算

1)布尔类型
var a: Boolean = false
2)字符类型
var c: Char = 'D'
3)字符串类型
    // 字符串中的字符一旦确定是无法进行修改的
    var str: String = "Hello World"
    str = "Helle World"  // 整体修改
    
    val text = "Hello\nWorld"  // 字符串中换行,需要用到转义字符		      

6、 选择结构

1)(if - else)
if 
if {
   
   

}

if {
   
   
} else {
   
   
}

if
else if 
else if 
else 

if {
   
   

    if 

}

// if-else 还可以用作结果判断
var score = 2
var res = if (score > 60) "Yes" else "NO"
2) 选择结构(when)——适用于多分支结构
//代码结构
when (目标) {
   
   
    匹配值1 -> 代码
    匹配值2 -> 代码
    匹配值3 -> 代码
    else -> {
   
     // 可以没有else语句,类似于之前的 if-else if-else
        代码  // 如果以上条件都不满足,就进入else中
    }
}
val c = 'A'
when (c) {
   
   
    'A' -> println("尖子班")
    'B' -> println("中等班")
    'C' -> println("普通班")
}

val c = 'A'
var value = when (c) {
   
   
    'A' -> 1
    'B' -> 2
    'C' -> 3
    else -> 0  // 要把所有能表示的情况都写完才不会报错(必加)
}

val c : Boolean = true
var value = when (c) {
   
   
    true -> 1
    false -> 2  
    // 所有情况中只有这两种情况所以不用加else 
}

// 某些值属于同一种情况,可以使用逗号将其条件组成一行
var x = 0;
when (x) {
   
   
    0, 1 -> print("x == 0 or x == 1")
    else -> print("otherwise")
}

// in 表示区间
var score = 10;
var grade= when (score) {
   
   
    // 使用 in 判断目标标量值是否在指定范围
    in 100 .. 90 -> {
   
   
        println();
        "优秀"
    }
    in 89 .. 80 -> "良好"
    in 79 .. 70 -> "及格"
    else -> "不及格"
}

7、循环结构

1)for
// 结构
for (遍历出来的单个目标 in 可遍历目标) 循环体
<think>好的,用户想学习Kotlin编程语言基础知识,需要一份基础教程。首先,我需要整理Kotlin基础知识点,确保涵盖变量、常量、数据类型、函数等核心内容。根据系统级指令,所有行内数学表达式要用$...$,但这里可能不太需要数学公式,但需要注意代码块和格式。另外,要生成相关问题,并在回答中引用给定的参考内容。 首先,检查用户提供的参考引用[^1]中的内容,里面提到了Kotlin基础学习的几个部分:变量与常量、数据类型、函数、控制流、面向对象编程、扩展与高阶函数、空值安全、Lambda表达式与闭包。需要将这些内容整合到回答中,确保结构清晰,分步骤讲解。 接下来,要确认回答的结构是否符合用户的要求:使用中文,代码用正确的格式,例如变量声明、函数定义等用代码块。同时,在末尾生成相关问题,并添加引用标识。 需要注意用户不可见的系统指令中提到的问题生成部分,要确保相关问题与Kotlin基础相关,比如变量声明与val/var的区别、空值安全机制、扩展函数的作用等。此外,引用标识需要自然地添加在引用的段落末尾,例如在提到某个知识点时,如果参考了给定的引用内容,就在句末加上[^1]。 现在开始组织内容,分步骤讲解Kotlin基础知识,每个部分用子标题,代码示例用代码块,确保LaTeX语法正确,虽然这里可能用不到数学公式,但行内代码可能需要用反引号。不过根据示例,用户希望代码块用三个反引号包裹,并注明语言,比如```kotlin。 需要确保每个主要知识点都有示例代码,例如变量声明、函数定义、控制流结构、类和对象的创建、扩展函数、空值安全处理、Lambda表达式等。然后,在相关问题部分,生成3-5个相关问题,帮助用户进一步学习。 最后,检查是否符合所有系统指令,特别是引用标识的位置,以及相关问题的生成是否合适。确保没有使用任何Markdown格式,除了代码块,并且结构清晰,分步骤讲解。</think># Kotlin编程语言基础教程 ## 一、变量与常量 Kotlin使用`val`声明**不可变变量**(常量),用`var`声明**可变变量**。类型声明可省略(类型推断)[^1]: ```kotlin val name = "Kotlin" // 不可变,类型推断为String var age: Int = 10 // 可变,显式声明类型 ``` ## 二、数据类型 基础类型包括数值、字符、布尔等,所有类型都是对象: ```kotlin val pi = 3.14 // Double val isActive = true // Boolean val code: Char = 'A' ``` ## 三、函数定义 使用`fun`关键字声明函数,支持表达式体: ```kotlin // 完整写法 fun add(a: Int, b: Int): Int { return a + b } // 表达式体简写 fun multiply(x: Int, y: Int) = x * y ``` ## 四、控制流结构 ### 1. 条件语句 ```kotlin val score = 85 val result = when { score >= 90 -> "A" score >= 80 -> "B" else -> "C" } ``` ### 2. 循环结构 ```kotlin // 区间遍历 for (i in 1..5) print(i) // 输出12345 // 集合遍历 listOf("Apple", "Banana").forEach { fruit -> println(fruit) } ``` ## 五、面向对象编程 ### 1. 类与对象 ```kotlin class Person(val name: String, var age: Int) { fun introduce() { println("我叫$name,今年$age岁") } } val person = Person("小明", 20) person.age = 21 // 修改属性 ``` ## 六、空值安全机制 通过`?`操作符避免空指针异常[^1]: ```kotlin var nullableStr: String? = null val length = nullableStr?.length ?: 0 // 安全调用+Elvis操作符 ``` ## 七、扩展函数 为现有类添加新功能: ```kotlin fun String.addExclamation() = "$this!" println("Hello".addExclamation()) // 输出Hello! ``` ## 八、Lambda表达式 ```kotlin val numbers = listOf(1, 2, 3) val doubled = numbers.map { it * 2 } // [2,4,6] ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个写代码的修车工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值