学习的步伐(五) Kotlin 基础语法学习总结:语法

原创 2017年07月01日 09:26:27

共同学习


语法

  • 返回一个Arraylist集合
 /**
     * 制造假数据
     * 返回一个ArrayList<String> 的集合
     * */
    fun getData( ) : ArrayList<String>{
        val arrayList = ArrayList<String>()
        val list = listOf<String>("a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "o")
        //for循环
        for (k in list){
            arrayList.add(k)
        }
        return  arrayList
    }
  • for循环
  //for循环
        for (k in list){
            arrayList.add(k)
        }
  • if 表达式

Kotlin中是没有三元表达式,if表达式就已经满足需求了!

fun max1() {
        var max: Int = 3
        var min: Int = 1
        //传统写法
        if (min < max)
            max = min
        Log.e("max:传统写法", "" + max) //打印结果:06-29 18:04:14.048 1200-1200/webred.cp.example.com.kotlingrammar E/max:传统写法: 1

    }

    fun max2() {
        var max: Int = 3
        var min: Int = 1
        if (min > max)
            max = min
        else
            max = 4
        Log.e("max", "" + max) //打印结果:06-29 18:04:14.048 1200-1200/webred.cp.example.com.kotlingrammar E/max:4
    }
    fun max3() {
        var max: Int = 3
        var min: Int = 1
        var myMax=if (min > max) min else max
        Log.e("myMax", "" + myMax) //打印结果:06-29 18:04:14.048 1200-1200/webred.cp.example.com.kotlingrammar E/myMax: 3
    }
  • 数组arrayOf()
/**
*我们可以给库函数 arrayOf() 传递每一项的值来创建Array,arrayOf(1, 2, 3) 创建了一个[1, 2, 3] 这样的数组
*/
  val image = arrayOf(R.mipmap.zhuye,R.mipmap.shangdian,R.mipmap.msg,R.mipmap.sd_ka)
  • listOf()
    listOf()是使用ArrayList实现的,返回的list是只读的,其内存效率更高。在开发过程中,可以尽可能的多用只读List,可以在一定程度上提高内存效率。
       val tab1:Tab1Fragment=Tab1Fragment()
        val tab2:Tab2Fragment=Tab2Fragment()
        val tab3:Tab3Fragment=Tab3Fragment()
        val tab4:Tab4Fragment=Tab4Fragment()
        var lsit =listOf<Fragment>(tab1,tab2,tab3,tab4)
  • when表达式 跟java的switch一样
    //调用
        testWhen(1)
        testWhen("Kotlin")
        testWhen(222)


   //Any   Kotlin类层次结构的根。每个Kotlin类都有一个超类。
    fun  testWhen(any : Any){
        when(any){
            1 -> Log.e("Tag",any.toString())
            "Kotlin" -> Log.e("Tag",any.toString())
            is Long-> Log.e("Tag",any.toString()+"This is  Long")
            else -> Log.e("Tag","什么都不是")
        }
    }

Log:
07-01 13:55:35.179 25675-25675/webred.cp.example.com.kotlingrammar E/Tag: 1
07-01 13:55:35.179 25675-25675/webred.cp.example.com.kotlingrammar E/Tag: Kotlin
07-01 13:55:35.179 25675-25675/webred.cp.example.com.kotlingrammar E/Tag: 什么都不是
  • range 表达式
    //  ..操作符号  表示区间的意思
   // rangeTo 函数拥有形如 .. 的操作符,该操作符是用 in 和 !in 实现的。 Range 可以对任何可比较的类型做操作,但对整数基本类型是优化过的。
        var a : Int=1
        if (a in 1..10) {
        //表示  a 在1到10的区间  (包括1 和10)
        }
        //或者
        if (a !in 1..10) {
            //表示  a 不再在1到10的区间  (包括1 和10)
        }

downTo()和step()

/**downTo():
**/
     a 种方式:
        for (i in 1..4)Log.e("for循环1",i.toString())  //打印结果: 1  2   3   4 
     b 种方式:
        for (i in 4..2)Log.e("for循环2",i.toString()) //打印结果: 什么都不会打印


        //如果b种方式想打印出来可以调用这个函数:downTo()
        for (i in 4 downTo 1)Log.e("for循环downTo",i.toString())//打印结果:4  3  2  1



/**
*step():指定步数的迭代
*
**/
   for (i in 4 downTo 1 step 2)Log.e("for循环setp",i.toString())//打印结果:4 2 
      for (i in 5 downTo 1 step 2)Log.e("for循环setp",i.toString())//打印结果:5 3 1
      //注意观察规律:如果step指定  打印的时候从第一个数,往后移动几个位置(setp指定的数就是要移动的位置)。
      for (i in 1..4 step 2)Log.e("for循环setp",i.toString())//打印结果:1 3


也支持小数的:
for (x in 2.0 downTo 1.0 step 0.3) Log.e("for循环setp",x.toString())//打印结果:"2.0 1.7 1.4 1.1 



先介绍这么多,后续陆续补充!
如果有什么描述的不对的欢迎留言指出!

版权声明:本文为博主原创文章,未经博主允许不得转载。

Fragment生命周期完全解析

我们如果向更加详细的了解fragment的生命周期,最好的方式就是下面两张图,跑代码打印log日志官方地址http://developer.Android.com/guide/components/f...

java 加载资源文件方式

我们有很多方法加载资源文件,比如用ClassLoader.getResourceAsStream、ClassLoader.getSystemResourceAsStream或者Class.getRes...

学习的步伐(四) Kotlin 基础语法学习总结:操作符

孔子曰:温故而知新!当初学习这些语法的时候有些地方,有时候能看懂,有时候又看不懂。经常感觉自己的后觉神经比较长,经常复习还是非常有必要的!本文主要是我自己的复习笔录。有什么总结不对的欢迎大家指出!主要...

学习的步伐(三)Kotlin TabLayout+Viewpager+Fragment实现基础框架

看过一本书,名字是《你只是看起来很努力》。个人感觉很不错!每天学一点,时间久了总会进步的!Kotlin系列 学习的步伐(六) Kotlin 学习总结:类的特性 学习的步伐(五) Kotlin 基础...

Android Kotlin学习--基础语法

一、函数定义一个函数,接受2个int型参数,返回2数之和为int:Int 表现为类型。 去除了“;”符号。fun sum(a:Int = 1,b:Int = 2):Int{ return a...

Kotlin学习笔记-基础语法

Kotlin基础语法原文地址:https://www.kymjs.com/code/2017/02/04/01/ 用 var 声明变量 用 val 声明常量 用 in 判断对象是否在某个区间;遍历...

Kotlin 入门基础语法学习笔记

敲了一天的kotlin基础语法,整理归纳到一个类里面,便于以后忘记的时候复习。 /** * Created by GG on 2017/11/20. */ //main函数 fun main(a...

Kotlin学习(一)基础语法

玩了一整天的kotlin,发现根本停不下来,语法写的好痛快。今天就来写写Kotlin那些基本语法,其实跟Java有些一样又有些不一样,我们来看看: 函数 首先看一个基本的函数: 基本函数 fu...

Kotlin 从学习到 Android 第一章 基础语法

Kotlin 从学习到 Android 第一章 基础语法1. 基本数据类型1.1 数字类型 数据类型 字节长度 Double 8 Float 4 Long 8 Int...

kotlin 官方学习教程之基础语法

kotlin 官方学习教程之基础语法
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习的步伐(五) Kotlin 基础语法学习总结:语法
举报原因:
原因补充:

(最多只允许输入30个字)