当前位置:网站首页>[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
List of articles
- Nullability characteristics (?)
- Security call operators
- Use let Security call for
- Non empty assertion operators (!!)
- Use if Judge null value
- Null merge operator
- Exception handling and custom exception
- Prerequisite function
- substring function
- split operation
- replace Complete encryption and decryption operation
- == and === Comparison operation
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)
}

————————————————————————
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
边栏推荐
- 【taichi】用最少的修改将太极的pbf2d(基于位置的流体模拟)改为pbf3d
- The difference between debug and release
- Qt加法计算器(简单案例)
- Editplus-- usage -- shortcut key / configuration / background color / font size
- MySQL数据库备份与恢复--mysqldump命令
- OSEK standard ISO_ 17356 summary introduction
- Redis introduction complete tutorial: Collection details
- Tweenmax emoticon button JS special effect
- The initial arrangement of particles in SPH (solved by two pictures)
- Qualcomm WLAN framework learning (30) -- components supporting dual sta
猜你喜欢
随机推荐
Redis introduction complete tutorial: detailed explanation of ordered collection
PaddleOCR教程
推荐收藏:跨云数据仓库(data warehouse)环境搭建,这货特别干!
JS card style countdown days
法国学者:最优传输理论下对抗攻击可解释性探讨
qt绘制网络拓补图(连接数据库,递归函数,无限绘制,可拖动节点)
Why does infographic help your SEO
股票账户佣金怎么调低,炒股佣金怎么调低网上开户安全吗
Docker镜像的缓存特性和Dockerfile
云服务器设置ssh密钥登录
Financial markets, asset management and investment funds
[JS] - [sort related] - Notes
Servlet+jdbc+mysql simple web exercise
Qualcomm WLAN framework learning (30) -- components supporting dual sta
A complete tutorial for getting started with redis: getting to know redis for the first time
Observable time series data downsampling practice in Prometheus
The difference between debug and release
Blue sky nh55 series notebook memory reading and writing speed is extremely slow, solution process record
【爬虫】数据提取之JSONpath
金融市场,资产管理与投资基金



![P2181 对角线和P1030 [NOIP2001 普及组] 求先序排列](/img/79/36c46421bce08284838f68f11cda29.png)




