当前位置:网站首页>[kotlin] the third day

[kotlin] the third day

2022-07-04 23:22:00 No. 101 of the top 100 most handsome faces in the Asia Pacific

Here is the reference
️ Author: intellectuals
️ Personal blog : Old nine CSDN Blog
Personal famous saying : Uncontrollable things Optimistic face
Series column :
Here is the reference

Nullability characteristics (?)

fun main() {
    
    var name:String = "lmp"
    // This default is a non nullable type 
    //name = null
    println(name)

    // When making a statement : Specify as nullable type ( Type followed by a question mark )
    var name2 : String ?
    name2 = null
    println(name2)
}

Security call operators

fun main() {
    
    var name :String? = "zhangsan"
    name = null

    // Change the first letter to capital 
    // If name yes null, The code after the question mark is not executed , No null pointer exception will be thrown 
    val r = name?.capitalize()
    println(r)
}

Use let Security call for

package com.lmp.s1
fun main() {
    
    var name:String? = null
    // var name = "lmp"
    name = ""

    var r = name?.let {
    
        //it == name  In itself 
        // If name It's empty , Do not execute after the question mark 

        if(it.isBlank())// If name yes ”“( No content )
        {
    
            "default"
        }else{
    
            "{
     $it}"
        }
   }
    println(r)
}

Non empty assertion operators (!!)

fun main() {
    
    var name :String? = null
    //!!  Assertion 
    // No matter name Is it right? null, All implemented 
   var r = name!!.capitalize()
    println(r)
}

Use if Judge null value

fun main() {
    
    var name:String? = null

    if(name != null){
    
       var r = name.capitalize()
        println(r)
    }else{
    
        println("name is null")
    }
}

Null merge operator

fun main() {
    
    var info : String ? = " Bruce Lee "
    info = null

    //?: If the front one is empty , Just output the following things 
    //xxx ?: " So you are null"  If xx be equal to null, Will execute ?: The back area 
    println(info ?: " So you are null" )

    //let function + Null merge operator 
    println(info ?.let{
    "【$it】"} ?:" So you are null")
}

Exception handling and custom exception

fun main() {
    
    try{
    
        var info :String ?= null
        checkException(info)
        println(info!!.length)
    }catch(e:Exception){
    
        println("$e")
    }
}

fun checkException(info: String?) {
    
    info ?: throw CustomException()
}

class CustomException : IllegalArgumentException(" Your code is too loose ")

Prerequisite function

fun main() {
    
    val value1 :String ?= null
    val value2 :Boolean = false
    // Throw abnormal function 
    //checkNotNull(value1)
    // Throw abnormal function 
    //requireNotNull(value1)
    // by false And throw exceptions 
    require(value2)
}

substring function

const val INFO = "lmp is Success Result"

fun main() {
    
    val indexOf = INFO.indexOf("i")
    println(INFO.substring(0, indexOf))
    println(INFO.substring(0 until indexOf))
}

split operation

fun main() {
    
     val jsonTest = "Derry,lmp"
     val list = jsonTest.split(",")
    // Deconstruction operations 
     val (v1,v2) = list
    println("$v1.$v2")
}

replace Complete encryption and decryption operation

fun main() {
    
    val sourcePwd = "lmp"
    println(" The original code is $sourcePwd")

    // Encryption operation : Is to replace characters with numbers 
   val newPwd = sourcePwd.replace(Regex("[lm]")){
    
        when(it.value){
    
            "l" -> "9"
            "m" -> "8"
            "p" -> "7"
            else->it.value
        }
    }
    println(" The encrypted password is $newPwd")

    // Decryption operation 
    val sourcePwdNew = newPwd.replace(Regex("[987]")){
    
        when(it.value) {
    
            "9" -> "l"
            "8" -> "m"
            "7" -> "p"
            else -> it.value
        }
    }
    println(" The decrypted password is $sourcePwdNew")
}

== and === Comparison operation

fun main() {
    
   //==  value   Comparison of contents   amount to java Of equals
    //===  Comparison of references 

    val name1 = "lmp"
    val name2 = "lmp"
    val name3 = "ww"

    println(name1.equals(name2))
    println(name1 == name2)
    println(name1 === name2) // true, Because it refers to the string constant pool 
    println(name1 == name3)

    val name4 = "lmp".capitalize()
    println(name1 == name4)
    println(name1 === name4)

}

 Insert picture description here

————————————————————————
It's not easy to code words , Everyone's support is my driving force to stick to it
Copyright notice : This paper is about CSDN Blogger 「 The top 100 most handsome faces in the Asia Pacific region 101 name 」 The original article of

原网站

版权声明
本文为[No. 101 of the top 100 most handsome faces in the Asia Pacific ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/185/202207042302121250.html