经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Kotlin » 查看文章
Kotlin入门学习笔记 - Stars-one
来源:cnblogs  作者:Stars-one  时间:2018/10/19 9:14:57  对本文有异议

前言

本文适合人群 有一定的java基础

变量与方法

  • 变量声明及赋值

    var 变量名: 变量类型

    val 变量名: 变量类型

    这里,var表示可以改变的变量,val则是不可改变的变量(第一个赋值之后,之后都无法改变此变量的数值)
    PS:在kotlin中,类型首字母都是要大写的,还有,冒号之后有空格

  • 变量声明及赋值

    var name =""

    var age= 1

    val name= ""

    ...

赋值的话,直接赋值就好,系统会自动的给变量定义类型

  • 变量声明特殊例子

    name: String?

    声明一个String类型的变量name,name可以为null,这里是空指针防护,在后面会讲到

  • 方法声明格式

    fun 方法名(){

    }

PS:默认为public,返回值为空

  1. fun helloworld() {
  2. print("hello world")
  3. }

无需使用分号,print省略了Java中的System.Out
和java一样,println换行,print不换行

  1. fun helloworld(): String{
  2. print("hello world")
  3. }

返回一个String

  1. protected fun helloworld(): String{
  2. print("hello")
  3. }

声明方法为protected,除此之外,还有private,internal

  • 类的声明

    class Student{
    var name = ""
    var age = 0
    }

这里是写了一个Student类,我们上面虽然只有两行代码,但实际上将其转为java代码时,其实是包含了set和get方法

  1. class Student{
  2. var name = ""
  3. set(value){
  4. field = ...//复写set方法
  5. }
  6. get(value){
  7. ...
  8. }
  9. var age= 0
  10. }
  • companion 伴生方法 相当于java中的静态方法,得在

  • init 主构造方法

  • 实现接口与继承

  • 直接构造方法
    class Student(var name: String,var age: Int){

    }

可以直接通过参数创建一个Student对象

  • 创建对象

    `var s = Student("Zhangsan",15)

    继承父类及实现接口

    class Student: school,Person(){
    ...
    }

循环

for(i in 0..100) 0到100 都取值

for(i in 0 until 100)

for(i in list)

遍历list

swich分支

  1. val result = ""
  2. when(result){
  3. "OK","SUCCESS" -> print("成功")
  4. "Falied" -> {
  5. 一系列操作...
  6. }
  7. else ->{
  8. 一系列操作...
  9. }
  10. }

result如果是OK或者是SUCCESS,执行输出成功,如果是Falied,执行后面的操作,都不符合,则执行else后面定义的操作

如果判断是否是某个类的实例,使用is关键字

  1. val student = Student("Zhangsan",15)
  2. when(result){
  3. is Student -> print("")
  4. else ->{
  5. 一系列操作...
  6. }
  7. }

空指针防护

  • ?. ?

    fun get(name: String?): Int{
    return name?.length ?: 0 //如果name为null,则返回0,
    }

  • ?. 表示前面的变量可能为null

    1. fun toUpperCase(content: String?){
    2. println(content?.toUpperCase) //如果content为null,则不执行
    3. }

视频下载地址:

郭霖—快速上手kotlin链接:https://pan.baidu.com/s/1eo6B8EFdjWpwc-j8yI9iFw
提取码:fvmq

菜鸟kotlin教程

本篇其实也是笔记,可能有不准确的地方,多多包涵

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号