Kotlin学习 - 变量

变量声明

Kotlin的变量的关键字有两个,分别是valvar。一般情况下,var关键字定义变量,val关键字定义常量。

val关键字

val不可变变量,对应java的final变量,只能被赋值一次,不能被重新赋值。

val str1 = "hello world!"

编译为Java代码:

@NotNull
private final String str1 = "hello world!";

var关键字

var 可变变量,对应java的非final变量.,可以重复赋值。

fun main() {
    
    
    var str2 = "kotlin"
    //可以再次赋值
    str2 = "hello"
}

编译为Java代码:

@NotNull
private String str2 = "kotlin";

Kotlin的类型推断

上面的两个变量声明的时候并未声明变量类型,这是因为Kotlin存在类型推导机制,str1和str2会根据赋值默认推导为String类型。如果再次赋值一个Int类型就会报错,代码如下:

fun main() {
    
    
    var str2 = "kotlin"
    //报错
    str2 = 1
}

当然也可以显示的指明变量的类型。

fun main() {
    
    
    var str2: String
    var num: Int
}

基本类型

Kotlin不再存在基本类型,将全部使用对象类型。

Java基本类型 Kotlin对象类型 对象类型说明
int Int 整型
long Long 长整型
short Short 短整型
float Float 单精度浮点型
double Double 双精度浮点型
boolean Boolean 布尔型
char Char 字符型
byte Byte 字节型

数字类型

数字类型:byte,short,int,long,float,double。和Java一样,Kotlin中的所有数字类型都有符号,也就是说既可以表示正数,也可以表示负数。

1、数字安全转化:

fun main() {
    
    
	val num1: Int = "9.8".toInt()
}

直接执行上面函数会报错:NumberFormatException,我们修改下:

fun main() {
    
    	
    val num2: Int? = "9.8".toIntOrNull()
    println(num2)
}
//运行结果是:null

在做转换的时候可以使用安全转换函数toIntOrNull,如果数值不能正确转换就返回null

2、Double转Int与类型格式化

fun main() {
    
    
	//转化丢失精度
    println(8.956756.toInt())
    //四舍五入
    println(8.956756.roundToInt())
    println(8.156756.roundToInt())
    //格式化:只需要小数点后两位
    val s:String = "%.2f".format(8.956756)
    println(s)
}

//运行结果:
8
9
8
8.96

猜你喜欢

转载自blog.csdn.net/kongqwesd12/article/details/130964197