1、实现输出HelloWorld!
fun main(args: Array<String>) {
println("Hello world!")
}
输出:
2、基本数据类型(跟java相似,但是首字母全部需要大写)
fun main(args: Array<String>) {
var boolean:Boolean=true
var byte:Byte=1
var short:Short=30
var int:Int=10
var long:Long=20
var char :Char='a'
var double:Double=1.1234567
var float:Float=1.123456f
println(double)
}
输出:
3、基本数据类型调用方法
fun main(args: Array<String>) {
var a:Int=10
var b:Int=a+10
var hash:Int=a.hashCode()
println(hash)
}
输出:
这儿有个需要注意的地方,就是a.hashCode(),在java中基本数据类型必须转换成包装数据类型才能使用,但是在kotlin中可以直接调用,我们看下这段kotlin代码对应的java代码的实现:
再点击Decompile
看下转换后的java代码核心部分:
4、基本数据类型取值范围
fun main(args: Array<String>) {
//Short类型取值范围
var maxShort:Short = Short.MAX_VALUE
var minShort:Short = Short.MIN_VALUE
println("Short最大值${maxShort}")
println("Short最小值${minShort}")
var maxByte:Byte = Byte.MAX_VALUE
var minByte:Byte = Byte.MIN_VALUE
println("Byte最大值${maxByte}")
println("Byte最小值${minByte}")
var maxInt:Int = Int.MAX_VALUE
var minInt:Int = Int.MIN_VALUE
println("Int最大值${maxInt}")
println("Int最小值${minInt}")
var maxLong:Long = Long.MAX_VALUE
var minLong:Long = Long.MIN_VALUE
println("Long最大值${maxLong}")
println("Long最小值${minLong}")
var maxFloat:Float = Float.MAX_VALUE
var minFloat:Float = -Float.MAX_VALUE//最小值
println("Float最大值${maxFloat}")
println("Float最小值${minFloat}")
var maxDouble:Double = Double.MAX_VALUE
var minDouble:Double = -Double.MAX_VALUE//最小值
println("Double最大值${maxDouble}")
println("Double最小值${minDouble}")
}
输出:
5、kotlin调用java(kotlin是可以直接调用java的)
模拟一个场景:我们去银行存钱,然后取钱
import java.math.BigDecimal
fun main(args: Array<String>) {
//去银行存钱
var bigMoney:BigDecimal= BigDecimal("1.123456789123456789")
//取钱
println(bigMoney)
}
输出:
点进去看下BigDecimal的实现:其实是java
6、智能类型推断
kotlin是类型安全的语言,一旦类型确定了就不能修改了
7、类型转换
String类型转为Int
fun main(args: Array<String>) {
//String 转为Int类型
var s="10"
println(s.toInt())
println(s.toByte())
}
输出:
Int 类型和Long类型转换
我们先看下在java中
public static void main(String[] args) {
int a=10;
long b=a;
System.out.println(b);
long c=10l;
int d= (int) c;
System.out.println(d);
}
输出:
在kotlin中
正确的写法:
fun main(args: Array<String>) {
var a=10
var b:Long=a.toLong()
println(b)
var c=10L
var d:Int=c.toInt()
println(d)
}
kotlin中的类型检查是非常严格的
8、可变变量与不可变变量
项目开发中尽量使用val 实在不能使用val再使用var
虽然不能重新赋值,但是可以通过反射手段重新设置值