kotlin之range范围表达式

news2024/11/19 5:26:34

    Kotlin 中的 Range 有 CharRangeLongRangeIntRange

range  范围

 CharRangeLongRangeIntRange

范围区间

    var a:IntRange= 50..100

    for (i in a){    //遍历50~100的分数分别在什么位置
        print("成绩:$i")
        if(i in 1..59){   //1~59 范围
            println(" 不及格")
        }else if(i in 60..69){  //60~69
            println(" 及格")
        }else if(i in 70..79){  //70~79 范围
            println(" 良")
        }else if(i in 80..89){  //80~89 范围
            println(" 好")
        }else if(i in 90..100){  //90~100 范围
            println(" 优")
        }else if(i !in 1..100){  //1~100 范围
            println(" 错误分数")
        }
    }
 var b:IntRange= 50 until 100

    for (i in b){    //遍历50~100的分数分别在什么位置
        print("成绩:$i")
        if(i in 1 until 60){   //1~59 范围
            println(" 不及格")
        }else if(i in 60 until 70){  //60~69
            println(" 及格")
        }else if(i in 70 until 80){  //70~79 范围
            println(" 良")
        }else if(i in 80 until 90){  //80~89 范围
            println(" 好")
        }else if(i in 90 until 100){  //90~100 范围
            println(" 优")
        }else if(i !in 1 until 100){  //1~100 范围
            println(" 错误分数")
        }
    }

对比两次结果可以看到 

 

 ..    这个符号为闭区间符号

until  这个为半封闭区间

好,我来做一个临界点的测试,看看区间

    var b:IntRange = 1..50
    val iss: Boolean = b.contains(51) // false
    val isn: Boolean = 51 in b // false
    val isc: Boolean = 50 in b // true
    val isd: Boolean = b.contains(50) // true
    println(iss)
    println(isn)
    println(isc)
    println(isd)

 我先定义了一个全封闭的区间

 拿51与50代入去测试

发现返回

 当51时,超出临界点的时候为false

当50时,刚好在临界点时为true

    var c:IntRange = 1 until 50
    val isg: Boolean = c.contains(50) // false
    val ish: Boolean = 50 in c // false
    val isj: Boolean = 49 in c // true
    val isk: Boolean = c.contains(49) // true
    println(isg)
    println(ish)
    println(isj)
    println(isk)

当定义一个1~50半封闭的区间

我代入49~50时

发现返回

 当值为50时,超出临界点  为false

当值为49时,在包含之中 为true

    CharRange,LongRange就不讲了 

    var q:CharRange = 'a'..'z'
    println(q)

    var l:LongRange = 1..10000000000
    println(l)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/69950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leica Infinity三维映射环境数据

Leica Infinity三维映射环境数据 Leica Infinity是软件工程师和该领域专家的名字,以及您的工作计划信息。该软件被设计和呈现为一个强大的产品,并且来自六边形组。Leica Infinity产品的居民试图用新的眼光创造新的数据处理。使用此软件,您可以…

和ChatGPT 比一比谁更懂Kubernetes?

有时,很难得到关于云原生世界中棘手话题的明确答案。哪个是最好的服务网格?平台工程只是devops的另一个标签吗?多云是一种风险吗? 如果你无法从一个人那里得到直截了当的答案——为什么不问一台机器呢? 因此&#xf…

net6自动注册到Consul 代码实例

简单理解: 服务多的时候,服务地址都是写固定,增加一个地址,配置一次,配置nginx或者其他配置,麻烦 有了这个就可以通过应用服务上报服务名servicename和访问地址,同一个服务名servicename可以有多个节点&a…

【教学类-15-05】20221207《八款字体的描字帖-2*4格》(中班大班)

成品样式: 80号字(适应2-3个名字的大小) 68号字(适应4个名字大小(2-3个名字也可以用,字会很小)) 打印样式: 背景需求: 前期进行多次的Python学具教学活动&a…

能跟CAD、BIM软件联合使用的地图神器,比奥维谷歌地图还方便!

是的,今天王工推荐的跟之前的地图工具不一样,百度、谷歌、MAPBOX那些称之为地图工具,这个简直就是地图的浏览器!而且它还可以与CAD、BIM软件联合使用! 实在是比奥维地图“香”。 海量图源任意浏览 ▲ 任意切换各种地…

OpUtils的网络扫描

什么是网络扫描程序 网络扫描程序只需扫描整个网络基础架构,即可获取和记录网络资源的可用性、性能和利用率指标。它执行 Ping 扫描和 SNMP 扫描,以识别网络中运行的实时主机和服务。网络扫描程序可以执行网络扫描以显示详细信息,例如当前登…

