Kotlin 基础学习

一、Kotlin 简介

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。
Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

为什么选择 Kotlin?

  • 简洁: 大大减少样板代码的数量。
  • 安全: 避免空指针异常等整个类的错误。
  • 互操作性: 充分利用 JVM、Android 和浏览器的现有库。
  • 工具友好: 可用任何 Java IDE 或者使用命令行构建。
  • 函数式: Kotlin 是基于面向对象的语言,它使用了现下非常流行的函数式编程的概念,如使用lambda表达式很方便地解决问题。其中一个很棒的特性就是Collections的处理方式
  • 可以扩展函数:我们可以扩展类的更多的特性,甚至没有权限去访问这个类

二、基本语法

官网介绍

1、包名的定义

包名需要放在文件的开头部分。但是不需要匹配目录和包,源文件可以放在任意目录中。

package my.demo

import java.util.*

// ...

2、函数的定义

关键字(fun)+ 方法名,参数的声明(参数名 : 参数类型),返回值类型的声明跟在参数后面 (:返回值类型):

fun sum(a: Int, b: Int): Int {
    return a + b
}

方便起见,我们也可以直接在方法后面直接加 = 表达式, 返回值的类型会自动推算出来:

fun sum(a: Int, b: Int) = a + b

当函数返回无意义值时,可以使用Unit类型(相当于Java中的void),也可以省略不写:

fun printSum(a: Int, b: Int): Unit {
    println("sum of $a and $b is ${a + b}")
}

fun printSum(a: Int, b: Int) {
    println("sum of $a and $b is ${a + b}")
}

3、局部变量(成员变量)的定义

使用val关键字声明一个常量(只读,不可修改),使用var关键字声明一个变量:

val a: Int = 1  // 显示指定常量的类型

val b = 2   // 自动推断类型为‘Int’

val c: Int  //  声明一个不初始化的常量,必须显示指定类型

c = 3     // 赋值后,值不可再更改 
// 变量的声明方式同常量,唯一不同的是赋值后,值可改变

var x = 5 // 自动推断类型为‘Int’

x += 1

4、注释

kotlin的注释同Java/JavaScript:

// This is an end-of-line comment

/* This is a block comment
   on multiple lines. */

5、字符串模板的使用

模板表达式以美元符( ( a) 或者 用花括号括起来的任意表达式(${s1.replace(“is”, “was”)})

var a = 1
// simple name in template:
val s1 = "a is $a" 

a = 2
// arbitrary expression in template:
val s2 = "${s1.replace("is", "was")}, but now is $a"

// a was 1, but now is 2

原生字符串和转义字符串内部都支持模板。如果你需要在原生字符串中表示字面值 $ 字符(它不支持反斜杠转义),你可以用下列语法:

val price = """
    ${'$'}9.99
    """
// 求值结果为$9.99

6、条件表达式的使用

常规的条件表达式:

fun maxOf(a: Int, b: Int): Int {
    if (a > b) {
        return 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值