// 1. kotlin:可以运行在Java虚拟机、Android、浏览器上的静态语言,它与Java 百分比兼容。
//数据类型
//1.Boolean类型:true、false
val aBoolean: Boolean = true
val anBoolean: Boolean = false
//2. number类型:
//2.1. 浮点型:Double,Float
val aDouble: Double = 1.0
val aFloat: Float = 2.0f
//2.2 整型:Short,Int, Long
val aInt: Int = 3
val anInt: Int = 0xFf //16进制,0xFF=255
val abInt: Int = 0b00000011 //二进制, 3
val aShort: Short = 4
val aLong: Long = 12233
//2.3 字节: Byte
val aByte: Byte = 12
//3. Char字符类型,用单引号包起来,
// 可以是一个字母,汉字,符号,转义字符等
val aChar: Char = 'A'
//4. 字符串
val aString: String = "123"
//字符串的对比 (==类似Java的equal)
// (===是比较两个字符串的引用值,表示比较对象是否相同)
val abString: String ="Hello"
val fromChars: String = String(charArrayOf('H', 'e', 'l', 'l', 'o'))
// abString == fromChars true
// abString === fromChars false
//转义字符
val say: String = "你好!\"哈哈\""
//基本类型的转换
//1. 不可隐式转换
val abcInt: Int = 5
val abcLong: Long = abcInt.toLong()
//打印日志的用法
//println("$aInt + $abcInt = ${aInt + abcInt}")
// 结果: 3 + 5 = 8
//类和对象
// 1. 类
class Girl constructor(var age: Int) {
//(var age: Int)是构造方法,传递进去的参数
init {
//构造方法的方法题,每次创建对象的时候都会调用
print("new 了一个新的妹子")
}
}
//当只有一个构造方法的时候,可以省略constructor
class Boy(var name: String){ }
//继承,所有类都最终继承自Any,类似Java的Object
open class Hugman (var age: Int, var name: String){
//open就是开放这个类,做父类
}
class SuperMan ( age: Int, name: String): Hugman(age, name){ }
//2. 对象
val gril: Girl = Girl(18)
//判空处理
fun getName(): String{
//可以返回"",但是不能返回null
return ""
}
//如果需要返回null,则需要加‘?’
fun getName02(): String?{
return null
}
//如何使用
fun main(args: Array<String>) {
//如果为空,则return
// val name: String = getName02()?:return
// print(name.length)
//当我们定义字符串的时候可能会存在null值
val value: String? = "Hello"
//当自己确保这个值是不为空的,可(!!)
print(value!!.length)
// nullAble!!.length 强制认定nullAble不可为空
// nullable?.length 若nullAble为空,返回空
}
//多态 的安全转换
fun main02(args: Array<String>) {
val hugman: Hugman = SuperMan(22, "aas")
if (hugman is SuperMan){
//这个对象是属于SuperMan的
}
val man: SuperMan? = Hugman(18, "ll") as SuperMan
}
//数组的基本用法
val array: Array<String> = arrayOf("a", "n")
//区间 Range
val range: IntRange = 1 ..1024 // [0, 1024]
val range2: IntRange = 1 until 1024 // [0, 1024)
val emptyRange: IntRange = 0 .. -1 //空的区间,返回空
网友评论