Android将Kotlin作为一级开发语言了,作为android程序员的我自然也要学习一波
/**
* Created by Gray on 2017/5/25.
*/
/* kotlin Number 有6中类型,数字类型没有隐含的扩展转换
* 1.Double 64位
* 2.Float 32位
* 3.Long 64位
* 4.Int 32位
* 5.Short 16位
* 6.Byte 8位
*
*
* 十六进制:0x0F
* 二进制:0b00001111
* Double:123.5,123.5e10
* Float:123.5F
*
* 可以使用下划线来分割数字 xiahuaxian()
*
* 字符由类型Char表示,他们不能被直接视为数字
*
* 布尔用boolean表示
*
* 数组:Array类,具有get和set功能,size属性
* arrayOf(1,2,3) 创建一个[1,2,3]数组
* arrayOfNulls() 创建一个具有指定个数的数组
* Array(5, { i -> (i * i).toString() }) 指定数组大小和内容的函数
* Kotlin中的数组是不变的,
* 还有类似ByteArray,ShortArray和IntArray,他们与Array有相同的方法和属性集
*
* 字符串由String表示,是不可变的,通过s[i]获取指定索引的值,可以使用for-loop循环
* 原始字符由"""分隔,不包含转移,可以包含换行符和任何其他字符
* trimMargin()删除前导空格
*
* 字符串模板:可以将定义的变量连接到字符串中去,表达式以$开头
*
* */
/**
* 主方法,类似于java中的main方法
*/
fun main(args:Array<String>){
// xiahuaxian()
// representation()
/* val c:Char='A'
val d:Char='8'
decimalDigitValue(c)
decimalDigitValue(d)*/
/*val s:String = "Hello World"
forLoop(s)*/
// testTrimMargin()
StringTemplates()
}
//下划线分离数字
fun xiahuaxian(){
val oneMillion = 1_000_000
val creditCardNumber = 1234_5678_9012_3456L
val socialSecurityNumber = 999_99_999L
val hexBytes = 0xFF_CA_BE_0D
val bytes = 0b11110000_10101010_01010101
print("$oneMillion,$creditCardNumber,$socialSecurityNumber,$hexBytes,$bytes")
}
//判断等同性
fun representation(){
val a:Int = 10000
println(a === a)
val boxedA:Int? = a
val anotherBoxedA:Int? = a
println(boxedA === anotherBoxedA)
println(boxedA == anotherBoxedA)
}
//将一个字符显示得转换为Int数字
fun decimalDigitValue(c:Char):Int{
if(c !in '0'..'9'){
throw IllegalArgumentException("Out of range")
}
return c.toInt() - '0'.toInt()
}
//for-loop循环字符串
fun forLoop(str:String){
for (s in str){
print(s)
}
}
//trimMargin方法测试
fun testTrimMargin(){
val text1 = """
|Tell me and I forget.
|Teach me and I remember.
|Involve me and I learn.
|(Benjamin Franklin)
""".trimMargin()
println(text1)
val text2 = """
#Tell me and I forget.
#Teach me and I remember.
#Involve me and I learn.
#(Benjamin Franklin)
""".trimMargin("#")
println(text2)
}
//字符串模板案例
fun StringTemplates(){
val i = 10
println("i = $i")
val s = "abc"
println("$s.length is ${s.length}")
//在字符串模板想使用$作为字符串的一部分
println("""
${'$'}9.99
""")
}