一、Boolean
/**
* Boolean类型有两种类型的
* true
* flase
*/
val a: Boolean = true
val b: Boolean = false
二、Number数据类型
package net.println.kotlin
/**
* @author:wangdong
* @description:
*/
/**
* Number类型
* 主要包括浮点型和整型
*/
/**
* 浮点型:
* Double 64位
* Float 32位
*/
/**
* 整型:
* Long 64位
* Int 32位
* Short 16
*/
/**
* 字节:
* Byte 8位
*/
/**Int*/
val aInt: Int = 8
val anotherInt: Int = 0xFF // 16进制 255
val c: Int = 0b00000011 //二进制 3
val maxInt: Int = Int.MAX_VALUE //最大整型值
val minInt: Int = Int.MIN_VALUE //最小整型值
/**Long*/
val aLong: Long = 2342424242331
val anotherLong: Long = 123
val maxLong: Long = Long.MAX_VALUE //最大
val minLong: Long = Long.MIN_VALUE //最小
/**单精度Float*/
val aFloat: Float = 2.0F
val bFloat: Float = 1E3F
val maxFloat: Float = Float.MAX_VALUE //最大
val minFloat: Float = -Float.MAX_VALUE //最小
val posiFloat: Float = Float.POSITIVE_INFINITY //正无穷
val negaFloat: Float = Float.NEGATIVE_INFINITY //负无穷
/**双精度Double*/
val aDouble: Double = 3.0
val anotherDouble: Double = 3.1323423423
val maxDouble: Double = Double.MAX_VALUE
val minDouble: Double = -Double.MAX_VALUE
/**short*/
val aShort: Short = 321
val maxShort: Short = Short.MAX_VALUE
val minShort: Short = Short.MIN_VALUE
/**byte 字节 -128 到 127*/
val aByte: Byte = 127
val maxByte: Byte = Byte.MAX_VALUE
val minByte: Byte = Byte.MIN_VALUE
fun main(args: Array<String>) {
//Int
println(anotherInt)
println(c)
println(maxInt)
println(Math.pow(2.0, 31.0) - 1)
println(minInt)
println(- Math.pow(2.0, 31.0))
//Long
println(123L)
println(aLong)
println(anotherLong)
println(maxLong)
println(Math.pow(2.0, 63.0) - 1)
println(minLong)
println(- Math.pow(2.0, 63.0))
//Float浮点型。不精确,写与钱相关的千万别用
println(aFloat)
println(bFloat)
println(maxFloat)
println(minFloat)
println(posiFloat)
println(negaFloat)
println(0.0F/0.0F) //0除以0在数学上是不允许的,这里输出结果是:NaN
println(0.0F/0.0F == Float.NaN) //输出的false,所以不要用0/0去和任何number类型的去判断是否相等,肯定是不相等的。Float.NaN不是数
//Double
println(aDouble)
println(anotherDouble)
println(maxDouble)
println(minDouble)
//Short
println(aShort)
println(maxShort)
println(minShort)
//Byte
println(aByte)
println(maxByte)
println(minByte)
}
三、Char字符
package net.println.kotlin
/**
* @author:wangdong
* @description:
*/
/**单个的字符是char*/
val aChar: Char = '0'
val bChar: Char = '1'
val cChar: Char = '\u000f' //只是一个字符,根本看不到
val dChar: Char = '\n' //换行符、回车
val eChar:Char = '\t' //制表符
val fChar:Char = '\b' //光标后退一个字符
val gChar:Char = '\r' //光标回到首行
val hChar:Char = '\'' //单引号
val iChar:Char = '\"' //双引号
val jChar:Char = '\\' //反斜杆
val kChar:Char = '\$' //美元符号
fun main(args: Array<String>) {
println(aChar)
println(bChar)
println(cChar)
println(dChar)
println(eChar)
println(fChar)
println(gChar)
println(hChar)
println(iChar)
println(jChar)
println(kChar)
}
四、String字符串类型和字符串的比较
package net.println.kotlin
/**
* @author:wangdong
* @description:
*/
val aString: String = "HelloWorld"
//将一个字符拼装成一个字符串
val fromChars: String = String(charArrayOf('H','e','l','l','o','W','o','r','l','d'))
//比较一下字符串
fun main(args: Array<String>) {
//下面这两个是完全等价的,比较值类型是否相等
println(aString.equals(fromChars)) //true
println(aString == fromChars) //true
//比较引用地址是否相同,对象是否是同一个,很明显两个对象是不同的
println(aString === fromChars) //false
//字符串连接输出
println("接下来的字符串连接" + aString) //接下来的字符串连接HelloWorld
//如果操作的是加减乘除的算法
val a: Int = 3
val b: Int = 4
//按照java的写法,是不是很累
println("" + a + "+" + b + "=" + (a+b)) //3+4=7
//看一下Kotlin
println("$a + $b = ${a+b}") //3 + 4 = 7
//Hello "wangdong" 该怎么写
//val sayHello: String = "hello "wangdong"" 会报错
val sayHello: String = "hello \"wangdong\"" //需要转义
println(sayHello)
//$1000,需要得两个$
val salary: Int = 1000
println("$$salary")
println("\$salary")
var rawString: String = """
\t
\n
\\\\$$salary
"""
println(rawString)
println(rawString.length) //字符串的长度 49
}