1、Kotlin 不是完全面向对象的,方法可以不依附于类而存在。
2、创建对象不用new,val foo1 = fooBar() 。
3、参数和变量是 参数:类型 的形式声明。
4、返回值直接在方法头后面加上冒号再写。
5、短的方法可以直接以式子的形式在方法头后面的等号后加上,如果同时是public方法,就一定要写明返回值。
6、int写作Int,数组用Array表示,数组的初始化是 var arr = arrayOf( , , , )
7、val 相当于final 变量,var才是变量。
8、串也不用charAt找下标了,直接像数组那样用中括号[] 。
9、for(:) 改成 for( in)
10、print中不用加号+将串连接起来,直接在串中写变量,类似Linux中的${ arr} 。
11、如果类中全部是静态方法,改class为object;一般静态方法,用companion object { }包裹。
12、null检查:①类型后加?表示可为空,可以写在方法返回类型那里;②变量后加!! ,如空会抛出异常(有try catch?);③变量后加?,如空会返回null;④配合③使用,后加?:可指定返回值。
13、instance of --> is,这里会涉及到类型转换。
14、for(a:Int in 1..10) 表示范围 [1,10],不能反过来,反过来就改..为downTo;可配合使用step表示步长,until 10表示排除10即[1,10)。
15、通过索引遍历 for( a:Int in arr.indices) print(arr[i]) 相当于 for( a: Int in arr) print(a ) 。
16、标签xxx@,用于循环控制和跳转。
17、kotlin中没有简单数据类型,都是封装的,所以首字母大写。
18、===比较对象的地址,==比较对象的值(相当于equals()吧)。
19、String text = "First Line SecondLine ThirdLine" 相当于
val text = """ |First Line |Second Line |Third Line """.trimMargin()
其中分行是一定要的,但不用对齐,因为有trimMargin。
20、if (object instanceof Car) Car car = (Car) object;相当于
if (object is Car) var car = object as Car
21、void doSomething(int... numbers);相当于
fun doSomething(vararg numbers: Int)
22、Bean类 data class Developer(var name: String, var age: Int)
23、Array<Int>
相当于Integer[]
,而IntArray
相当于int[],是否经过包装的区别。