Kotlin 函数返回、类型层次、循环

package com.init.demo.demo1

fun main(args: Array<String>) {
    println(returnMethod(1.0,3.0))
    println(maxNumber(1,3,4))
    listLittleNine()
    /**
     * Kotlin最上层类型为Any。意为任意类型
     * 定义了toString() aquals() hashcode() 众做周知的方法
     * 扩展方法: apply() list() to()
     * Unit 等价Java的void
     * void 不是类型 是一个个例 没返回值
     * Unit 是一个合适类型 用于实现一个单例
     * 函数定义Unit单例时,会返回一个单例值
     * while循环和Java循环一样
     * whie(true){
     *   println(1)
     * } //这是个无线死循环
     */
    for1()
    one2ten()
    /**
     * 一个对象想被for循环使用,需要实现一个Iterator的函数
     * 这个函数必须返回提供了实现以下两个操作符函数的对象实例
     * 1。operator fun hashNext():Boolean
     * 2.operator fun next():T
     * 编译器不会纠结任何特定的接口,只要返回这两个函数就行
     * String 能用for循环迭代其中的单个字符
     */
    println()
    val s = "我爱kotlin编程"
    for( char in s){
        print("${char}\t")
    }
    /**
     * 数组中有一个索引集合的扩展函数indices 可以用来迭代一个数组的索引
     */
    println()
    val sniHostName = arrayOf(1,2,3,4,5)
    for( char in sniHostName.indices){
        print("${char}\t")
    }

}

/**
 * return关键字
 */
fun returnMethod(a:Double,b:Double) :Double{

    return  a+b
}

/**
 * 函数嵌套
 */
fun  maxNumber(a:Int,b:Int,c:Int):Int{
    fun maxNumber(a:Int,b:Int):Int{
        if (a>b) return  a
        return  b
    }
    return  maxNumber(maxNumber(a,b),maxNumber(a,c))
}

/**
 * list循环方法
 */
fun  listLittleNine(){
    val  list = listOf(-1,1,2,3,4,15,6,17,21)
    list.forEach(fun(x){
        if (x<9){
            println(x)
        }else{
            return
        }
        println("此行会继续执行")
    })
}

/**
 * in 常用于for循环中,整型的区间也可用于在循环内外使用
 */
fun for1(){
    val  list1 = listOf(1,23,4)
    for (k in list1){
        println(k)
    }
    val  set1 = setOf(1,23,4)
    for (k in set1){
        println(k)
    }
    val  array1 = arrayOf(1,23,4)
    for (k in set1){
        println(k)
    }

}

/**
 * for-for循环
 */
fun one2ten(){
    val  one2ten = 1..10

    for ( k in one2ten){
        for (i in 1..9){
            print("${k}*${i}=${k * i}\t\t")
        }
        print("\n")
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值