Kotlin的学习日志(一)Basic Types

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
        """)

}







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值