
Kotlin语言(黑马程序员) p21-p40
发布日期:2021-05-06 03:14:49
浏览次数:12
分类:技术文章
本文共 4293 字,大约阅读时间需要 14 分钟。
1.when表达式
fun main(args:Array) { gradeStudent(10)}fun gradeStudent(Score:Int):Unit{ when(Score) { 10-> println("优秀") 9-> println("良好") 8-> println("及格") else ->println("不及格") }}//优秀
fun main(args:Array) { diaryGenerator("颐和园")}fun diaryGenerator(placeName:String){ var diary="今天天气晴朗,我去了${ placeName},首先映入眼帘的是${ placeName} ${ numToChinese(placeName.length)}个大字" println(diary)}fun numToChinese(num:Int):String{ var result:String =when(num) { 1->"一" 2->"二" 3->"三" 4->"四" 5->"五" else->num.toString()//int转字符串类型 } return result}//今天天气晴朗,我去了颐和园,首先映入眼帘的是颐和园 三个大字
2.Loop和Range
fun main(args:Array) { var nums=1..5//区间为[1,5] for(num in nums) { print("${ num} ") }}//1 2 3 4 5
fun main(args:Array) { var nums=1 until 5//区间为[1,4) for(num in nums) { print("${ num} ") }}//1 2 3 4
fun main(args:Array) { var nums=1..1000 var result=0; for(num in nums) { result=result+num } print("结果为:${ result}")}//结果为:500500
fun main(args:Array) { var nums=1 .. 10//区间[1,10] println("nums的总数为:"+nums.count())//count()计算数组大小 for(num in nums step 2)//step 2个步长 { print("${ num} ") } println() var num3=nums.reversed()//reversed()反转 for(nums in num3 step 2) { print("${ nums} ") }}//nums的总数为:10//1 3 5 7 9//10 8 6 4 2
3.List和Map
Listfun main(args:Array) { var lists= listOf("苹果","西瓜","香蕉","菠萝","草莓") for(list in lists) { println(list) }}/*苹果西瓜香蕉菠萝草莓*/
fun main(args:Array) { var lists= listOf("苹果","西瓜","香蕉","菠萝","草莓") for((i,e) in lists.withIndex()) { println("${ i},${ e}") }}/*0,苹果1,西瓜2,香蕉3,菠萝4,草莓*/
Map
import java.util.*fun main(args:Array) { var map= TreeMap () map["好"]="good" map["学习"]="study" map["天"]="day" map["向上"]="up" println(map["好"]+" "+map["好"]+" "+map["学习"]) println(map["天"]+" "+map["天"]+" "+map["向上"])}/*good good studyday day up*/
4.函数和函数表达式
fun main(args:Array) { println(add(5,7)) println(add1(5,7)) var add2={ x:Int,y:Int->x+y}//函数表达式 println(add2(5,7)) var add3:(Int,Int)->Int={ x,y->x+y}//函数表达式 println(add3(5,7))}fun add(x:Int,y:Int):Int//函数{ return x+y}fun add1(x:Int,y:Int):Int=x+y/*12121212*/
5.默认参数和具名参数
var pi =3.1415926ffun main(args:Array) { println("长方形面积为:"+获取长方形面积(4.54f,2.4f)) println("圆的周长1为:"+获取圆的周长1(半径=2f)) println("圆的周长2为:"+获取圆的周长2(3.1415926f,4f)) println("圆柱体的体积为:"+获取圆柱体的体积(pi,2f,5f)) println("球体的表面积为:"+获取球体的表面积(pi,4f))}fun 获取长方形面积(长:Float,宽:Float):Float{ return 长*宽}fun 获取圆的周长1(PI:Float=pi,半径:Float):Float{ return 2*PI*半径}fun 获取圆的周长2(PI:Float,直径:Float):Float{ return PI*直径}fun 获取圆柱体的体积(PI:Float,半径:Float,高:Float):Float{ return PI*半径*半径*高}fun 获取球体的表面积(PI:Float,半径:Float):Float{ return PI*半径*半径*4}/*长方形面积为:10.896圆的周长1为:12.56637圆的周长2为:12.56637圆柱体的体积为:62.83185球体的表面积为:201.06192*/
6.字符串转数字
fun main(args:Array) { var a:String="13" var b:Int=13 a=b.toString()//整形转字符串 b=a.toInt()//字符串转整形}
7.Kotlin的人机交互
fun main(args:Array) { print("请输入第一个数字:") var num1str= readLine() print("请输入第二个数字:") var num2str= readLine() var num1:Int=num1str!!.toInt()//!!确保输入的数不为空 var num2:Int=num2str!!.toInt() println("第一个数字:"+num1) println("第二个数字:"+num2) println("两个数字之和:${ num1+num2}")}/*请输入第一个数字:2请输入第二个数字:4第一个数字:2第二个数字:4两个数字之和:6*/
8.Kotlin异常处理
import java.lang.Exceptionfun main(args:Array) { while(true) { print("请输入第一个数字:") var num1str = readLine() print("请输入第二个数字:") var num2str = readLine() try { var num1: Int = num1str!!.toInt()//!!确保输入的数不为空 var num2: Int = num2str!!.toInt() println("第一个数字:" + num1) println("第二个数字:" + num2) println("两个数字之和:${ num1 + num2}") } catch (e: Exception) { println("输入的数字有问题") } }}/*请输入第一个数字:1请输入第二个数字:a输入的数字有问题请输入第一个数字:2请输入第二个数字:4第一个数字:2第二个数字:4两个数字之和:6请输入第一个数字:*/
发表评论
最新留言
不错!
[***.144.177.141]2025年03月17日 18时38分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
codeforces1307D 1900分最短路
2019-03-03
codeforces803F 2100分容斥原理 + 莫比乌斯函数
2019-03-03
2020牛客暑期多校训练营(第七场) 待补题
2019-03-03
2020牛客暑期多校训练营(第九场)
2019-03-03
8皇后问题 递归 函数调用是重点
2019-03-03
1541 +1 *2 ²
2019-03-03
老鼠走迷宫
2019-03-03
跳马 (和小老鼠走迷宫差不多)
2019-03-03
ural 1627 生成树计数模板题 基尔霍夫矩阵树定理 + 行列式计算模板
2019-03-03
cf 977e 思维 + dfs
2019-03-03
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
2019-03-03
【Java面试】30个 Java 集合面试必备的问题和答案
2019-03-03
干了八年的阿里面试官,给大家分享我面试时最爱问的Java面试题
2019-03-03
华为鸿蒙到底是不是安卓系统套了个壳?
2019-03-03
一百个随机或多个数值之心分组插入
2019-03-03
redis知识点学习
2019-03-03
Redis持久化以及主从架构原理
2019-03-03
vue出现sockjs-node/info?t=1462183700002 报错解决方案
2019-03-03
删除mongodb中已存在的用户
2019-03-03