Kotlin学习笔记(二)——示例篇一

介绍了基本的一些语法,现在用最真实的Demo,来进行深入学习KotLin!
参考链接是:https://try.kotl.in
在Intellij IDEA 开发环境里,新建一个kt文件,这里写图片描述
即可进行kt文件的开发编辑!

示例一

任何语言最经典的Demo——hello world:

/**
 * We declare a package-level function main which returns Unit and takes
 * an Array of strings as a parameter. Note that semicolons are optional.
 */

fun main(args: Array<String>) {
    println("Hello, world!")
}

分析:上面的代码没有什么可以分析的,就写了一个主函数,并且打印“hello ,world!”, 唯一的可以参考的是参数,写法是先写变量名,跟着一个”:“后面是变量的类型。同时和Java的一个区别是每一条语句之后,不需要加”;“ 同时该函数是没有返回值的,所以省略了Unit关键字

示例二

/**
 * Line 13 demonstrates string templates and array access.
 * See this pages for details:
 * http://kotlinlang.org/docs/reference/basic-types.html#strings
 * http://kotlinlang.org/docs/reference/basic-types.html#arrays
 */

fun main(args: Array<String>) {
    if (args.size() == 0) {
        println("Please provide a name as a command-line argument")
        return
    }
    println("Hello, ${args[0]}!")
}

分析:字符串动态拼接使用 ${ } 来进行字符串的动态拼接!

示例三

/**
 * Line 2 demonstrates the for-loop, that would have been called "enhanced"
 * if there were any other for-loop in Kotlin.
 * See http://kotlinlang.org/docs/reference/basic-syntax.html#using-a-for-loop
 */

fun main(args: Array<String>) {
    for (name in args)
        println("Hello, $name!")
}

分析:使用的是增强for循环来进行集合遍历,循环写的语法是:

for(变量名 in 变量集合)

扩展:把示例二和实例三进行比较,可以发现字符串替换的方式不一样,在此写个Demo看一下运行的结果,发现其实没有什么区别(如果您知道,希望可以告诉我一下哈):

fun main(args: Array<String>) {

    println(myName("张三"))
    println(myNameB("李四"))
}

fun  myName( name : String) : String{
    return "Hello, ${name}!"
}
fun  myNameB( name : String) : String{
    return "Hello, $name!"
}

运行结果:

Hello, 张三!
Hello, 李四!

示例四

/**
 * In this example, `val` denotes a declaration of a read-only local variable,
 * that is assigned an pattern matching expression.
 * See http://kotlinlang.org/docs/reference/control-flow.html#when-expression
 */

fun main(args: Array<String>) {
    val language = if (args.size() == 0) "EN" else args[0]
    println(when (language) {
        "EN" -> "Hello!"
        "FR" -> "Salut!"
        "IT" -> "Ciao!"
        else -> "Sorry, I can't greet you in $language yet"
    })
}

分析:上面的示例使用val 关键字进行变量的声明,通过一个表达式来确定变量的值,使用if -else进行选择;另外使用了一个when(),when-else 必须配合使用;符合某一条件可以使用 -> 或者使用{} 进行包裹!
println()方法是在哪呢?Java可以导包,但是Kotlin没有发现导包的痕迹?经过查找,println()方法在包kitlon.io 包下,具体API地址:
http://www.kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/index.html

示例五

/**
 * Here we have a class with a primary constructor and a member function.
 * Note that there's no `new` keyword used to create an object.
 * See http://kotlinlang.org/docs/reference/classes.html#classes
 */

class Greeter(val name: String) {
    fun greet() {
        println("Hello, ${name}");
    }
}

fun main(args: Array<String>) {
    Greeter(args[0]).greet()
}

分析:以上代码创建了一个含有一个参数的构造函数类,并且该类有一个成员方法。调用类的方法并没有像Java一样需要new一下,而是直接调用构造函数,就像上面的Demo,
Greeter(args[0]).greet()

以上就是一些简单的Demo学习!不足之处或理解有错误的地方请不吝指正,在此提前感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值