1.boolean类型
koltin:
//Booleab基本写法
val aBoolean:Boolean = true
val auotherBoolean:Boolean = false
java:
2.Number类型
整型:
Long 位宽64
val aLong:Long = 123
val another:Long = 123
Int 32
//整型的写法
val anInt:Int = 8
val anontherInt:Int = 0xFF
//最大整型值
val maxInt:Int = Int.MAX_VALUE
//最小整型值
val maxInt:Int = Int.MIN_VALUE
Short 16
浮点型:
Double 64
Float 32
字节型:
Byte 8
拆箱与装箱:
Kotlin的Int 是把java 的int 和Integer 整合在一起的 ,会根据你使用时自动转换
3.Char类型
Character 字符
val aChar:Char ='0'
val bChar:Char = '中'
val cChar:Char = '\u000f'
4.基础数据类型转换 和 字符串
基本类型转换:
1) 不可隐式转换!!!:
val anInt:Int = 5
val aLong:Long = anInt.toLong()
字符串: 约等于 “一串”Char
val string:String = "Hello"
val fromChar:String = String(charArrayOf('H','e','l','l','o'))
//比较字符串
string == fromChar //输出true kotlin 中的“==” 和.equals 是等价的
//如果想比较是否为同一个, 要用“===”
//例如:
string === fromChar //返回false
kotlin 字符串拼接:
例.如:
val arg1:Int = 0
val arg2:Int = 1
//java的输出方式为:
System.out.println("" + arg1 + “+” + arg2+ "=" + (arg1+arg2));
//kotlin的输出方式:
println($arg1 + $arg2= ${arg1+arg2})
//2.
val sayHello:String = "Hello \"Trump"\"
val salary = 1000
//java的输出方式为:
System.out.println(sayHello);
//kotlin的输出方式:
println("$$salary")
//"""三个引号 是原始字符串 引号内的格式原封不动的输出"""
5.类与对象
//例子
//constructor 构造方法
class 妹子 constructor (var 性格:String,var 长相:String,var 声音:String){
println("new了一个妹子,他的性格${性格}${长相}${声音}")
}
val 我喜欢的妹子:妹子 = 妹子("温柔","甜美","动人")
类是个抽象的概念
具有默写特征的事物的概括
不特定指代任何一个具体的事物
eg. 人、车、书 都是类
kotlin的写法:
class<类名>{<成员>}
对象:
是一个具体的概念,与类相对
藐视某一种类的具体个体
eg.某些人 ,领导的车,你手里的书
类和对象的关系:
一个可通常可以有很对个具体的对象
一个对象本质上只能从属于一类
例如:某个人,他是工程师,但他本质上还是属于人,这一类
类的继承:
提起多个类的共性得到一个更抽象的类,即父类
子类拥有父类的一切特征
子类也可以自定义自己的特征
所有类都最终继承自any
6.空类型和智能类型转换
java代码:
public class NullUnSafe{
public static void main(String[] args){
String name = getName();
if (name == null){
sout("null");
}else{
sout(getName.length);
}
}
public static String getName(){
return null;
}
}
kotlin:
fun getName():String{
return null
}
fun main(args:Array<String>){
println(getName.length)
}
//此种形式 kotlin 不会编译通过的。
//强制编译的话需要加 ?
fun getName():String?{
return null
}
fun main(args:Array<String>){
if(getName == null){
println("null")
}else{
println(getName.length)
}
}
//其实可以再简化代码
fun main (args:Array<String>){
val name = getName()
println(name?.length)
}
//上述方法会输出为,如果name != null 输出对应的名字,如果name == null 就输入null
val value:String? = "HelloWorld"
println(value!!.length)
类型转换:
java中的变量 每次使用都要强转。
kotlin 会智能 识别你的类型,不需要转化。应该是 默认已经转换了。
7.包
和java的包 没什么区别
8.区间
0 .. 1024
val range:IntRange = 0.. 1024 //[0,1024]
val ragne:IntRange = 0 until 1024 //[0,1024)
9.数组(Array)