一起学Kotlin(5)

1. 默认参数和具名参数

fun main(args: Array<String>) {

    //不用具名参数
    var circleperimeter01 = getCirclePerimeter(30.05f)
    println(circleperimeter01)
    var volume01 = getVolume(50.02f,30.2f)
    println(volume01)
    var superficialarea01 = getSuperficialArea(50.09f)
    println(superficialarea01)

    //使用具名参数
    var circleperimeter02 = getCirclePerimeter(d = 30.05f)
    println(circleperimeter02)
    var volume02 = getVolume(r = 50.02f,h = 30.2f)
    println(volume02)
    var superficialarea02 = getSuperficialArea(r = 50.09f)
    println(superficialarea02)

}
//定义一个常量
val Pi = 3.1415926f 

//2. 圆的周长 C = 2πr = πd r:半径 d:直径 周长:perimeter 常量写在参数的后面,用=号连接 Pi就是默认参数
fun getCirclePerimeter(d:Float,PI:Float= Pi):Float = d*PI

//3. 圆柱体体积 V = πrrh = sh s为圆柱的底面积 h为圆柱的高 常量写在参数的后面,用=号连接 Pi就是默认参数
fun getVolume(r:Float,h:Float,PI:Float= Pi):Float = PI*r*r*h

//4. 球表面积公式 S = 4πrr r:半径 常量写在参数的后面,用=号连接 Pi就是默认参数
fun getSuperficialArea(r:Float,PI:Float = Pi):Float = 4*PI*r*r

2. 字符串和数字之间的转换

fun main(args: Array<String>) {

    var a = "13"
    var b = 13

    b = a.toInt()
    a = b.toString()

    var c = "z007"
    b = c.toInt() //这里会报错,因为c字符串里面既有z字母,又有007数字,所以这种情况下不能采用toInt转换为数字

}

3. 人机交互

  • 展示的是从键盘录入数据,然后计算机转换为int类型,然后执行相加的计算
!!两个感叹号表示一定不为空
fun main(args: Array<String>) {

    println("请输入第一个数字:")
    var num1str = readLine();
    println("请输入第二个数字:")
    var num2str = readLine();

    var num1 = num1str!!.toInt()
    var num2 = num2str!!.toInt()

    println("${num1}+${num2}=${num1+num2}")

}

4. 异常处理

fun main(args: Array<String>) {
    while(true){
        println("请输入第一个数字:")
        var num1str = readLine();
        println("请输入第二个数字:")
        var num2str = readLine();
        try{
            var num1 = num1str!!.toInt()
            var num2 = num2str!!.toInt()
            println("${num1}+${num2}=${num1+num2}")
        }catch(e:Exception){
            println("输入的数据有问题,请重新输入")
        }
    }
}

5. 递归

以阶乘的形式讲递归:5的阶乘就是5*4*3*2*1 也就是5*4的阶乘
fun main(args: Array<String>) {
    var result = factorial(3)
    println(result)
}

fun factorial(num:Int):Int{
    if(num==1){
        return 1
    }else{
        return num*factorial(num-1)
    }
}
输入很大的数,计算机承受不了,错误得到的结果是0,所以现在借助BigInteger。

import java.math.BigInteger

fun main(args: Array<String>) {
    var result = BigInteger("10")
    println(factorial(result))
}

fun factorial(num:BigInteger):BigInteger{
    if(num==BigInteger.ONE){
        return BigInteger.ONE
    }else{
        return num*factorial(num-BigInteger.ONE)
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kotlin是一种现代化的静态类型编程语言,它可以在Java虚拟机(JVM)上运行,并且与Java语言高度兼容。如果你想Kotlin,以下是一个习路线的建议: 1. 了解基础知识:开始Kotlin之前,建议先了解一些基本的编程概念和语法,比如变量、数据类型、条件语句、循环语句等。这将为你后续的习打下坚实的基础。 2. Kotlin语法:Kotlin与Java有很多相似之处,但也有一些不同之处。Kotlin的语法和特性,比如空安全、扩展函数、数据类等,可以通过官方文档、教程或在线课程来习。 3. 实践编程:通过编写一些简单的程序来巩固所的知识。可以尝试解决一些小问题或者完成一些小项目,这样可以更好地理解和应用Kotlin的语法和特性。 4. 深入习面向对象编程:Kotlin是一种面向对象的编程语言,深入习面向对象编程的概念和原则对于掌握Kotlin非常重要。习类、对象、继承、多态等概念,并尝试在Kotlin中应用这些概念。 5. Kotlin与Java的互操作性:由于Kotlin与Java高度兼容,习如何在Kotlin中使用Java类库和框架是非常重要的。了解如何调用Java代码、处理Java集合等,可以帮助你更好地使用Kotlin进行开发。 6. 深入Kotlin的高级特性:一旦掌握了Kotlin的基础知识,可以进一步习一些高级特性,比如协程、函数式编程、DSL等。这些特性可以提高你的代码质量和开发效率。 7. 参与实际项目:最好的习方式是通过实践。尝试参与一些实际的项目或者开源项目,与其他开发者合作,这样可以提升你的编程能力和实践经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值