安卓开发入门教程-Kotlin语言极简教程

Kotlin是一种由JetBrains开发的跨平台静态编程语言,与Java完全兼容,被Google指定为安卓开发首选语言.本文介绍了Kotlin的基本语法,包括变量定义、数据类型、控制结构、函数、类、接口等.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kotlin简介

Kotlin是一种跨平台静态编程语言,由JetBrains开发.目前由JetBrains和Google联合成立的Kotlin基金会管理.Kotlin可以和Java代码无缝互相调用,是安卓开发首选语言.
简要发展历程:

  • 2011.07 JetBrains推出一种基于JVM的新语言:Kotlin. Kotlin的名字来自于俄罗斯圣彼得堡附近的Kotlin岛.
  • 2016.02 Kotlin发布第一个稳定版本:v1.0
  • 2017.05 Google在I/O大会上宣布Kotlin为安卓开发一级支持语言.
  • 2017.11 Kotlin支持编译为JavaScript.
  • 2018.10 Kotlin引入协程(coroutines)简化异步编程.
  • 2019.05 Google在I/O大会上宣布Kotlin为安卓开发首选语言.

变量定义(常量)

  1. 可变变量定义
    var 变量名 [:类型] [= 初始值]
    样例:
var a: Int = 1
var b = 1   //系统自动推断变量类型为Int
  1. 不可变变量定义(定义后不可修改)
    val 变量名 [:类型] [= 初始值]
    样例:
val a: Int = 1
val b = 1   //系统自动推断变量类型为Int

基础数据类型

  1. 布尔值
    布尔值有两种取值: true 或 false
    样例:
var flag: Boolean = true
  1. 数字型
类型位宽度
Byte8
Short16
Int32
Long64
Double64
Float32

样例:

var i: Byte = 1
var j: Short = 1
var k: Int = 1
var l: Long = 1
var m: Double = 1.0
var n: Float = 1f
  1. 字符型
var char:Char='a'
  1. 字符串型
var name: String = "jack"

条件控制

  • if-else方式
var name = "无名氏"
if (name == "孙悟空") {
    print("大圣")
} else {
    print("凡人")
}
  • when方式
var name = "无名氏"
when (name) {
    "孙悟空" -> print("大圣")
    else -> print("凡人")
}

循环控制

  • for循环
var list = listOf(1, 2, 3)
for (item: Int in list) {
    println(item)
}
for (item: Int in 1..10) {
    println(item)
}

  • while循环
var value = 5
while (value > 0) {
    println( value--)
}
  • do-while循环
var value = 5
do {
    println(value--)
} while (value > 0)

函数

Kotlin类可以包含:构造函数,初始化代码、函数、属性、内部类。
样例:

  • 空类
class User
  • 带有属性的类
class User() {
    var name: String = "空空如也"
}
  • 包含属性及默认构造函数
class User(var name:String)
  • 数据类
    自动添加了toString()、hashCode() 、equals()、copy()四个方法
data class User(var name:String)
  • 构造函数中初始化
class User(var name: String) {
    init {
        println("构造函数中初始化")
    }
}
  • 多构造函数
class User(var name: String, var age: Int, var gender: String) {
    init {
        print("默认构造函数")
    }

    constructor(name: String, age: Int) : this(name, age, "M") {
        print("又一个构造函数")
    }

    constructor(name: String) : this(name, 18) {
        print("再来一个构造函数")
    }
}

接口

使用 interface 关键字声明,支持定义方法(方法可以有默认实现)和属性.

  • 定义接口
interface MyInterface {
    fun test1()    // 未实现
    fun test2() {  //已实现
        // 可选的方法体
        println("哈哈")
    }

    //可以被覆写
    val name: String
}
  • 类实现接口
class Student(override val name: String) : Exam {
    override fun exam1() {
        println("${name}重考")
    }
}

注释

  • 单行注释,使用 //
//单行注释
  • 多行注释,使用 /* */
/*
多行注释
*/
  • 文档注释,使用 /** */
/**
* 文档注释
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值