wangwei1024

第二章 探究新语言,快速入门Kotlin编程

第二章 探究新语言,快速入门Kotlin编程

2.1 Kotlin简介

2.2 如何运行Kotlin代码

(1)打开HelloWorld项目,找到MainActivity所在的位置
(2)在MainActivity的同级包结构下创建一个LearnKotlin文件。右击com.example.helloworld包-->New-->Kotlin File/Class,在弹出的对话框职工输入“LearnKotlin”,如图2.3所示。点击“OK”即可完成创建

在这个LearnKotlin文件中编写一个main()函数
fun main(){
	println("Hello Kotlin!")
}

2.3 编程之本:变量和函数

2.3.1 变量

val(value的简写)用来声明一个不可变的变量,这种变量在初始赋值之后就再也不能重新赋值,对应Java中的final变量。
val(value的简写)用来声明一个不可变的变量,这种变量在初始赋值之后仍然可以再被重新赋值,对应Java中的非final变量。
fun main(){
	var a = 10
	println("a = " + a )
}
Kotlin每行代码的结尾是不用加分号。

2.3.2 函数

函数是用来运行代码的载体,考虑到学习安卓的孩子们一定有基础了,不赘述了,有兴趣的可以买本书自己啃。main()函数是程序的入口函数,即程序一旦运行,就从main()函数开始执行。
语法规则如下:

fun methodName(param1: Int, param2: Int): Int {
	return 0 ;
}

fun(function的简写)是定义函数的关键字,无论你定义是什么函数,都一定要使用fun来声明。
紧跟其后的是函数名,函数名后紧跟一堆括号,里面可以声明函数接受的参数,声明格式为“参数名:参数类型”。
实践如下:

fun largerNumber(num1: Int, num2: Int): Int {
	return max(num1,num2)
}
fun main(){
    val a = 10
    val b = 20
    println(largerNumber(a, b))
}
语法糖

当函数只有一行代码的时候,Kotlin允许我们不必编写函数体,可以直接将唯一的一行代码写在函数定的尾部,中间用等号连接即可。比如刚才编写的largernumber()函数

fun largerNumber(num1: Int, num2: Int):Int =max(num1, num2)

2.4 程序的控制逻辑

kotlin实现条件语句有两种实现方式:if 和 when

2.4.1 if条件语句

fun largerNumber(num1: Int, num2: Int): Int{
	var value = 0 
	if(num1 > num2){
		value = num1
}else{
		value = num2
}
	return value
}
fun largerNumber(num1: Int, num2: Int): Int{
	var value = if(num1 > num2){
		 num1
}else{
		 num2
}
	return value
}
fun largerNumber(num1: Int, num2: Int) =  if(num1 > num2){
		 num1
}else{
		 num2
}
fun largerNumber(num1: Int, num2: Int) =  if(num1 > num2) num1 else num2

2.4.2 when 条件语句

fun getScore(name: String) = if (name == "Tom"){
    86
}else if (name == "Jim"){
    77
}else{
    0
}
fun getScore(name: String) =  when (name){
    "Tom" -> 86
    "Jim" -> 77
    else ->0
}
fun checkNumber(num: Number){
    when(num){
        is Int -> println("Int")
        is Double -> println("Double")
        else -> println("not")
    }
}
is关键字就是类型匹配的核心,它相当于Java中的instanceof关键字。由于checkNumber()函数接收一个Number类型的参数,这是Kotlin内置的一个抽象类像Int、Long、Float、Double等与数字相关的类都是它的子类,所以这里就可以使用类型匹配来判断传入的参数属于什么类型,如果是Int型或其他Double型,就该将类型打印出来,否则不支持该类型的参数
fun getScore(name: String) = when {
    name.startsWith("Tom") -> 86
    name == "Jim" -> 77
    name == "jack" ->95
    else ->0
}

2.4.3 循环语句

fun main(){
	for ( i in 0..10)
		println(i)
}
(.. 两端闭区间,util 左闭右开)

val range = 0 until 10

for (i in 0 until 10 step 2)
	println(i)
for (i in 10 downTo 1)
	println(i)

posted on 2022-12-29 18:02  wangwei1024  阅读(60)  评论(0编辑  收藏  举报

导航