首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android:这是一份全面 & 详细的Kotlin入门学习指南

在Kotlin中,有一些观念是和Java存在较大区别的,一些基本观念需要注意的: 操作对象:在Kotlin中,所有变量的成员方法和属性都是对象,若无返回值则返回Unit对象,大多数情况下Uint可以省略...支持默认参数,即在调用函数时可不指定参数,则使用默认函数 class User(userName: String = "hjc", age: Int = 26){ } // 在实例化类时不传入参数,userName...= User(age = 26) // Kotlin没有new关键字,所以直接创建类的实例: User() 对于构造函数,Kotlin中类可有一个主构造函数 & 多个次构造函数,下面将详细说明。...时,执行代码块3 // 当a=其他值时,执行代码块4 // 注意:when语句在满足条件的分支执行后,会终止when语句执行 for语句 类似Java中的for语句 // 示例1:表达一个数字是否在目的范围内...可空类型与非空类型 * 在Kotlin中,有两种情况最可能导致出现NullPointerException **/ // 情况1:显式调用 throw NullPointerException(

2.8K20

Carson带你学Android:这是一份全面 & 详细的Kotlin入门学习指南

在Kotlin中,有一些观念是和Java存在较大区别的,一些基本观念需要注意的: 操作对象:在Kotlin中,所有变量的成员方法和属性都是对象,若无返回值则返回Unit对象,大多数情况下Uint可以省略...支持默认参数,即在调用函数时可不指定参数,则使用默认函数 class User(userName: String = "hjc", age: Int = 26){ } // 在实例化类时不传入参数,userName...= User(age = 26) // Kotlin没有new关键字,所以直接创建类的实例: User() 对于构造函数,Kotlin中类可有一个主构造函数 & 多个次构造函数,下面将详细说明。...时,执行代码块3 // 当a=其他值时,执行代码块4 // 注意:when语句在满足条件的分支执行后,会终止when语句执行 for语句 类似Java中的for语句 // 示例1:表达一个数字是否在目的范围内...可空类型与非空类型 * 在Kotlin中,有两种情况最可能导致出现NullPointerException **/ // 情况1:显式调用 throw NullPointerException(

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    转向Kotlin——基础知识

    F或f,如12.3F 表示十六进制,在数值前面加0x,如0x1F 表示二进制没在数值前面加0b Kotlin还提供数值分隔符,使用下划线(_)分隔,可以根据具体情况进行分隔,举个例子,1000000表示一百万...在Kotlin中定义数组的方法有很多,使用arrayOf()函数定义可以存储任意值的数组;使用arrayOfNulls函数定义指定长度的空数组(数组元素中没有值);使用Array类的构造器指定数组长度和初始化数据的方式定义数组...当然,在Kotlin中,if和when不仅可以作为语句使用,还可以当作表达式使用。...语句 Kotlin中,使用when替换了switch语句,标准使用如下: when (a) { 1 -> { println(1) } 2 -> {...println(2) } else -> { println("else") } } 使用when语句时,应该注意: when语句会根据传入的值寻找第一个满足条件的分支

    1.1K10

    Kotlin 编码规约

    源文件组织 鼓励多个声明(类、顶级函数或者属性)放在同一个 Kotlin 源文件中,只要这些声明在语义上彼此紧密关联并且文件保持合理大小(不超过几百行)。...冒号 在以下场景中的 : 之前留一个空格: 当它用于分隔类型与超类型时; 当委托给一个超类的构造函数或者同一类的另一个构造函数时; 在 object 关键字之后。...而在有参数的嵌套 lambda 表达式中,始终应该显式声明参数。 在 lambda 表达式中返回 避免在 lambda 表达式中使用多个返回到标签。...当在使用多个高阶函数的复杂表达式与循环之间进行选择时,请了解每种情况下所执行操作的开销并且记得考虑性能因素。...在某些情况下,不带参数的函数可与只读属性互换。

    3.2K22

    介绍Kotlin第一部分(翻译篇)

    在我们的第一个我们不返回任何东西,所以我们可以省略到类型,在这种情况下可以使用Unit。在第二个函数中,我们定义必须返回一个String,使用return语句。...在这个代码块中,我们使用默认值来定义我们的函数参数。当我们这么写的时候,我们可以直接调用该函数的0个、1个或者多个它的参数。 ③ 类,接口和对象 与Java一样,Kotlin也具有类和接口。...构造函数绑定类的属性(在大多数情况下可以不用关键字constructor,只需要添加类的注解或类的可见性),另一种方式,使得Kotlin更加简洁,当我们实例化这个类时需要给chop赋值。...最后,我们将调用一个函数,这个函数将返回一个String,它使用字符串插值将它们解析并展示出来。 当向类添加其他构造函数时,我们需要调用它们原始的构造函数。...如果Kotlin语句实际上是表达式,它返回它们块中的最后一个值, b、when 我们常用的switch-case与三元运算符有着同样的命运,它已被Kotlin的when所取代。

    66540

    Kotlin入门(15)独门秘笈之特殊类

    嵌套类 一个类可以在单独的代码文件中定义,也可以在另一个类内部定义,后一种情况叫做嵌套类,意即A类嵌套在B类之中。乍看过去,这个嵌套类的定义似乎与Java的嵌套类是一样的,但其实有所差别。...嵌套类的调用代码如下所示: btn_class_nest.setOnClickListener { //使用嵌套类时,只能引用外部类的类名,不能调用外部类的构造函数...出现此种情况的缘故是,when语句不晓得SeasonType只有四种枚举值,因此以防万一必须要有else分支,除非编译器认为现有的几个分支已经足够。...get/set方法; 3、在判断两个数据对象是否相等时,通常每个字段都比较一遍; 4、在复制数据对象时,如果想修改某几个字段的值,得再补充对应数量的赋值语句; 5、在调试程序时,为获知数据对象里保存的字段值...入门(11)江湖绝技之特殊函数》中,提到了泛型函数,当时把泛型函数作为全局函数定义,从而在别的地方也能调用它。

    1.3K30

    从点滴基础探究Kotlin的独特魅力

    . ③ 语句和表达式的区别:表达式有值,并且能作为另一个表达式的一部分使用;语句总是包围着它的代码中的顶层元素,并且没有自己的值. ④ return if(a>b) a else b : 这句话就是函数体...return语句. ② 如果函数体是在花括号中,我们说这个函数由代码块体;如果它直接返回一个表达式,它就有表达式体. ③ IDEA提供表达式函数体与代码块函数体之间的转换意向动作....重构: 用"when" 代替 "if" kotlin没有三元运算符,因为if表达式有返回值.而当我们使用if的时候,可以使用表达式语法: 去掉return语句和花括号,使用if表达式作为函数体. 1.使用有返回值的..."kotlin"之间的字符串,但是仍然可以使用in 运算符检查一个其他对象是否属于这个区间. 10 kotlin 中的异常 与java类似,方法的调用者能捕获到这个异常并处理它;如果没有被处理,异常会沿着调用栈再次抛出...在变量名称前加上 前缀 或者 用{ }包围一个表达式,来把值注入到字符串中.③ 值对象类在kotlin中简洁的方式表示.④ kotlin 中的 if 是带返回值的表达式.⑤ when 表达式替代了

    2.7K30

    Kotlin快速上手

    Null 安全 在某些语言中,可以声明引用类型变量而不明确提供初始值。在这些情况下,变量通常包含 null 值。默认情况下,Kotlin 变量不能持有 null 值。...例如,在 Java 中,如果您尝试对 null 值调用方法,您的程序会发生崩溃。 条件语句 Kotlin 提供了几种用来实现条件逻辑的机制,其中最常见的是 if-else 语句。...when 表达式示例中的代码在功能上与上一个示例中的代码等效,但可以说更易读。 Kotlin 的条件语句彰显了它的一项更强大的功能,即智能类型转换。...函数 您可以将一个或多个表达式归入一个函数。您可以将相应的表达式封装在一个函数中并调用该函数,而不必在每次需要某个结果时都重复同一系列的表达式。 要声明函数,请使用 fun 关键字,后跟函数名称。...某些函数由其输入和输出更直接地进行标识。这些函数称为“匿名函数”。您可以保留对某个匿名函数的引用,以便日后使用此引用来调用该匿名函数。与其他引用类型一样,您也可以在应用中传递引用。

    1.2K10

    Kotlin学习日志(五)类与对象

    抽象方法没有具体的函数体,故而外部无法直接声明抽象类的实例,只有在子类继承时重写方法,方可使用该子类正常声明对象实例。...{ //when语句判断大于和小于时,要把完整的判断条件写到每个分支中 times 0 times >=7 -> 6...{ //when语句判断大于和小于时,要把完整的判断条件写到每个分支中 times 0 times >=7 -> 6...3.4 接口 Kotlin的接口与Java一样是为了间接实现多重继承,由于直接继承多个类可能存在方法冲突等问题,因此Kotlin在编译阶段就不允许某个类同 时继承多个基类,否则会报错,于是,只能通过接口定义几个抽象方法...Kotlin学习日志(三)控制语句 Kotlin学习日志(四)函数

    1.2K20

    Kotlin安卓开发学习(1)

    当然,除了让程序自动推导变量类型,我们也可以自己显式地设定变量类型,使用如: val a: Int = 10 将a变量声明为了Int类型 函数: Kotlin允许我们自己定义函数,基本语法规则如下: fun...需要注意的是这里有一个语法糖: 当一个函数中只有一行代码时,Kotlin允许我们不必编写函数体,可以直接将唯一的一行代码写在函数定义的尾部,中间用等号连接即可。...中的if使用方法与Java中几乎相同,但在一些地方进行了优化: Kotlin中的if语句相比于Java有一个额外的功能,它是可以有返回值的,返回值就是if语句每一个条件中最后一行代码的返回值。...when条件语句 Kotlin中的when条件语句类似于Java中的switch,但又比switch功能强大。...语句允许传入一个任意类型的参数,然后可以在when的结构体中定义一系列的条件。

    78530

    Kotlin学习笔记

    Kotlin 基础知识 1.1 函数结构: 1.2 变量 1.3 when、循环语句 1.3.1 when 1.3.2 循环语句 1.4 Kotlin 异常处理 1.5 "?" 和 "!!"...中有 switch 语句,在 Kotlin 中使用 when 来代替 switch when(参数){ 参数1 -> { //... } 参数1 -> {...(有默认值的情况下才可以) joinToString(list) joinToString(list, prefix = "# ") 1.7 顶级函数和属性(静态的) 在 Java 中我们需要把函数和属性放在一个类中...,在 Kotlin 中我们可以把某个函数或属性直接放到某个 Kotlin 文件中,把这样的函数或属性称之为 顶级函数或属性。...因为 JVM 虚拟机只能执行类中的代码,所以 Kotlin 会生成一个名叫 JoinKt 的类,并且顶级函数是静态的,所以可以在 Java 中这样调用顶级函数: JoinKt.joinToString(

    1.9K30

    Android:关于Kotlin的入门语法指南(类、变量 & 函数)都总结在这里了!

    基本观念 在Kotlin中,有一些观念是和Java存在较大区别的,一些基本观念需要注意的: 1.1 操作对象 在Kotlin中,所有变量的成员方法和属性都是对象 若无返回值则返回Unit对象,大多数情况下...Uint可以省略; Kotlin 中无 new 关键字 1.2 数据初始化 在Kotlin中,而不管是常量还是变量在声明是都必须具有类型注释或者初始化 若在声明 & 进行初始化无注明,则自行推导其数据类型...1.3 编译的角度 和Java一样,Kotlin同样基于JVM 区别在于:kotlin是静态类型语言,即所有变量和表达式类型在编译时已确定 1.4 撰写 在Java中,使用分号“;”标志一句代码结束 在...注:区别于Java,在Kotlin中字符(char)不属于数值类型,是一个独立的数据类型。...其他语法糖 关于Kotlin的一些实用语法糖,主要包括: 控制流(if、when、for、 while) 范围使用(in、downTo、step、until) 类型检查 & 转换(is、智能转换、as)

    1.6K30

    Kotlin系列一:基础知识快速入门

    当一个函数中只有一行代码时,Kotlin允许我们不必编写函数体,可以直接将唯一的一行代码写在函数定义的尾部,中间用等号连接即可: fun largerNumber(num1: Int, num2: Int...的语法糖里,当一个函数只有一行代码时,可以省略函数体部分,直接将这一行代码使用等号串连在函数定义的尾部。...条件语句 Kotlin中的when语句类似于Java中的switch语句,但比Java中的switch语句要灵活很多。...语句允许传入一个任意类型的参数,然后可以在when的结构体中定义一系列的条件,格式是: 匹配值 -> { 执行逻辑 } 当你的执行逻辑只有一行代码时,{ }可以省略。...注意,Kotlin中判断字符串或对象是否相等可以直接使用==关键字,而不用像Java那样调用equals()方法。

    82510

    最强总结 | 带你快速搞定kotlin开发(中篇)

    委托到同一个类的另一个构造器时, 使用 this 关键字实现。 到这里,我想大家一定会好奇,init代码块和次级构造函数的执行顺序是什么? 初始化代码段中的代码实际上会成为主构造器的一部分....对主构造器的委托调用, 会作为次级构造器的第一条语句来执行, 因此所有初始化代码段中的代码, 以及属性初始化代码, 都会在次级构造器的函数体之前执行....data class声明的数据类型,会根据构造器中声明的属性自动推断出equals方法,在kotlin中equals方法等同于双等号“==”,而双等号在Java中是比较引用(地址)是否相等,在kotlin...: 我们一定使用过一些在判断一些属性是空时,给它赋上一个默认值的经历,这样的代码写起来也是挺无聊的,kotlin通过?:可以为我们做一些简化,user.name ?...inline内联函数 简单点讲,就是使用inline声明的函数,在调用的时候,直接将内联函数体直接copy到调用的位置,也就是说如果这个函数有多处调用,就会多次的将同样的代码插入到调用的位置。

    70020

    Kotlin 基础 | 拒绝语法噪音

    return a+b ; } //kotlin fun add(a: Int, b: Int): Int = a+b 在 lambda 表达式中包含多条语句或表达式时,若省略return,则默认将最后一个表达式的值作为返回值...when是一个表达式,这意味着它有返回值,返回值等于命中分支中最后一条语句的返回值。 default java中的default保留字用于接口中默认方法的实现。在kotlin中可以省去它。...kotlin中,发起调用扩展函数的那个对象,叫接收者对象。同理,发起调用lambda的对象叫做lambda接收者。...新建对象时不需要new,而是直接调用构造函数。 语句末尾不需要; 但加上也不会有语法错误。 kotlin 中类和方法默认是final的,他们不能被继承和重写。只有通过加上open后才能被继承和重写。...kotlin 使用扩展函数,可以在类体外给类新增方法。 kotlin 预定了很多扩展函数,其中有一类适用于“对同一个对象做多次操作”。包括also()、apply()、let()、with()。

    1.1K30

    干货 | Kotlin超棒的语言特性

    同时,Kotlin还引入了字符串模板,可以在字符串中直接访问变量和使用表达式: ? 04 强大的when语句 Kotlin中没有switch操作符,而是使用when语句来替代。...Kotlin能够扩展一个类的新功能,这个扩展是无痕的,即我们无需继承该类或使用像装饰者的设计模式,同时这个扩展对使用者来说也是透明的,即使用者在使用该类扩展功能时,就像使用这个类自身的功能一样的。...典型的场景是在某些地方,比如函数内部,我们需要零碎地使用一些一次性的对象时,非常有用。 ? 第三,对象声明。这个特性类似于Java中的单例模式,但我们不需要写单例模式的样板代码即可以实现。 ?...考虑下面四种场景: 在变量定义中,代表变量的类型 在类定义中,代表基类的类型 在函数定义中,代表函数返回值的类型 在匿名对象中,代表对象的类型 笼统来说,Kotlin的设计者应该就是想用冒号来笼统表示类型这一概念...在Kotlin中,函数本身也是对象,可以拥有类型并实例化。Kotlin 使用类似 (Int) -> String 的一系列函数类型来处理函数的声明,比如我们常见的点击回调函数: ?

    1.5K40

    Kotlin与Java的异同(一)

    语句和表达式的区别在于,表达式有值,并且能作为另一个表达式的一部分使用;而语句总是包围着它的的代码块中的顶层元素,并且没有自己的值。在Java 中,所有的控制结构都是语句。...默认情况下,应该尽可能地使用 val 关键字 来声明所有的 Kotlin 变量,仅在必要的时候换成var。使用不可变引用、不可变对象及无副作用的函数让代码更接近函数式编程风格。...中的when结构对应Java 中的switch语句。...Kotlin 中调用顶层函数: com.example.kotlin.strings.joinToString(arrayList, ";", "", "") 在 Java 中调用顶层函数...= "Kotlin" 在 Kotlin 中调用顶层函数: com.example.kotlin.strings.LANGUAGE_KOTLIN 在 Java 中调用顶层函数:

    1.8K20
    领券