添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

按照预期效果,str的第0位应该大于等于1(str[0] >= 1),才会走if代码块,但事实并不如此(我取到的值:49)。

2. 解决:

kotlin采用的Unicode编码,而上文取出来的值由ASCII编码转换为Unicode,查证对应码表,的确如此,所以应该先toString。

val str = "1009"
if(str[0].toString.toInt > 0){
                    1. 问题:取字符串中的一个char,再toInt,1被取值为49,导致if永远为true先上示例代码:val str = "1009"if(str[0].toInt > 0){	...}按照预期效果,str的第0位应该大于等于1(str[0] >= 1),才会走if代码块,但事实并不如此(我取到的值:49)。2. 解决:kotlin采用的Unicode编码,而上文...
Kotlin中有两个关键字定义变量 var 和 val
val是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变。
var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和Java中声明变量的方式一样。
const关键字: const修饰的val变量相当于java中static final是真正意义上的java常量
2.常量 Byte Char ShortInt Dou...
1.整数类型添加?和不添加有一个细节,不带?Int类型的变量映射为Java的int基本类型,而带?Int类型映射为Java的Integer类型,代码如下:
var pm1:Int = 200          var ob1:Int = 200
var pm2:Int = 200          var ob2:Int = 200
println(pm1===pm2)  true   println(ob1===ob...
				
Kotlin是一门强类型的语言,因此编译器对类型检查非常严格,这种严格保证了Kotlin程序的健壮性,因此Kotlin不同类型的值经常需要进行相互换,数值型之间的变量和值也可以相互换。 一、整型之间的换 不同整型的变量能支持的表数范围是不同的。 如下所示: Byte型证书在内存中通常占8位,表数范围是 -128~127。 兼容Java的byte和Byte类型 Short Short型证书在内存中通常占16位,表数范围是 -32768(-2的15次方)~32767(2的15次方减1)
位置不同:在 Kotlin 中,数据类型要放到变量后面,并且用冒号(:)分隔,这正好和 Java 相反。 变量和常量需要关键字:在 Kotlin 中,定义变量需要用 var 开头,定义常量需要用 val 。 数据类型首字母:在 Kotlin 中,数据类型都以大写字母开头,而在 Java 中,一般只有类、接口等复杂数据类型的名字才采用首字母大写的方式。 如果在定义变量时未进行初始化,就必须指定数据类型,如果在定义变量 字符串数字 首先我们必须保证字符串是数字类型,不能出现a3这种数字与字符混合的字符串。我们使用该字符串的toInt()方法进行字符串数字换。代码示例 // 定义一个字符串 var a = "13" var b = a.toInt() 数字字符串... 安全调用操作符 ? a?.函数 如果为空 则函数不执行 一般为该对象的自带函数 可以瀑布式调用 a?函数1?.函数2 let 除了自带函数 还想做一些额外操作 例如对本对象操作,或者进行网络请求 a.?let{ 虽然也可以if else 判断 但是安全调用操作符更加方便,简洁,例如支持瀑布调用。以后尽量使用操作符。 非空断言操作符 !! 非空断言操作
这是因为 "FFFFFFFF" 换为十进制数超出了 Int 类型的范围。Int 类型的取值范围是 -2^31 到 2^31-1,即从 -2147483648 到 2147483647。而 "FFFFFFFF" 换为十进制数的结果是 4294967295,已经超出了 Int 类型的范围。如果需要表示更大的整数,可以使用 Long 类型。例如,可以使用 kotlin 的 Long 类型来进行换: val result = "FFFFFFFF".toLong(16) 这样可以得到正确的结果 4294967295。