Kotlin 第一站
来源:互联网 发布:mac microsoft office 编辑:程序博客网 时间:2024/05/29 08:19
前言:在网上没有找到什么比较好的教程,虽然有些视频教程,但是本人感觉太浪费时间,就看菜鸟教程敲的一些代码,用作自己学习笔记。
/** * kotlin舍弃了;结尾 * 采用的是函数式编程 * 支持lambda表达式 * 避免空指针异常for循环更灵活 * is的用法类型转换以及自动转换 * vararg 的用法,可变化参数 * */
fun main(arg : Array<String>)
{
println("hello world")
println(sum(1,2))
println(sum2(1,2))
println(sum3(1,2))
method( 3 , 4)
method2( 4, 5)
vars(1,2,3,4,5,6,7,8)
println()
/** * lambda(匿名函数) * lambda表达式使用实例: * */
val sumLambda:(Int,Int)->Int = {x,y -> x+y}
val chengLambda : (Int ,Int) ->Int = {x, y -> x*y}
println(chengLambda(4,8))
println(sumLambda(4,5))
/** * 定义常量用val * 定义变量用var * * */
//系统可以推断变量的类型,所以可以省略类型
var a = 43 var b: Int = 52
println("$a + $b = ${a + b}")
val A = 3
//类型后面加?表示可以为空
var age : String ? = null
//!!表示如果age为空,像JAVA一样抛出异常
// var ages = age!!.toInt()
//不做处理返回null
var ages1 = age?.toInt()
//age 为空时返回-1
var ages2 = age?.toInt()?: -1
println(ages1)
println(ages2)
println(parseInt(null))
println(parseInt("12"))
println(stringLength(null))
println(stringLength("hello world"))
println(parseDouble("123"))
for (i in 1..4)
println(i)
for (i in 1..4 step 2)
println(i)
for(i in 4 downTo 1 step 2)
println(i)
for(i in 1 until 4 )
println(i)}
//定义两个Int 参数 返回 Int 的函数
fun sum(a:Int , b:Int):Int{
return a+b
}//表达式作为函数体,返回类型自动推断:
fun sum2(a : Int , b : Int) = a+b
// public 方法则必须明确写出返回类型
public fun sum3(a : Int , b : Int):Int = a+b
//无返回值的函数(类似Java中的void):
fun method2(a: Int,b: Int):Unit{
println(a + b)
}// 如果是返回 Unit类型,则可以省略(对于public方法也是这样):
fun method(a : Int , b : Int){
println(a + b)
}/** * 可变长参数函数 *///函数的变长参数可以用 vararg 关键字进行标识:
fun vars(vararg v : Int){
for (vt in v){
print(vt)
}}//如果类型String后面没有?不允许传递null为参数
fun parseDouble(str: String):Int{
return str.toInt()
}//如果允许返回null,返回类型后面要加?,不然不允许返回null
fun parseInt(str:String?):Int?{
return str?.toInt() ?: null
}// 如果允许传入null,函数必须要做参数为null的处理,不然语法不通过
fun stringLength(str:String?) :Int{
return str?.length ?: -1
}/** * 类型检测及自动类型转换 * */
fun getStringLength(obj:Any):Int?{
//is 表示是否是String类型,如果是就自动转换为String,后面就可以当String 进行使用
if(obj is String)
return obj.length
//!is 如果不是String类型//
if(obj !is String)// return null
return null
}
fun getStringLength2(obj:Any):Int?{
if(obj !is String )
return null
return obj.length
}
fun getStringLength3(obj: Any):Int?{
if(obj is String && obj.length > 0)
return obj.length
return null
}
阅读全文
0 0
- Kotlin 第一站
- kotlin->第一个kotlin程序
- Kotlin学习第一弹
- 第一个Kotlin Android
- 第一个Kotlin程序
- Kotlin入门第一课
- Kotlin第一学
- 初探kotlin:创建第一个kotlin应用
- 初探kotlin创建第一个kotlin应用
- Kotlin入门第一弹---HelloWorld
- 初试Kotlin-使用Kotlin运行Android的第一个项目
- kotlin入门系列-第一个kotlin的android demo
- 使用Kotlin开发第一个程序,Hello Kotlin!
- 使用kotlin编写Android第一个Activity
- kotlin 入门第一课 开发环境配置
- AndroidStudio上第一个Kotlin项目
- Android第一开发语言—初探Kotlin
- android Kotlin的第一个项目
- 《Programming in Lua》Lua 相关编程知识
- 【转载】json数据的中文显示问题 python
- tensorflow mnist手写数字(三)从零开始
- 复选框跨页多选实现js+struts2
- 中国联通牵手阿里与腾讯 运营商角逐云计算市场的绝地反击?
- Kotlin 第一站
- linux上安装jdk1.8
- postman里面的mockserver使用方法
- mysql安装
- spring属性配置执行过程,单列和原型区别
- 教你彻底学会动态规划——入门篇
- 机器学习(八):朴素贝叶斯分类
- Kafka数据导入导出
- WorldWind android 加载离线切片