kotlin的loop和Range、list和map
继续学习Kolin的基础语法,比较简单,直接练习代码。
loop和range:
这里用一个场景来说明:计算从1到100之间数的总和,那在kotlin中是如何搞的呢?

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

编译运行:


确实是能表达,又一次体现出kotlin强大之处,如果用java去实现最起码得整个循环。
接着来计算一下它们的和,如下:

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

其结果:

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

编译运行:


只输出到99,很显然用until就可以表达一个开区间。
接下来再看一下其它相关的语法:

编译运行:

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

编译运行:

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

编译运行:

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

编译运行:

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

编译运行:

对于这种增强的语法是不是感觉挺怪滴,先有个大致的印象,待之后再深入。
接着对于map在kotlin又是如何构建呢?

编译运行:

kotlin的loop和Range、list和map的更多相关文章
- Kotlin 区间和循环 Loop和Range
在kotln中有一种很简单的方式来表达某一个区间的数字. 比如我想存储1~100. 我在其他的语言中可以用数组,步骤大概有三个把. 但是在kotlin中就只需要一步. 代码如下: fun main(a ...
- Go语言【第十二篇】:Go数据结构之:切片(Slice)、范围(Range)、集合(Map)
Go语言切片(Slice) Go语言切片是对数组的抽象,Go数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数 ...
- Kotlin集合——Map集合
Kotlin集合——Map集合 转 https://www.jianshu.com/p/da5cc9072f1e Kotlin的Map集合用于保存key-value对,其也被分为可变的和不可变的. 一 ...
- Linux环境下stl库使用(map)
例子1: testMap.cpp #include <string.h> #include <iostream> #include <map> #include & ...
- Kotlin学习笔记
Kotlin的注释 Kotlin 的代码注释和Java一模一样 Kotlin的运行方式也是先kotlinc生成字节码,再kotlin字节码 如果一行里面只有一条语句,那么可以不写分号.但如果打算在同一 ...
- Python特殊语法:filter、map、reduce、lambda [转]
Python特殊语法:filter.map.reduce.lambda [转] python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, s ...
- C++中map的概念,与简单操作
来源:http://blog.csdn.net/wallwind/article/details/6876892 C++map学习 map<Key, Data, Compare, Allo ...
- 转:Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
- 【python】filter,map,reduce和lambda函数介绍
filter(function, iterable)map(function, iterable)reduce(function, sequence) filter将 function依次作用于ite ...
随机推荐
- linux常用命令---------------find
1.find 基本模式 find path -option [ -print ] [ -exec -ok command ] {} \; 2.常用的参数 -name name, -iname name ...
- Linux下中文乱码
Linux下中文乱码 修改mysql配置文件,centeros下 配置文件在 /etc/my.cnf vi /etc/my.cnf 在[mysqld]段下添加 character-set-server ...
- 安装barbican
1.准备数据库 mysql -uroot -p CREATE DATABASE barbican; GRANT ALL PRIVILEGES ON barbican.* TO 'barbican'@' ...
- 如何简单的编译v8动态库
按照google v8的官方提供的方法,在国内,完成编译简直太难了. 还好nodejs提供离线编译能力,稍微改造一下可以从node源码中直接编译纯净的v8动态库. 直接把v8解压出来的py/gpy文件 ...
- 使用vue-lbsmap快速开发地图应用/GPSBD
vue-lbsmap是一款基于vue的WebGIS地图插件,经过我们多年实际项目应用中积累的技术,打造的灵活.易用.数据驱动型插件,可以帮助您快速开展地图业务层的应用开发,完全免费 <!DOCT ...
- Linux 安装 openoffice
1 说明 本文档采用rpm包方式安装,操作系统为centos 2 下载openoffice rpm包 创建nginx源码包存放目录 mkdir /usr/local/src/openoffice cd ...
- 宝塔配置composer默认的PHP版本
当安装composer时,提示PHP版本问题: rm -f /usr/bin/php //这是默认的版本,删除 ln -sf /www/server/php/71/bin/php /usr/bin/p ...
- PTA(Advanced Level)1075.PAT Judge
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...
- spring boot 2.0 提示 No primary or default constructor found for interface Pageable 解决办法
在SpringBoot 2.0 以前,我们会配置以下类 @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter ...
- Eclipse怎么升级版本
java工程上右键——选择Properties——Project Faces——右边java项选择相应的版本就OK了