kotlin基本语法和使用

<帅气的码农./> <帅气的码农./>     2022-09-06     403

关键词:

     

  • Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性。
  • Kotlin是使用Java开发者的思维被创建的,Intellij作为它主要的开发IDE。对于 Android开发者,有两个有趣的特点:
  • 对Java开发者来说,Kotlin是非常直觉化的,并且非常容易学习。语言的大部 分内容都是与我们知道的非常相似,所以能迅速地掌 握它。
  • AndroidStudio作为目前最流行的Android开发工具,能够非常完美地理解、编译运行Kotlin代码。AndroidStudio 3.0之后已经完美支持kotlin

      1.下面是AndroidStudio的配置 

   1.1 在Project对应的build.gradle文件中添加如下代码:

            ext.kotlin_version = '1.1.2-4' //kotlin版本号

       classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 

           1.2 在module对应的build.gradle文件 中添加代码::

            添加插件 apply plugin: 'kotlin-android' 

            添加依赖库 compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

            重新build project就可以使用kotlin了。

  2.下面说下kotlin的基本语法(借鉴了Kotlin的官网文档)

        基本类型Basic Types

   2.1 Number类型

    

            定义变量

    val a: Int = 10000

    val boxedA: Int? =

    val b: Byte = 1

    每个Number类型的变量支持如下方法进行转换

    

    如:val i: Int = b.toInt()

   2.2 Operations

    如 val x = (1 shl 2) and 0x000FF000

     

       2.3 Characters

     字符型 定义如:val c: Char = 'C'

    2.4 Booleans

    布尔类型 定义如:val b: Boolean = false;

   2.5 Arrays 

    数组类型 定义如:val x: IntArray = intArrayOf(1, 2, 3)

  2.6 Strings

    字符串类型 定义如:val s = "Hello, world"

  

  3.基本语法

  3.1 if语句

  

 

    3.2 when语句(替代了java里的switch)

  

   3.3 for循环语句

  

  循环遍历集合collection里面的数据 并输出

   3.4 while 和 do...while语句和java类似

  

 4. 方法的定义

  格式如:fun 方法名(参数名 :参数类型):返回值类型{

      }

   比如:

  

  我们还可以给参数设置默认值 如:

  fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size()) { ... }

  5. 类的定义

  格式如:class 类名{

      }

  在Kotlin中,一个类有一个primary constructor,一个或多个secondary constructors。primary constructor 属于类头部分,它在类名之后。

  

  如果primary constructor没有任何注解或者指示符,constructor关键字可以被省略。

  

       相反,如果primary constructory有注解或者可见的指示符,constructor是必须的。

  

  primary constructor不能包含任何的代码,初始代码可以放在初始块中,初始化代码块以init关键字开头。

  

  需要注意的是,在主构造函数里,可以直接用这些参数变量赋值给类的属性,或者用构造代码块来实现初始化。

  

 

  Secondary Constructors

  除了primary constructory,还有secondary constructors,同样也是constructor开头,位于类体中。 
  值得说明的是,如果primary constructory和secondary constructors同时存在,每个secondary constructor需要委托到primary constructor中去,或者间接通过另一个secondary constructors来委托。使用方法就是使用            this,表示委托到本类的另一个构造函数中。

  

  如果非抽象的类没有声明任何的构造函数,它默认继承一个没有任何参数的公有构造器,这个跟Java中的默认构造器类似。如果希望它继承的是一个私有的构造器,就需要显示的指明。

  

  创建类的对象实例我们可以这么实现

  val invoice = Invoice()

  val customer = Customer("帅气的码农")

 

  6. 类的继承

   用“:”冒号实现类的继承

   定义一个父类 Person

   open class Person(age: Int)  //open关键字跟Java中的final是相反

   子类继承

   class Child(age: Int) : Person(age)

   如果父类没有primary constructor,子类的每个secondary constructor在右边使用super来对它进行初始化。

   class Child : Person {

    constructor(ctx: Context) : super(ctx) { }

    constructor(ctx: Context, attrs: AttributeSet) : super(ctx, attrs) { }

    }

  7. 方法重写

   重写成员函数

   对于可以重写的函数,都需要显示的指明,使用的是open关键字。如果没有,在子类中声明跟父类相同的方法是非法的。

   open class Person {

     open fun v() {}

     fun v() {}

      }

   class Child() : Base() {

      override fun v() {}

    }

  在子类中被标记为override的成员函数本身也是可以被重新的,也就是open的,如果希望它禁止被重写,需要使用final关键字。

      重写规则

      如果一个类继承自多个类,并且它的这些父类都有同一个可以重写的函数,那么这个类必须重写这个函数并且提供它自己的实现,另外在子类中指示父类的方法是super<A>,A为父类类名,这样就可以指示不同的父类            了。

 8. 抽象类

  抽象类

  跟Java一样,使用abstract关键字。

 9. Companion Objects

  Kotlin 移除了 static 的概念。通常用 companion object 来实现类似功能。

  我们在 Activity 定义一个静态类型的 string,名叫TAG,和一个启动 Activity 的静态方法:

  

  我们用kotlin可以这么写:

  

  好了 今天先介绍这么多 kotlin还有很多关键字和语法操作符没有介绍到,后续更新!!!

 

kotlin基本语法(译)

...包:源文件可以任意放在文件系统中。##定义功能全Kotlin参考编辑页面基本语法定义包软件包规范应位于源文件的顶部:packagemy.demoimportjava.util.*//…不需要匹配目录和包:源 查看详情

浅谈kotlin:基本类型基本语法代码风格