第十四届蓝桥杯集训——JavaC组首篇——环境搭建(win11)

还有9天就截止报名了,我们也算正式开始培训了,今年希望能取得更好的成绩。 今年的蓝桥杯从环境开始——本博客为win10电脑的Java_JDK环境搭建: 学生机环境-Java编程环境(第十四届大赛) 链接: https://pan.baidu.com…

Servlet 目录(pom.xml内容) 和 打包的两种方法

目录 一、webApp目录结构 web.xml里的内容 代码放置位置 后端代码&#xff1a;放到 src/main/java目录下 前端代码&#xff1a;放到webapp目录下 二、打包程序 一、webApp目录结构 web.xml里的内容 <!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web…

TI Lab_SRR学习_1 硬件基础 AWR1642和AWR1642EVM

首先需要对AWR1642芯片有一定的了解,包括天线设计,收发芯片的主要参数等。同时需要区分AWR1642和EVM板之间的区别。 可参考文档 awr1642 datasheetAWR1642 Evaluation Module (AWR1642BOOST) Single-Chip mmWave Sensing Solution 主要的Features(想了解各个子系统,请参考…

如何使用Spring Boot,Thymeleaf和Bootstrap上传多个文件

在本教程中&#xff0c;我将向您展示如何使用Spring Boot&#xff0c;Thymeleaf和Bootstrap上传多个文件。我们还使用 Spring Web MultipartFile界面来处理 HTTP 多部分请求并显示上传文件的列表。 春季启动多文件上传与百里香叶概述 我们的 Spring Boot Thymeleaf 多文件上…

如何通过“推送文案的千人千面”有效提升用户转化和留存

随着互联网用户红利消失和获客成本不断飙升、互联网正从“增量时代”迈向“存量时代”。 通过精细化运营激活存量用户&#xff0c;从而带动企业的第二增长曲线发力&#xff0c;已经成为行业共识。 在此趋势下&#xff0c;企业纷纷开始搭建私域流量池&#xff08;如会员体系、…

HTML学生个人网站作业设计:HTML做一个公司官网首页页面(纯html代码)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

基于鹰优化算法和粒子群优化算法结合焊接梁设计,拉伸/压缩,压力容器,悬臂梁设计的应用(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Linux学习】进程概念(下)

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 进程概念&#xff08;下&#xff09;&#x1f35f;进程优先级&#x1f35f;进程切换&#x1f35f…

Logistic回归(随机梯度上升算法)

梯度上升算法 def gradAscent(dataMatIn, classLabels):dataMatrix np.mat(dataMatIn) #转换成numpy的matlabelMat np.mat(classLabels).transpose() #转换成numpy的mat,并进行转置m, n np.shape(dataMa…

Elasticsearch入门(三)高级查询操作

前期准备 先把上一个内容的 student 索引删除掉 在 Postman 中&#xff0c;向 ES 服务器发 DELETE 请求&#xff1a;http://127.0.0.1:9200/student 在 Postman 中&#xff0c;向 ES 服务器发五个 POST 请求&#xff1a;http://127.0.0.1:9200/student/_doc/100x x分别是1&…

Linux下用文件IO的方式操作GPIO

1.首先查看系统中有没有 “/sys/class/gpio” 这个文件夹。如果没有请在编译内核的时候通过make menuconfig加入。 Device Drivers -> GPIO Support ->/sys/class/gpio/… (sysfs interface)。2./sys/class/gpio 的使用说明 如果是在已经适配好的 Linux 内核上&#xf…

【Vue路由】路由的简介及基本使用

文章目录路由的简介路由的基本使用几个使用路由的注意点组件分类组件去向路由组件路由的简介 再说路由之前&#xff0c;我们先来看看生活中的路由器&#xff0c;它的作用就是让多台设备同时上网&#xff0c;同时每一个接口对应一个网络设备&#xff1a; 我们可以这样来看&am…

面试题分享|Linux定时任务调度机制是怎么回事?

一. 前言 在求职过程中&#xff0c;有过面试经历的小伙伴们都知道&#xff0c;企业对linux的考察还是蛮频繁的。作为java开发程序员&#xff0c;在企业中我们的服务器都是在linux环境中部署的&#xff0c;所以熟练使用linux已经成为企业招聘人才的基本需求。但很多小伙伴在学习…

基于蚁群算法的车辆路径规划问题的研究(Matlab代码实现)

目录 1 概述 1.1研究背景 2 运行结果 3 Matlab代码实现 4 结语 5 参考文献 1 概述 车辆路径规划问题&#xff08;Vehicle Routing Problem,VRP&#xff09;是现代物流配送过程中的关键环节,而且其在众多领域中都有广泛的应用,因此它的提出引起了不同学科的专家和物流管理…