前面已经学到了Kotlin的数据类型,那么就要用这些数据类型来做些事情。
一个程序,逃脱不了最基本的运行本质,那就是,分支判断和循环。一款程序无外乎从头到尾的执行,只是这个程序是否会停止,运行过程中的判断决定了程序运行的方向,循环可以让程序执行多次,和判断进行结合可以有更多的组合方式也会有更多的运行结果。
废话不说,直接上代码。
package cc.acme_me.kotlin fun main(args: Array<String>) { testWhile() testDoWhile() testFor() printNarcissisticNumber(100, 1000000) } /** * 水仙花数 * 水仙花指三位数的数值,每个位上的数的立方之和等于这个数 * 比如1^3 + 5^3 + 3^3 = 153 */ fun testWhile() { var num = 100 while (num < 1000) { var a: Int = num.rem(10)//个位数 var b = (num.rem(100) - a) / 10//十位数 var c: Int = num / 100//百位数 //判断是否符合条件,这个写法比较恶心,而且效率也有问题,初学这门语言,所以先写以后语言特性什么学会了再优化 if (num == Math.pow(a.toDouble(), 3.0).toInt() + Math.pow(b.toDouble(), 3.0).toInt() + Math.pow(c.toDouble(), 3.0).toInt()) { println("$a^3 + $b^3 + $c^3 = $num") } num++ } } /** * 四叶玫瑰数 * 四叶玫瑰数四位数的数值,每个位上的数的四次方之和等于这个数 * 比如1^4 + 6^4 + 3^4 + 4^4 = 1634 */ fun testDoWhile() { var num = 1000 //while循环和do while循环的区别是前者先进行判断,满足条件后进入循环体,后者与之相反,先运行循环体再进行判断是否满足条件进行一下次循环 do { var a: Int = num.rem(10)//个位
1、新建DataTypeForKotlin.kt文件,开始测试Kotlin的一些数据类型
package cc.acme_me.kotlin /** * Kotlin的数据类型 */ fun main(args: Array<String>) { var a: Int = 1; var b: Double = 1.0 var c: Float = 1.0F //1.0f var d: Boolean = true//true or false var e: Short = 1 var f: Char = 'c' var g: String = "string" var h: Long = 1 var i: Byte = 127 //-127-127 var j: Int = 0x1; var k: Int = 0b01 val l: String = "can not change"//val定义的变量是不能第二次赋值的,类似于java中final修饰的变量 //l="change content" //error }
2、测试Kotlin的函数入门,新建SimpleFunction.kt
package cc.acme_me.kotlin fun main(args: Array<String>) { println(sum(1, 3)) println(multiply(3, 4)) write2Console("write to console") write2Console2("write to console") subtract(16,6) } /** *带返回值的函数 */ fun sum(firstNum: Int, secNum: Int): Int { return firstNum + secNum } /** * 带返回值的函数,也可以用这种写法 */ fun multiply(firstNum: Int, secNum: Int) = firstNum * secNum /** * 无返回值函数 :Unit */ fun write2Console(string: String): Unit { println(string) } /** * 无返回值函数 :Unit可以省略 */
近来有空,准备学习一下Kotlin,所以才会有这篇笔记开始继续Kotlin的学习过程。不过,既然要学习,那么便先简单了解一下Kotlin的信息以及发展历史。
Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言,其名称来