浅谈Kotlin(一):简介及AndroidStudio中配置 通过上面的文章,在AndroidStudio中我们已经可以进行Kotlin编程了,接下来开始学习Kotlin的基本类型及语法。 一、基本类型  在Kotlin中,所有变量的成员方法和属性都是一个对象... 查看详情

kotlin小笔记kotlin的基本语法(代码片段)

本文目录kotlin学习-基本语法1.简介2.运行3.逻辑控制1.if条件语句2.when条件语句循环语句4.面向对象5.接口6.可见修饰符7.数据类8.单例类kotlin学习-基本语法1.简介对比java1.语法简洁,代码量少2.语法高级3.语言安全性。杜绝空指针... 查看详情

kotlin学习三:初步认识kotlin(第二篇)

上一章熟悉了kotlin基本的变量和函数声明,并明白了如何调用函数。本章再来看一些其他有用的东西包括:  1.kotlin代码组织结构  2.when语法  3. 循环迭代语法  4.in检查操作符  5. try表达式1.代码组织结构和JAV... 查看详情

一个swifter的kotlin学习——kotlin基本语法

...是干货满满的,身为程序员最让我刚兴趣的还是谷歌宣布kotlin成为安卓第一开发语言这确实是个比较震撼的消息,身为移动端开发的我,势必要及时掌握这门开发语言。个人看了kotlin的中文文档,感觉它的语法和swift十分相像(... 查看详情

markdown[kotlin基本语法]#kotlin(代码片段)

查看详情

kotlin基本的语法学习(代码片段)

1.变量在Kotlin中定义变量的方式和Java区别很大,在Java中如果想要定义一个变量,需要在变量前面声明这个变量的类型,比如说inta表示a是一个整型变量,Stringb表示b是一个字符串变量。而Kotlin中定义一个变量,... 查看详情

kotlin语法总结:函数类型和高阶函数(代码片段)

Kotlin中每一个函数都有一个类型,称为“函数类型”,函数类型作为一种数据类型与基本数据类型在使用场景没有区别。可以声明变量,也可以作为其他函数的参数或者其他函数的返回值使用。函数类型函数类型就是... 查看详情

kotlin------数据类型和语法

今天简单的来介绍Kotlin的基本语法。编程语言大多相通的,会基础学起来都很快,理论都一样,实现的代码语言不一样而已。数值类型Kotlin处理数值的方法和java很相似,但不是完全一样。比如,不存在隐式转换数值的精度,并... 查看详情

kotlin语法学习(代码片段)

Kotlin语法学习(一)变量和函数变量在Kotlin中定义变量的方式和java有很大的区别,在java中有很多的基本类型和一些引用类型,但是在Kotlin中定义一个变量只允许在变量前面声明两个关键字:val和varval(value的简写)用来声明一个不可变的... 查看详情

30分钟了解kotlin基本语法

本文来源:你我学习网http://www.niwoxuexi.com,转载请备注出处:https://www.niwoxuexi.com/blog/kotlin/article/236.html一、定义包包的声明应处于源文件顶部:package my.demo  import java.util.*  // ……目录与包的结构无 查看详情

kotlin基本的语法学习(代码片段)

1.变量在Kotlin中定义变量的方式和Java区别很大,在Java中如果想要定义一个变量,需要在变量前面声明这个变量的类型,比如说inta表示a是一个整型变量,Stringb表示b是一个字符串变量。而Kotlin中定义一个变量,... 查看详情

android:kotlin详细入门学习指南-类和对象(上)-基础语法(代码片段)

本人也是在初学Kotlin,如有错误,请帮忙指出,持续更新Android:Kotlin详细入门学习指南-类和对象-基础语法(四)建议先看看前面的文章Android:Kotlin详细入门学习指南-基础语法(一)Android:Kotlin详细入门学习... 查看详情

android:kotlin详细入门学习指南-类和对象(下)-基础语法(代码片段)

本人也是在初学Kotlin,如有错误,请帮忙指出,持续更新Android:Kotlin详细入门学习指南-类和对象(下)-基础语法(五)建议先看看前面的文章Android:Kotlin详细入门学习指南-基础语法(一)Android:Kotlin详细入门学... 查看详情

kotlinkotlin的基本语法(代码片段)

本文目录kotlin学习-基本语法1.简介2.运行3.逻辑控制1.if条件语句2.when条件语句循环语句4.面向对象5.接口6.可见修饰符7.数据类8.单例类kotlin学习-基本语法1.简介对比java1.语法简洁,代码量少2.语法高级3.语言安全性。杜绝空指针... 查看详情

浅谈kotlin:类

浅谈Kotlin(一):简介及AndroidStudio中配置浅谈Kotlin(二):基本类型、基本语法、代码风格 前言:  已经学习了前两篇文章,对Kotlin有了一个基本的认识,往后的文章开始深入介绍Kotlin的实战使用。  本篇介绍Kotlin中... 查看详情

kotlin语法入门篇章(代码片段)

Java和Kotlin数据类型对比表Java基本数据类型Kotlin对象数据类型数据类型说明intInt整形longLong长整型shortShort短整形floaFloat单精度浮点型doubleDouble双精度浮点型booleanBoolean布尔型charChar字符型byteByte字节型 点击右侧绿色按钮运行函... 查看详情

kotlinvsjava:基本语法差异(代码片段)

Kotlin比Java更年轻,但它是一个非常有前途的编程语言,它的社区不断增长。每个人都在谈论它,并说它很酷。但为什么这么特别?我们准备了一系列文章,分享我们在Kotlin开发Android应用程序的经验。我们将讨... 查看详情