本文内容是我在学习kotlin语法的过程中学习和总结的一点小知识,很入门,初级水平,大佬请忽略。
如有错误敬请指正,不胜感激。
1、基本数据类型
java
- java:byte,short,int,long,float,double,char,boolean(多啰嗦一句String真的不是基本数据类型,末次面试时遇到小哥回答基本数据类型,第一个说的就是String,再三提示都肯定的回答String是)
Kotlin
- Byte,Short,Int,Long,Float,Double,Char,Boolean
- java定义变量时是 类型在前 变量名在后 例如 int i;而Kotlin正好相反并且使用:标示 例如 var i:Int
- 在java中定义基本数据变量时可以不赋初值 例如 int i;但是在kotlin是必须赋初值的 var i:Int=0
- 在java中可以将声明的int类型赋值给Long类型(java会自动拆箱装箱),但是Kotlin并不可以,必须进行类型转换
java
int i;
long l=i;
Kotlin
var i: Int=0
var l:Long= i.toLong()
2、常量与变量
java
- 普通变量int i=0 ;
- 不可变量 一旦赋值则不可改变 final int i=0;
Kotlin
- 普通变量var i:Int=0
- 不可变量 一旦赋值则不可改变 val i:Int=0
3、声明静态常量和方法
java
- static final int SEX=0;
- static void add(){}
Kotlin
- companion object{
internal val SEX=0
fun add(){}
}
4、可见性修饰符
java
- public包内包外任何类都可以访问
- protected 包内的类都可以访问,包外继承此类的子类可以访问
- 默认 包内的类都可以访问,包外的类不可以访问
- private 只有此类内可以访问,包内包外任何类都不可以访问
Kotlin
- public 默认值,包内包外任何类都可以访问
- protected 和java有不同,同一包内也不能访问,但在子类中可以调用
- internal 包内包外可以访问
- private 只有此类可以访问
5、定义函数及函数返回值
java
- void add(){} 表示无返回值
- int add(){return 1} int 表示返回值的类型
Kotlin
- Kotlin 中使用 fun声明方法
- fun add(){}或者 fun add():Unit{}表示无返回值
- fun add():Int{ return 1} 或者 fun add()=1 表示返回值类型为Int
6、常用字符串拼接
java
- int i=1;String s="这是一个字符串"+i;
- int i=1;StringBuilder b=new StringBulider("这是一个字符串"); b.append(i);
- int i=1;StringBuffer b=new StringBuffer("这是一个字符串");b.append(i);
Kotlin
- var i:Int=0 var s:String=“这是一个字符串”
- var i:Int=0 var s:String=“这是一个字符串” s.plus(i)
- var i:Int=0 var s:String=“这是一个字符串$i”
7、类型判断、强制类型转换
java
- 类型判断关键字 instanceof 关键字 例如if(obj instanceof int ) int i =(int)obj;
Kotlin
- 类型判断关键字 is 强制类型转换关键字 as 例如 if(any is Int) any as Int (注:kotlin 中在使用is判断后是 可以直接使用any的,可以不使用as 进行强制转换后在使用)
8、实例化
java
- A a=new A();
Kotlin
- var a:A=A()
Kotlin与java语法对比笔记(二):https://blog.csdn.net/LPL0129/article/details/86653940