Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

时间:2022-10-06 20:07:16

作者:刘某人程序员

博客:http://blog.csdn.net/qq_26787115

声明:未经原作者允许请勿转载

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

一.基本类型


Kotlin的数字表现,如下

  • Double 64

  • Float 32

  • Long 64

  • Int 32

  • Short 16

  • Byte 8


这些就是全部的定义数字的方式了,而我们一般的写法也和JAVA类似

  • 十进制: 10086

  • 十六进制:0x0F

  • 二进制: 0b00001011

  • Long类型:10086L

  • Float类型:10086f

  • Double类型:100.86


同时,Kotlin上有一个下划线的定义,可以让代码的可读性更加的强,我们来看下

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


这段代码输出的数字


Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


下划线并不像JAVA一样会影响我们的代码,而是让我们的代码可读性变得更强


并且在JAVA平台中,== 和 === 的概念 就跟我们JAVA中 == 和eques类似

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

这段代码中,我们可以看到,我们定义了一个Inta,又定义了两个可空Int 赋值 a,结果算出===false,但是如果我们 改成== ,那就是值相等了,===是地址相同,很明显,我们是两个不同的变量,所以false


另外,在Kotlin中,小类型也不是大类型的子类,所以不存在强转的概念


比如这种错误的示范

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


这就隐式转换,但是我们可以用个显示转换来达到我们的需求

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

每个数字都是可以通过显示转换来达到自己想要的转换


我们再来看下逻辑运算

  • shl(bits) ‒ 有符号左移 (Java 的 << )

  • shr(bits) ‒ 有符号右移 (Java 的 >> )

  • ushr(bits) ‒ 有符号右移 (Java 的 >>> )

  • and(bits) ‒ 位与

  • or(bits) ‒ 位或

  • xor(bits) ‒ 位异或

  • inv() ‒ 位非


我们来写一段演示的示例

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


再来看下Char,Char不能作为一个单独的字符或数字存在,需要‘’单引号声明,比如

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


我们再来看下如何定义一个数组

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


listOf直接声明,arrayOfNulls声明一个长度固定的空数组Array定义一个指定长度,值的数组


再来看下字符串

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


这是我们常见的字符串,可以包含转义,还有一种

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


这是原生的字符串,用三个”“”表示,里面不包含转义,是什么就是什么,当然,这样的话里面就有很多空格了

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


我们可以|声明当前起始位,并且trimMargin()去除空格,得到的结果


Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


如果你没有这样处理的话,你输出的值是这个样子的


Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

二.包


包的作用我相信大家都是知道的

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

三.控制流:if、when、for、while


1.if表达式


在kotlin中,if的用法不局限于判断,他还会有返回,所以我们的写法也很多,比如

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


2.When表达式

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


但是我们一般是需要else结尾的,而且我们可以用in来表达

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

当然,你还可以用is来判断类型,这里就不讲了


3.For 循环

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


4.While 循环

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

四.Break和continue


Kotlin 有三种结构化跳转表达式:

  • return。默认从最直接包围它的函数或者匿名函数返回。

  • break。终止最直接包围它的循环。

  • continue。继续下一次最直接包围它的循环。


我们来看一个例子

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue


这里循环一个数组,如果等于5就分别执行continue,break,return,如果是break,return会跳出循环,也就 
只会打印1,3而continue会跳出本次循环,也就会打印1,3,7,9


如果有兴趣的话,可以来Github参与一下

Kotlin:https://github.com/LiuGuiLinAndroid/Kotlin



Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

同系列文章



Kotlin学习(一)—— IDEAIntelliJ IDEA的安装配置及Kotlin的环境部署


Kotlin学习(二)—— 基本语法函数变量,字符串模板条件表达式,null,类型检测,for,while,when,区间,集合


Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

一命二运三风水,四修阴德五读书!

Kotlin学习(三)—— 基本类型,包,控制流:if、when、for、while,Break和continue

刘桂林

微信号 : Android_LiuGuiLin

新浪微博:@刘某人程序员