浅谈Kotlin(一)

Kotlin是一门可以运行在Android、Java虚拟机、浏览器上的静态语言,他与Java100%兼容。2017年5月18日,Google官方已经将Kotlin指定为Android的一级开发语言。

第一个程序Hello World!:

package com.fuyunwang.kotlin

/**
 * Created by BeautifulSoup on 2017/7/24.
 */
fun main(args: Array<String>) {
    println("Hello World!")
}

Kotlin的数据类型

注意变量声明的格式 val 变量名:变量类型=变量值

Boolean类型:

//声明Boolean类型的变量
val bvalue : Boolean = true

Number类型

Number类型就是指数字类型,其中包括整型和浮点型。
浮点型包括单精度Float和双精度Double,这里和Java一致;
整型分为Short短整型、Int整型和Long长整型,这里和Java一致;

//这里仅仅举个例子
//输出Int类型的极值
val maxVal:Int= Int.MAX_VALUE;
val minVal:Int= Int.MIN_VALUE;

fun main(args: Array<String>) {
    println("Int类型的最大值是:"+ maxVal)
    println("Int类型的最小值是:"+ minVal)
}
Java中存在低精度向高精度的隐式类型转化,而在Kotlin中不能进行隐式类型转换:
val aInt:Int=5
val aLong:Long= aInt.toLong()

String类型:

string类型是指字符串类型,而且在kotlin中 ==比较字符串完全等价于Java中的equals 

//声明一个字符串
val string:String="Hello World!"
//使用Kotlin的模板字符串
val arg1:Int=10
val arg2:Int=20
fun main(args: Array<String>) {
    println("$arg1+$arg2=${arg1+ arg2}")
}

引用类型

class Book constructor(var name:String,var des:String,var price:Double){
    init {
        println("创建了一个Book对象,其中constructor在只有一个构造方法的时候可以省略;其name是:$name,描述是:$des,价格是:$price")
    }
}

fun main(args: Array<String>) {
    val book:Book=Book("Docker容器与容器云","本书简要介绍Docker的容器化技术",55.3)
}

空类型安全

在Kotlin中存在着空类型安全的机制,其中函数默认的返回值一般不为null,字符串在可以为空的情况下无法获取其长度:

//对于String类型返回值的函数,其返回值默认不能为null,如果确实返回null值,注意?
fun getDes():String?{
    return null
}
//在函数调用的时候,如果函数值为null的情况下需要结束函数的执行操作:
val des:String= getDes() ?:return
println("描述是:$des")


val ss:String ?= "Hello World!"         //此处说明ss是一个可以为NULL的字符串类型,所以在打印字符串长度的时候就应该特殊对待
println(ss!!.length)

区间

区间是数学上区间的概念,表示一个范围

区间的基类是CloseRange,其余的区间均继承于CloseRange,其中IntRange最为常用:

//全闭区间[0,1024]
val range:IntRange=0..1024
//半开半闭区间[0,1024)
val ras:IntRange=0 until 1024
//定义一个空区间并测试
val emptyRange=0..-1
fun main(args: Array<String>) {
    println(emptyRange.isEmpty())
    println(range.contains(1024))
    println(ras.contains(1024))
    //containers方法完全等价于in
    println(1024 in range)
    for (i in range){
        println("$i,")
    }
}

数组的基本使用

val intarray:IntArray= intArrayOf(11,1,3,98,-12,0)
val chararray:CharArray= charArrayOf('h','e','l','l','o')
//创建一个字符串数组
val stringarray:Array<String> = arrayOf("茗外清风移月影","壶边夜静听松声")
fun main(args: Array<String>) {
    //查看数组中的元素
    println(intarray.size)
    //遍历数组中的元素
    for (value in chararray){
        print(value)
    }
    //将数组中的元素作为连接之后的字符串打印
    println(chararray.joinToString("-"))
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值