Kotlin编程语言

入门指南

基本语法

定义包

包的声明必须在源文件的顶部:

package my.demo

import java.util.*

java 不同包不必和目录结构匹配: 源文件可以放到文件系统的任意位置。

函数定义

如下是一个有两个Int类型的参数和Int返回值的例子:

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

用表达式作为函数体编译器可以自动推断返回类型:

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

无返回值的函数:

fun printSum(a: Int, b: Int): Unit {
  print(a + b)
}

这时Unit 返回类型可以省略:

fun printSum(a: Int, b: Int) {
  print(a + b)
}

局部变量定义

一次性赋值(只读)局部变量:

val a: Int = 1
val b = 1   // Int类型推断
val c: Int  // 没有初始化的变量必须指定类型
c = 1     // 明确的指定值

可变变量:

var x = 5 // `Int` 类型是推断的
x += 1

注释

就像Java 和Javascript 一样,Kotlin 支持行注释和块注释。

// 如下是一个行释

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

和Java不同,Kotlin 的块注释支持嵌套。

字符串模板

fun main(args: Array<String>) {
   if (args.size == 0) return

   print("First argument: ${args[0]}")
}

条件表达式

fun max(a: Int, b: Int): Int {
  if (a > b)
    return a else
  return b
}

将 if 作为表达式:  fun max(a: Int, b: Int) = if (a > b) a else b

可空值和空值检查

可能为空值的引用类型必须明确的标识为可空

如果str不是一个有效的数字串则返回 null

fun parseInt(str: String): Int? {
  // ...
}

返回可空类型值的函数:

fun main(args: Array<String>) {
  if (args.size < 2) {
    print("Two integers expected")
    return
  }
  val x = parseInt(args[0])
  val y = parseInt(args[1])

  // 直接使用`x * y` 会出错,因为它们可能包含空值
  if (x != null && y != null) {
    // 空值检查操作后x和y自动转换为不可空类型
    print(x * y)
  }

  if (x == null) {
    print("Wrong number format in ‘${args[0]}‘")

    return
  }


  if (y == null) {
    print("Wrong number format in ‘${args[1]}‘")
    return
  }

  // x and y are automatically cast to non-nullable after null check
  print(x * y) 

类型检查和自动类型转换

is 操作符用于检查一个表达式是否是指定类型的实例. 如果一个不可变局部变量或属性经过检查后是目标类型就不需要再做 明确的类型转换了:

时间: 2024-12-06 11:37:17

Kotlin编程语言的相关文章

Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言

今年 5 月,谷歌在 I/O 大会上宣布,Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言. Kotlin 是一种面向现代多平台应用程序的编程语言,成为谷歌开发 Android 应用程序的首选语言后,许多开发人员逐渐地从 Java 转向 Kotlin.根据最新的一项调查显示,有 62% 的开发人员使用 Kotlin 来构建移动应用程序,另有 41% 的开发人员使用 Kotlin 来构建 Web 后端项目. 而随着 Kotlin 的出现,越来越多的知名组织愈加重视移动应用程

Google Android Studio Kotlin

Google Android Studio Kotlin 开发环境配置 Google 近日开发者大会宣布Kotlin成为Android开发的第一级语言,即Android官方开发语言,可见Google对Kotlin的重视,本文就介绍一下Android Studio下的Kotlin开发环境配置以及示例程序. 由于楼主是C++程序员,不是Java出身,也不太懂移动端的Android开发,业余时间想学习Android移动端开发,但是楼主又不想学Java,该如何是好呢(O(∩_∩)O哈哈~),正好Kotl

Kotlin 开篇

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发官网地址:http://kotlinlang.org.JetBrains,作为目前广受欢迎的 Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言.开源地址:https://github.com/JetBrains/kotlinKotlin是JVM上的静态类型语言.可以和java相互调用. 学习LotLin

我为什么放弃java学习Kotlin?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 我为什么放弃java学习Kotlin? - 一个学渣走向android之路 - 博客频道 - CSDN.NET 一个学渣走向android之路 坚持做自己懒得做但是正确的事情,你就能得到别人想得到却得不到的东西. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评

localhost、127.0.0.1、本机IP、虚拟主机、kotlin

(问题起源于:tomcat发布的项目,用localhost和本机ip访问得到的结果不同.) 直接上链接: localhost.127.0.0.1.本机IP: https://www.zhihu.com/question/23940717#answer-5775920: 该链接中摘录一部分: localhost 是个域名,不是地址,它可以被配置为任意的 IP 地址,不过通常情况下都指向 127.0.0.1(ipv4)和 [::1](ipv6): 整个127.* 网段通常被用作 loopback 网

kotlin 官方学习教程之基础语法

Google 在今天的举行了 I/O 大会,大会主要主要展示内有容 Android O(Android 8.0)系统.Google Assistant 语音助手.Google 智能音箱.人工智能.机器学习.虚拟现实等.作为一个 Android 开发者,我关心的当然是 Android O(Android 8.0)系统了,那么关于 Android O 系统的一个重要消息是全面支持 Kotlin 编程语言,使得 Kotlin 成为了 Android 开发的官方语言,被称为 Android 开发中的 S

Kotlin 语言作为Android新的官方语言

苹果用 swift 作为官方语言替代 object-c  ; 谷歌 刚开完io大会 也宣布 用  kotlin 作为官方语言 替代java.工具还是xcode ,android studio. 来自于著名的 IDE IntelliJ IDEA(Android Studio 基于此开发) 软件开发公司 JetBrains(位于东欧捷克)起源来自 JetBrains 的圣彼得堡团队,名称取自圣彼得堡附近的一个小岛 (Kotlin Island). 介绍: Kotlin 这是一种基于 JVM 的静态类

Android Kotlin (一) —— 语言结合

2017 Google I/O 大会开始就宣布,将Kotlin语言作为安卓开发的一级编程语言. Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发. Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行. JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言. Kotlin已正式成为Android官方支持开发语言. 新版的Androi

Kotlin在Android工程中的应用

Kotlin在Android工程中的应用 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 简介 Kotlin是由JetBrains设计的开放源码的编程语言,它正在Java开发者中变得越来越流行.Kotlin通常被吹捧为Java的继承者,相比较Java而言,Kotlin提供更为丰富的开发经验,因为它更现代,更具表现力和更简介. 如果你在寻求Android开发的可替代编程语言,那么应该试一下Kotlin.使用Kotlin,你可以很容易的在Android工程中替代Ja