前言
本章讲解Kotlin的基础知识,对比java
语言特征帮助理解。
基本语法概述
Java
语法概述
Java中一切皆为对象
Java有四类八种基本数据类型以及他们的包装类
Java中不支持函数,只有方法的概念,且所有的方法都必须定义在类中
Java中默认的修饰符为default,一共有public,protected,default,private四种修饰符
Java中语句结尾必须用封号
Java中Package(包)和目录路径统一的,Package就是目录
Kotlin 语法概述
Kotlin 中一切皆为对象 ,任何变量都有相应的方法和属性
Kotlin 没有基本数据类型以及包装类,但有内置数据类型
Kotlin 中字符Char不能转化为数字,布尔用Boolean表示
Kotlin 中的函数也是对象,可作为参数和返回值,也可以不用写在类里面
Kotlin 中默认的修饰符为public,一共有public,internal,protected,private 四种修饰符
Kotlin 中语句结尾不用封号
Kotlin 中Package(包)和目录路径不是统一,毫无关系,比如:demo/a/test.kt目录文件,包名并不一定demo.a
定义变量
Java变量定义
Java
中没有明确的变量和常量的概念,但可以用final
关键字表示变量不可以修改
Java
中有成员变量
和局部变量
int n =30; //定义n变量,并初始赋值30
private int ok; //基础数据类型的成员变量默认有初始值,int为0
final int x =30; //用final关键字修饰,相当于常量
kotlin变量定义
kotlin中,定义变量要以var开头,常量用val开头,后面接变量名,数据类型要放到变量名后面,之间用:
隔开
kotlin
中除了有成员变量
和局部变量
,还有全局变量
,定义在类外面,项目全局可以使用
var n:Int =30 //定义n变量,并初始赋值30
private var ok:Int =0 //Kotlin的内置成员变量默认没有初始值,定义时需手动赋值
val x:Int =30 //用val表示常量
var x =30 //如果变量申明时有赋值,可以不用定义类型,kotlin会根据值自动推测类型
var x:Int? =null //?号表示X可以为空,使用时也不会抛nullPoint异常
var x:Int!! =null //!!号表示X可以为空,使用时也会抛nullPoint异常
定义函数
函数由 函数头关键字(fun ,func,funtion)
,函数名(name)
,参数(params)
,返回值(return)
组成
Java方法
Java中没有函数,只有方法的概念
Java中方法没有函数头,直接写返回类型+方法名即可,无返回类型则用void表示
int add(int x,int y){
return x+y;
}
void add(int x,int y){
System.out.print(x+y)
}
Kotlin函数
Kotlin中函数头关键字用fun
表示
Kotlin中返回值卸载函数定义末尾,之间用:隔开,没有返回值用unit
表示,unit
可省略
//Int表示返回值
fun add(x:Int,y:Int):Int{
return x+y;
}
//Unit表示无返回值,可省略
add(int x,int y):Unit{
println(x+y)
}
字符类型
这里要单独描述字符类型,Kotlin
中的字符类型与Java
中不同的是,在Kotlin
中,字符不能直接看做数字,不能直接判断Char类型的ASCII
boolean equal(Char c){
//Java中可以直接比较
if(c==97)
return true
else
return false
}
fun equal(Char c):Boolean{
//Kotlin中编译错误
return if(c==97) true else false
}
fun equal(Char c):Boolean{
//Kotlin中编译通过
return if(c=='a') true else false
}