Kotlin基础教程-基础语法
2017-05-25 16:58
162 查看
Basic Syntax
这里面的包定义和Java有一点不同,它和文件所在的路径没有关系,但是编译过后,却会按照包名来生成路径
函数关键字为
而且调用函数,没有对象的概念,直接调用了。
(编译过程有点慢啊)
也可缺省
变量,关键字var
这种表达式在REPL中无法实现报错:
所以还是用IDEA展示下
字符串中调用函数
条件表达式
这个很scala,看下scala的定义:
一模一样,两者利用的是最后一个语句块作为返回值,无需用return返回。
包的定义
package com.doctorq import java.util.* fun main(args:Array<String>){ println("HelloWorld") }
这里面的包定义和Java有一点不同,它和文件所在的路径没有关系,但是编译过后,却会按照包名来生成路径
函数定义
带返回值的函数
fun sum(a:Int,b:Int):Int{ return a+b }
函数关键字为
fun(少敲几个字母了),参数名和类型要倒叙,返回值用:后面跟类型。这个很Scala
而且调用函数,没有对象的概念,直接调用了。
(编译过程有点慢啊)
表达式函数
fun sum(a: Int, b: Int) = a + b
无返回值的函数
Unit关键字表示fun printSum(a: Int, b: Int): Unit { println("sum of $a and $b is ${a + b}") }
也可缺省
fun printSum(a: Int, b: Int) { println("sum of $a and $b is ${a + b}") }
本地变量
常量,关键字valval a:Int = 1 val b = 1
变量,关键字var
val c c = 1
这种表达式在REPL中无法实现报错:
所以还是用IDEA展示下
注释
可以使用双斜杠//注释一行语句,或者/**/的格式注释语句块格式化字符串
在字符串中输出字符串,以$+变量名的形式就可以直接读取字符串的值val name:String="doctorq" println("Hello World,$name")
字符串中调用函数
val name:String="doctorq" val s = "Hello World,$name" val age = "27" val s2 = "${s.replace("World","Girl")},I am $age"
条件表达式
正常语句fun maxOf(a: Int, b: Int): Int { if (a > b) { return a } else { return b } }
条件表达式
fun maxOf(a: Int, b: Int) = if (a > b) a else b
这个很scala,看下scala的定义:
一模一样,两者利用的是最后一个语句块作为返回值,无需用return返回。
空值安全检查
对于可能返回空值的函数,必须标注出来,在返回值类型后面跟?表示,比如有一个函数返回Int值,如果可能返回空值,那就要写成Int?相关文章推荐
- kotlin 官方学习教程之基础语法详解
- Kotlin基础教程-基础语法(2)
- Android 谷歌官方Kotlin语言入门教程(一)基础语法
- kotlin 官方学习教程之基础语法
- XAML语法术语基础教程(3)
- ASP.NET MVC3 系列教程 - Razor视图引擎基础语法
- CodeSmith使用基础教程 (3) — 语法与对象
- jquery基础教程 选择器(selectors 的xpath语法应用)
- CodeSmith使用基础教程 三 — 语法与对象
- ASP.NET MVC3 系列教程 - Razor视图引擎基础语法
- XAML语法术语基础教程(2)
- CodeSmith使用基础教程 三 — 语法与对象
- python 基础教程之语法篇章——一小时入门python__对比python与C语言的语法异同
- ArcGIS Runtime SDK for iOS开发系列教程(3)——Objective-C语法基础
- FreeMarker基础语法教程
- FreeMarker 基础语法教程
- [jQuery教程]jquery基础教程七选择器(selectors的xpath语法应用)
- CodeSmith使用基础教程 三 — 语法与对象
- WAP建站WML语言语法基础教程
- 【网站制作视频教程】-第01讲 html标记语法基础!-传智播客