Kotlin系统入门与进阶(一)

Kotlin中文文档:http://www.kotlindoc.cn/GettingStarted/Basic-Syntax.html
https://www.kotlincn.net/docs/reference/basic-types.html

一、什么是Kotlin?

Kotlin就是一门可以运行在Java虚拟机、Android、浏览器上的静态语言,他与Java 100%兼容,如果对Java熟悉,可以发现Kotlin拥有自己的标准库之外,大都仍然使用经典的Java集合框架。
2016.2发布正式版1.0
2016.9发布1.0.4,支持apt

二、创建工程

先下载Intellij IDEA

file—>new—project:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

三、Kotlin的数据类型

在Kotlin中已经不再区分装箱和拆箱

这里写图片描述

val aBoolean: Boolean = true
val anotherBoolean: Boolean = false

val anInt: Int = 8
val anotherInt: Int = 0xFF
val moreInt: Int = 0b00000011
val maxInt: Int = Int.MAX_VALUE
val minInt: Int = Int.MIN_VALUE

val aLong: Long = 12368172397127391
val another: Long = 123
val maxLong: Long = Long.MAX_VALUE
val minLong: Long = Long.MIN_VALUE

val aFloat: Float = 2.0F
val anotherFloat: Float = 1E3f
val maxFloat: Float = Float.MAX_VALUE
val minFloat: Float = -Float.MAX_VALUE

val aDouble: Double = 3.0
val anotherDouble: Double = 3.1415926
val maxDouble: Double= Double.MAX_VALUE
val minDouble: Double= -Double.MAX_VALUE

val aShort: Short = 127
val maxShort: Short = Short.MAX_VALUE
val minShort: Short = Short.MIN_VALUE

val maxByte: Byte = Byte.MAX_VALUE
val minByte: Byte = Byte.MIN_VALUE

fun main(args: Array<String>) {
    println(anotherInt)
    println(moreInt)

    println(maxInt)
    println(Math.pow(2.0, 31.0) - 1)
    println(minInt)
    println( - Math.pow(2.0, 31.0))

    println(maxLong)
    println(Math.pow(2.0, 63.0) - 1)
    println(minLong)
    println(- Math.pow(2.0, 63.0))

    println(aFloat)
    println(anotherFloat)
    println(maxFloat)
    println(minFloat)

    println(maxDouble)
    println(minDouble)

    println(maxShort)
    println(minShort)

    println(maxByte)
    println(minByte)
}

Char类型:

对应java中的Character

val aChar: Char = '0'
val bChar: Char = '中'
val cChar: Char = '\u000f'

fun main(args: Array<String>) {
    println(aChar)
    println(bChar)
    println(cChar)
}

String类型:

val arg1: Int = 0
val arg2: Int = 1
println("" + arg1 + " + " + arg2 + " = " + (arg1 + arg2))
println("$arg1 + $arg2 = ${arg1 + arg2}")

类与对象:

可以支持中文

class 妹子(性格: String, 长相: String, 声音: String): 人(性格, 长相, 声音)
class 帅哥(性格: String, 长相: String, 声音: String): 人(性格, 长相, 声音)

open class 人(var 性格: String, var 长相: String, var 声音: String){
    //构造方法的方法体
    init {
        println("new 了一个${this.javaClass.simpleName}, ta性格:$性格, 长相:$长相, 声音:$声音")
    }
}

fun main(args: Array<String>) {
    val 我喜欢的妹子: 妹子 = 妹子("温柔", "甜美", "动人")
    val 我膜拜的帅哥: 帅哥 = 帅哥("彪悍", "帅气", "浑厚")
    println(我喜欢的妹子 is 人)
}

在Kotlin中,所有类的父类是Any这个类

空类型和智能类型转换:

在用Java时,我们需要判断值是否为空

public class NullUnSafe {
    public static void main(String... args) {
        String name = getName();
        if(name == null){
            System.out.println("name is invalid!!");
        }else{
            System.out.println(name.length());
        }
    }

    public static String getName(){
        return "";
    }
}

但是在Kotlin时:

fun getName(): String?{
    return null
}

fun main(args: Array<String>) {
//当getName()返回null的时候执行return,使用?:符号
//    val name: String = getName() ?: return
//    println(name.length)

    //当我们已经知道value的值不为空,但是打印长度的时候,编译器会报错,原因是因为String后面加了?表示的是可空类型,解决办法是在调用length方法时加两个!!,告诉编译器,此值肯定不为空
    val value: String? = "HelloWorld"
    println(value!!.length)
}

Child继承Parent:
java的写法:

public class TypeCast {
    public static void main(String... args) {
        Parent parent = new Child();
        System.out.println(((Child)parent).getName());

    }
}

Kotlin写法:

fun main(args: Array<String>) {
    val parent: Parent = Parent()
    //如果parent能转成Child则返回child,否则返回null
    val child: Child? = parent as? Child
    println(child)

    val string: String? = "Hello"
    if(string != null)
        println(string.length)
}

这里写图片描述

区间(Range)

val range: IntRange = 0..1024 // [0, 1024]
val range_exclusive: IntRange = 0 until 1024 // [0, 1024) = [0, 1023]

val emptyRange: IntRange = 0..-1

fun main(args: Array<String>) {
    println(emptyRange.isEmpty())
    println(range.contains(50))
    println(50 in range)

    for(i in range_exclusive){
        print("$i, ")
    }
}

这里写图片描述

数组(Array)

val arrayOfInt: IntArray = intArrayOf(1,3,5,7)
val arrayOfChar: CharArray = charArrayOf('H', 'e','l','l','o','W','o','r','l','d')
val arrayOfString: Array<String> = arrayOf("我", "是", "码农")
val arrayOf书记: Array<市委书记> = arrayOf(市委书记("章"), 市委书记("赵"), 市委书记("黄"))

fun main(args: Array<String>) {
    println(arrayOfInt.size)
    for(int in arrayOfInt){
        println(int)
    }

    println(arrayOf书记[1])
    arrayOf书记[1] = 市委书记("方")
    println(arrayOf书记[1])

    println(arrayOfChar.joinToString())
    println(arrayOfInt.slice(1..2))
}

这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Kotlin入门进阶》这本书是针对Kotlin编程语言初学者和进阶者编写的,包括了Kotlin的基础知识、函数式编程、面向对象编程、Kotlin与Java的互操作性以及一些高级主题。 对于初学者而言,这本书通过一步步引导读者学习Kotlin的基础知识,如变量、数据类型、运算符、条件语句、循环语句等等。通过一些简单的例子和实践让读者逐渐掌握Kotlin的基本语法。 对于进阶者而言,本书涵盖了Kotlin的函数式编程、面向对象编程相关知识,这对于喜欢函数式编程的程序员来说是很有意义的。此外,该书还讲解了Kotlin与Java的互操作性,读者可以学习如何在Kotlin和Java之间无缝转换和互操作。 针对高级主题,本书也涉及到了Kotlin协程、Kotlin DSL等相关知识。这些高级主题对于进阶者而言是很有价值的。 总之,《Kotlin入门进阶》是一本适合初学者和进阶者的Kotlin编程入门书籍,它包含了Kotlin的基础知识和高级主题,通过阅读该书,读者可以逐渐掌握Kotlin编程语言,写出更加优秀的程序。 ### 回答2: 《Kotlin入门进阶》是一本深入介绍Kotlin编程语言的书籍,旨在帮助读者从入门到深入掌握该语言。这本书的特点是通俗易懂,适合初学者,同时也提供了一些进阶的知识,可以满足进阶者的需求。以下是该书的主要内容: 一、Kotlin基础知识的讲解。该书介绍了Kotlin的基础语法,包括变量、数据类型、运算符、条件表达式和循环语句等。 二、函数和类的使用。该书详细讲解了Kotlin中函数和类的定义和使用方法,并介绍了继承、接口等概念。同时,还提供了Kotlin中一些高级特性的介绍,如扩展函数、数据类等。 三、高级主题的深入讨论。该书对Kotlin的一些高级主题进行了深入讨论,如协程、Lambda表达式、反射、注解等。这些知识点对于想要深入掌握Kotlin的开发人员非常有用。 四、实战应用。该书提供了一些实战案例,其中包括基于Kotlin进行Android开发和Web开发的案例。这些案例将Kotlin的基本知识和高级特性与实际开发场景相结合,能够帮助开发人员更好地理解Kotlin语言的使用。 五、学习资源。该书还提供了一些学习资源,如在线文档、网站和开发工具的介绍等,这些资源能够帮助开发人员更好地学习和使用Kotlin语言。 《Kotlin入门进阶》是一本非常实用的Kotlin学习指南。读者可以通过该书快速掌握Kotlin的基础知识,同时还可以对Kotlin的高级特性和实战应用有更深入的了解。 ### 回答3: “Kotlin入门进阶”是一本介绍Kotlin语言的入门教材,适合初学者学习和入门。在书中,作者从Kotlin语言基础开始讲起,让读者了解Kotlin的语法、数据类型、循环、条件语句、函数等内容,并介绍了面向对象编程中的类、继承、接口、扩展函数等知识点。同时,书中也提供了大量的实例代码,帮助读者更好地理解Kotlin语言的使用方法。 在进阶部分中,作者将更多地介绍Kotlin语言的高级特性,如协程、注解、DSL、反射、元编程等,让读者进一步掌握Kotlin语言的使用和应用场景,并获得更深入的理解。在进阶部分中,作者也提供了许多实践案例,帮助读者将Kotlin语言应用于实际开发中。 总的来说,“Kotlin入门进阶”是一本非常全面的Kotlin语言教材,能够让初学者快速入门,并能够通过学习进阶部分,获得更深入的理解和应用能力。同时,书中也提供了大量实例代码和实践案例,更利于读者掌握实际开发中Kotlin的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值