您的位置:首页 > 其它

Kotlin最简单的入门教程——基础类型(一)

2017-06-15 10:38 260 查看
写在前面

首先像java一样新建一个kotlin的文件

文件建好之后直接写main函数,程序入口,像这样

fun  main(args:Array<String>){
println("你好,主函数")
}


不用新建类,可以直接写主函数,然后右键运行,看控制台打印的信息

开始,kotlin的基本数据类型

#声明一个变量
/**
* 首先说明  Kotlin中有两个关键字定义变量
*
* var是一个可变变量,可赋值改变
*
* val是一个只读变量,这种声明变量的方式相当于java中的final变量,不可赋值改变
*/

//sample
val a: Int = 1  // 立即赋值 显式指定常量的类型
var b: Int = 1
a = 2
b = 2


如图



a会报错,但是b不会,可自己实验一下

1. 数字类型

//    数字类型

//    类型 字宽
//    Double 64
//    Float 32
//    Long 64
//    Int 32
//    Short 16
//    Byte 8

//sampleStart   基本数据类型
val a: Int = 1  // 立即赋值 显式指定常量的类型
val b = 2   // `Int` 类型是推断得出ed
val c: Double  // 没有初始化时需要指明类型
c = 3.0       // 之后赋值
val d: Float =  3.2f // Float

//较小的类型不能隐式转换为较大的类型
val e: Byte = 1 // OK, 字面值是静态检测的
val f: Int = e // 错误
val g: Int = e.toInt() // OK: 显式拓宽
//sampleEnd

//打印语句
println("a = $a, b = $b, c = $c, d = $d")


每个数字类型支持如下的转换:

toByte(): Byte

toShort(): Short

toInt(): Int

toLong(): Long

toFloat(): Float

toDouble(): Double

toChar(): Char

2. 空类型,空安全

fun  main(args:Array<String>){
var name:String;
name = "ssss" //不是空的,没有报错
name = null   //赋值null,不能为空报错

var sex:String?  #可以为空类型声明
sex = "man" //不是空的,没有报错
sex = null  //赋值null,也没有报错
}


3. bool类型

布尔

布尔用 Boolean

类型表示,它有两个值:true 和 false。

若需要可空引用布尔会被装箱。

内置的布尔运算有:

|| —— 短路逻辑或

&& ——短路逻辑与

! ——逻辑非

4. 字符串

fun string() {

//字符串循环输出
var str: String = "jcjskmcmdkkcm"
# for 循环使用样式
for (c in str) {
println(c + "\n")
}

//字符串模板
val s = "Hello, world!\n"
println("s = $s")

}


5 字面量

也即字面常量,包括Int,Long,Double,Float,十六进制,二进制。但是不支持八进制。表示规则与Java一致:

Decimals: 123
Long: 123L ,使用L结尾
Hex: 0xFF,十六进制
Binaries: 0001111,二进制
Double: 123.5,1.235e10,默认是Double类型
Float: 123.5f或者123.5F,使用f或F结尾


6 操作符

常见的操作符与Java一致,但是涉及到bit操作时,有特殊的操作字符(仅对Int和Long有效):

shl 相当于Java中的左移运算符 <<
shr 相当于Java中的右移运算符 >>
ushr 无符号右移,高位补0 >>>
and 按位与操作 &
or 按位或操作 |
xor 按位异或操作 ^
inv 按位取反 ~


7 使用字符串模板

fun main(args: Array<String>) {
var a = 1
// 模板中的简单名称:
val s1 = "a is $a"

a = 2
// 模板中的任意表达式:
val s2 = "${s1.replace("is", "was")}, but now is $a"
println(s2)
}


最后欢迎加入Kotlin大神交流群:



欢迎关注



最后欢迎加入Kotlin QQ群,一起讨论学习:



欢迎关注 微信公号

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: