1.Kotlin-基本数据类型及运算
一.Kotlin基本数据类型
基本数据类型包括: Byte,Short,Int,Long,Float,Double
数据类型推断:
-
Kotlin中的数据类型全部以
val进行声明,编译器会自动推断数据类型 -
当然也可以在变量名后加
:数据类型的形式,显示指明数据类型val byteNumber: Byte = 127;//Byte
1.整数类型
| 类型 | 位宽 | 最小值 | 最大值 |
|---|---|---|---|
| Byte | 8 | -128 | 127 |
| Short | 16 | -32768 | 32767 |
| Int | 32 | $-2^{31}$ | $2^{31}-1$ |
| Long | 64 | $-2^{63}$ | $2^{63}1$ |
/*编译器自动推断*/
val number = 100;//默认是Int类型
val bigNumber = 80000000000;//超过Int最大值默认是Long类型
val longNumber = 80000000000L;//数字后面显示加L,表示声明Long
/*显示指明类型*/
val byteNumber: Byte = 127;//Byte
2.浮点类型
在Kotlin中与Java不同的是,Kotlin中数字不存在隐式的拓宽转换,参数为
Double的函数只能接受Double类型,不能接受Float、Int或其他数字类型
kotlin 中提供Float和Double两种类型来分别表示单精度和双精度的浮点类型
| 类型 | 位宽 |
|---|---|
| Float | 32 |
| Double | 64 |
/*浮点类型*/
//编译器自动推断
val doubleNumber = 3.1415926;//默认是Double类型
val floatNumber = 3.1415926f;//尾部加f或F显式表示这是一个Float类型的浮点数
//显示指明类型
val DNumber: Double = 3.1415926;//Double
3.布尔类型
在Kotlin中布尔类型使用Boolean类型表示,其值有false和true两个
/*布尔类型*/
val isVisible = true;//Boolean
val isVisible2: Boolean = false;
4.字符类型
在Kotlin中字符用Char类型表示,其值需要用单引号括起来
//赋值的时候用 单引号 引起来
val charNumber = 'A';
val charNumber2: Char = 'B';
5.字符串类型
(1)介绍
简述: 在Kotlin中字符串用string类型表示
特点:
-
字符串类型是不可变的
-
字符串的元素一一字符可以使用索引运算符访问,可以用
for循环迭代字符串s[i]
示例:
//字符串的声明
val str:String = "1234567890";
//字符串的取值,可以使用索引运算符进行访问
val strNumber:Char = str[0];
for (c in str) {
println(c);
}
(2)字符串模板
由于字符串和转义字符串内部都支持模板,所以如果要在字符串中表示字面量
$,不能使用反斜杠转义,必须使用下面的方法显示val price = "${'$'}str"; println(price);//$str
简述: 字符串字面量可以包含模板表达式,即一些小段代码,会自动求值并把结果合并到字符串中
使用:
-
字符串模板使用符号
$开头val str:String = "1234567890"; println("The Result is $str"); -
也可以配合花括号
${}包含任意表达式val str:String = "1234567890"; println("Text length is ${str.length}");
二.类型强制转换
在kotlin中与Java不同的是其是通过调用函数来实现数字类型的强制转换的,下面是一些常用的函数
| 类型 | 强转函数 |
|---|---|
| Byte | toByte() |
| Short | toShort() |
| Int | toInt() |
| Long | toLong() |
| Float | toFloat() |
| Double | toDouble() |
| Char | toChar() |
val number11 = 100;//声明一个整形,number对象
number11.toString();
number11.toByte();
number11.toShort();
number11.toLong();
number11.toFloat();
number11.toDouble();
number11.toChar();
...
三.四则运算
除法/:
val number = 3 / 2;
println(number);//输出1
val floatNumber = 3 / 2.toDouble();
println(floatNumber);//输出1.5
乘法*:
val number = 3 * 2;
println(number);//输出6
加法+:
val number = 3 + 2;
println(number);//输出5
减法-:
val number = 3 - 2;
println(number);//输出1
取余%:
val number = 3 % 2;
println(number);//输出1
四.位运算
Kotlin中位运算可以通过调用下面的函数来实现
shl(bits): 有符号左移shr(bits): 有符号右移ushr(bits): 无符号右移and(bits): 位与or(bits): 位或inv(): 位非xor(bits): 位异或
//无符号右移
// 0000 1000 ---> 0000 0010 = 2
val result5: Int = 8 ushr 2;//8右移2位*/

浙公网安备 33010602011771号