美文网首页
7月20日学习总结

7月20日学习总结

作者: 加油小李 | 来源:发表于2020-07-20 00:32 被阅读0次

总结今天学习内容 

跟任何编程语音一样kotlin也拥有着 变量 函数 以及面向对象的语法结构

变量:

Kotlin中的变量有两种: val 和var

 val 类似于java 中的final 用val声明的变量只可以被赋值一次

var 就是可以被多次赋值的变量

关于数据类型 kotlin中没有基本数据类型 java中的int double类型在kotlin中都以Int Double 这种对象类型表示

函数:

当函数中只有一行代码时我们可以这样写

fun largerNumber(num1:Int,num2:Int)=max(num1,num2);

流程控制: 顺序语句 ,条件语句 ,循环语句

if语句可以简写为

when语句跟java中的switch语句一样单它远比switch强大的多 switch语句结合is 可以都传递的数据进行类型匹配.

fun checNumber(num:Number){

      when(num){

              is Int -> println("number is Int")

       is Double ->println("number is Double");

               else ->prinln("number not support")

       }

}

when语句的另一种用法

fun getScore(name: String)=when{

name.startWith("Jack") ->100

name=="Jim"->79

name=="Lily"->96

name=="Tom" ->86

else ->0

}

for-in语句是kotion中特点

fun main(){

for(i in 0..100)

println(i)

}

for..in语句中的until step语句

fun main(){

for(i in 0 until 10 step 2){

    println(i)

}

}

上面的代码表示遍历0-9这几个数字并且每次递增2 所以打印出来的值为0,2,4,6,8

for..in中的downTo 表示降序区间

fun main(){

for(i in10 downTo 1){

    println(i)

}

}

以上代码打印的结果为10,9,8,7,6,5,4,3,2,1

面向对象编程

我们可以用在数据模型类的前面加上data 这样然后只用生命参数即可构造方法和get,set方法都不需要声明

data class Cellphone(val brand:String,val price:Double)

单例类用object 声明即可

object Singleton{

            fun singletionTest(){

println("sinletonTest is called.")

}

}

kotlin在的接口可以有方法体如果我们不去重写这个方法,那么就默认实现接口中的方法体

集合:

listOf可以i创建一个不可改变的集合(集合一旦定义只能遍历不能对其添加修改删除)

listOf("苹果","香蕉","芒果")

mutableListOf 创建一个可以对其增删改查的List集合

fun main(){

val list = mutableListOf("苹果","香蕉","芒果")

list.add("车厘子")

for(fruit in list){

println(fruit)

    }

}

setOf 创建一个不可变的set集合(创建后不可对其增删改查只能遍历)

val set = setOf("苹果","香蕉","芒果")

for(fruit in set){

    println(fruit)

}

set 集合的数据是无序的

Map集合可以i这样写

val map = HashMap<String,Int>()

map["Apple"]=1

map[Banana]=2

map[Pear]=3

或者这样写

val map = mapOf("Apple"to 1,"Banana"to 2,"Pear" to 3)

当lambda表达式中只有一个参数时可以用it代替

val maxLengthFruit = list.maxBy(it.length)

filter函数表示过滤的意思

val list = listOf("Apple","Banana","Orange","Pear","Grape","Watermelon")

val newList = list.filter{it.length<=5}.map{it.toUpperCase()}

for(fruit in newList){

println(fruit)

}

Kotlin中any函数表示集合中至少有一个元素符合要求时而all函数则表示集合中所有元素都符合要求时

val list = listOf("Apple","Banana","Orange","Pear","Grape","Wataarmelon")

val anyResult = list.any {it.length <=5}

val allResult =list.all{it.lenght<=5}

在多线程中可以这样写

Thread(

println("Thread is running")

).start()

有关空指针检查

类型后面加?表示参数可为空

fun doStudy(study:Study?){

if(study!=null){

study.readBooks()

}

}

Kotlin中判空工具 ?.表示如果当参数不为空是正常调用,当参数为空时不作处理

..!表示程序员信任该参数绝对不为空不需要编译器额外检查

Kotlin中的let语句可以将下面代码

fun doStudy(study:Study?){

study?.readBoos()

study?.doHomework()

}

简写成 fun doStudy(study:Study?){

study?.let{stu ->

stu.readBooks()

stu.doHomework()

        }

}

Kotlin中的字符串内联表达式

val brand ="samsung"

val price=1299.99

println("Cellphone(brand=$brand,prince=$prince)")

Kotiln中在创建对象的时候如果不想创建某个参数可以直接给该参数赋值为空.

相关文章

  • kafka学习系列

    Kafka学习总结(一)——Kafka简介 Kafka学习总结(二)——Kafka设计原理 Kafka学习总结(三...

  • 习惯

    好的学习习惯,才能有效的学习,每天有计划的去学习,每天都要有总结,总结做过的事情,总结学到的东西,总结学习的方法,...

  • 要做就做第一名

    前几天刚学会了一个学习的公式:体验→感受→分享→总结。 生活要学会总结,总结是最好的学习,可以说没有总结的学习不叫...

  • GNU Make / Makefile 学习资料

    GNU Make学习总结(一)GNU Make学习总结(二)这篇学习总结,从一个简单的小例子开始,逐步加深,来讲解...

  • java基础参考资料

    JavaWeb学习总结(一)——JavaWeb开发入门 JavaWeb学习总结(二)——Tomcat服务器学习和使...

  • 2018年2月计划

    1. 课程学习,以及总结笔记 《关系课程》学习50节,总结笔记。 《中国史纲》学习50节,总结4篇笔记。 《pyt...

  • 跟着麦子学英语(一)

    学习,总结,在学习! 这也许就是学习的过程吧!学习起来了,总结经验,然后推到,在重新开始学习! ...

  • 《Thinking in UML》学习总结

    《Thinking in UML》学习总结 @(总结)[思考|学习|记录] @[toc] 简要 最近看完了这本书,...

  • 2018-07-09

    学习总结

  • 2017.4.30工作总结

    2017.4.30工作总结 本周完成情况## ** 学习php进阶** 字符串学习 正则学习 未完成的 本周总结 ...

网友评论

      本文标题:7月20日学习总结

      本文链接:https://www.haomeiwen.com/subject/dzldkktx.html