继续学习Kolin的基础语法,比较简单,直接练习代码。
loop和range:

这里用一个场景来说明:计算从1到100之间数的总和,那在kotlin中是如何搞的呢?

上面这么简单的一句代码确实是能表达么?下面输出看一下就知道了,这里就涉及到怎么循环了,其实跟java差不多,如下:

编译运行:

确实是能表达,又一次体现出kotlin强大之处,如果用java去实现最起码得整个循环。

接着来计算一下它们的和,如下:

接着来讨论一下开闭区间的问题,目前的定义数组的方式是一个闭区间:

其结果:

那下面来看一下如何表达开区间:

编译运行:

只输出到99,很显然用until就可以表达一个开区间。

接下来再看一下其它相关的语法:

编译运行:

另外还可以对数据进行反转:

编译运行:

那如果要计算出数组元素的大小呢?

编译运行:

list和map:

在kotlin中,如何去实例化一个list数据呢?

编译运行:

对于list而言是有顺序的,那如何知道各个元素在list的位置顺序呢?

编译运行:

对于这种增强的语法是不是感觉挺怪滴,先有个大致的印象,待之后再深入。

接着对于map在kotlin又是如何构建呢?

编译运行:

kotlin的loop和Range、list和map的更多相关文章

  1. Kotlin 区间和循环 Loop和Range

    在kotln中有一种很简单的方式来表达某一个区间的数字. 比如我想存储1~100. 我在其他的语言中可以用数组,步骤大概有三个把. 但是在kotlin中就只需要一步. 代码如下: fun main(a ...

  2. Go语言【第十二篇】:Go数据结构之:切片(Slice)、范围(Range)、集合(Map)

    Go语言切片(Slice) Go语言切片是对数组的抽象,Go数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数 ...

  3. Kotlin集合——Map集合

    Kotlin集合——Map集合 转 https://www.jianshu.com/p/da5cc9072f1e Kotlin的Map集合用于保存key-value对,其也被分为可变的和不可变的. 一 ...

  4. Linux环境下stl库使用(map)

    例子1: testMap.cpp #include <string.h> #include <iostream> #include <map> #include & ...

  5. Kotlin学习笔记

    Kotlin的注释 Kotlin 的代码注释和Java一模一样 Kotlin的运行方式也是先kotlinc生成字节码,再kotlin字节码 如果一行里面只有一条语句,那么可以不写分号.但如果打算在同一 ...

  6. Python特殊语法:filter、map、reduce、lambda [转]

    Python特殊语法:filter.map.reduce.lambda [转] python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, s ...

  7. C++中map的概念,与简单操作

     来源:http://blog.csdn.net/wallwind/article/details/6876892 C++map学习   map<Key, Data, Compare, Allo ...

  8. 转:Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)

    Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...

  9. 【python】filter,map,reduce和lambda函数介绍

    filter(function, iterable)map(function, iterable)reduce(function, sequence) filter将 function依次作用于ite ...

随机推荐

  1. linux常用命令---------------find

    1.find 基本模式 find path -option [ -print ] [ -exec -ok command ] {} \; 2.常用的参数 -name name, -iname name ...

  2. Linux下中文乱码

    Linux下中文乱码 修改mysql配置文件,centeros下 配置文件在 /etc/my.cnf vi /etc/my.cnf 在[mysqld]段下添加 character-set-server ...

  3. 安装barbican

    1.准备数据库 mysql -uroot -p CREATE DATABASE barbican; GRANT ALL PRIVILEGES ON barbican.* TO 'barbican'@' ...

  4. 如何简单的编译v8动态库

    按照google v8的官方提供的方法,在国内,完成编译简直太难了. 还好nodejs提供离线编译能力,稍微改造一下可以从node源码中直接编译纯净的v8动态库. 直接把v8解压出来的py/gpy文件 ...

  5. 使用vue-lbsmap快速开发地图应用/GPSBD

    vue-lbsmap是一款基于vue的WebGIS地图插件,经过我们多年实际项目应用中积累的技术,打造的灵活.易用.数据驱动型插件,可以帮助您快速开展地图业务层的应用开发,完全免费 <!DOCT ...

  6. Linux 安装 openoffice

    1 说明 本文档采用rpm包方式安装,操作系统为centos 2 下载openoffice rpm包 创建nginx源码包存放目录 mkdir /usr/local/src/openoffice cd ...

  7. 宝塔配置composer默认的PHP版本

    当安装composer时,提示PHP版本问题: rm -f /usr/bin/php //这是默认的版本,删除 ln -sf /www/server/php/71/bin/php /usr/bin/p ...

  8. PTA(Advanced Level)1075.PAT Judge

    The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...

  9. spring boot 2.0 提示 No primary or default constructor found for interface Pageable 解决办法

    在SpringBoot 2.0 以前,我们会配置以下类 @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter ...

  10. Eclipse怎么升级版本

    java工程上右键——选择Properties——Project Faces——右边java项选择相应的版本就OK了