您的位置:首页 > 其它

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

2015-10-12 17:18 375 查看
介绍了基本的一些语法,现在用最真实的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学习!不足之处或理解有错误的地方请不吝指正,在此提前感谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: