Kotlin 第四章

Kotlin

 
```package com.example.homework_711

import android.opengl.Matrix
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import java.io.File

fun main(args:Array<String>){

//    tupleDemo();
//    Equals()
//    DownTO()
//    switchDemo(999)
//    oprete()
 12.chengFa(2,5)



}

private fun basicLaggguage(){
    var age:Int=12
    var price:Double=45.0
    var distance:Float=78f
    var flag:Boolean=true
    var shortType:Short
    var longType:Long=99
    var byteType:Byte=12
    var charType:Char='a'

    val arrayOf = arrayOf(12, 13, 13,"jjj");

}

fun tupleDemo(){
    val classname=Pair<String,String>("android","java")
    val zimu=Triple("A","B","C")
    println(classname.first+""+classname.second)
    println(zimu.first+"\t"+zimu.second+"\t"+zimu.third)
}

fun nullable(){   //TODO 加?  可以为空
    var address:String?=null
}

fun Equals(){  //TODO 地址值对比

    val file1= File("d"+File.separator+"PS")
    val  file2=File("d"+File.separator+"PS")
    println(file1===file2)
    println(file1==file2)
}

fun DownTO(){  //TODO 倒计时
    var i=10.downTo(0)
    i.forEach {
        Thread.sleep(1000)
        println(it)
    }

}

fun switchDemo(num:Int){  //TODO Switch判断
    when(num){
        10,11,12-> println("10,11,12中的一个")
        13-> println("13")
        in 100..1000 -> println("输入的数组是100到1000之间")
        else-> println("是其他")
    }
}

fun printArea(width:Int,height:Int){
    fun area(w:Int,h:Int):Int{ //TODO 本地函数  又叫做嵌套函数
        return w*h
    }

    println("面积=${area(width,height)}")
}

fun printAreaUpdate(width:Int,height:Int){
    fun area()=width*height

    val area=area()
    println("面积$area")
}

 fun oprete(){  //TODO 操作符

     println(1.plus(5))
 }

class  Matrix(var a:Int, var b:Int, var c:Int){
    operator  fun plus(m:com.example.homework_711.Matrix):com.example.homework_711.Matrix{
        return com.example.homework_711.Matrix(a+m.a,b+m.b,c+m.c)
    }

    operator fun set(horizontal:Int,vertical:Int,value:Int){
        val point=Pair(horizontal,vertical)
        when(point){
            Pair(0,0)-> this.a=value
            Pair(0,1)-> this.b=value
            Pair(1,0)-> this.c=value
            else->return
        }
    }


    operator fun get(horizontal:Int,vertical:Int):Int{
        val point=Pair(horizontal,vertical)
        when(point){
            Pair(0,0)->return  a
            Pair(0,1)->return  b
            else ->return  0
        }
    }
}

object MinValues{
    operator fun invoke(a:Int,b:Int)=if(a>b)a else b
}

class  Student(val name:String,val age:Int){
    operator fun compareTo(other:Student):Int{
        return when{
            age>other.age->1
            age<other.age->-1
            else->0
        }
    }
}

class Counter(val a:Int){
    operator fun plus(b:Int)=Counter(a+b)
}

fun Int.chengFa(a:Int,b:Int)=a*b

class MyNumber(var k:Int){
    private  fun Int.triple()=this*this*this

    fun addFactor(p:Int){
        k+=p.triple()
    }
}

open class Particle() //TODO 粒子
class  Electron:Particle() //TODO 电子
open  class  Element(val name:String){  //TODO 元素

}







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值