当前位置: 首页 > news >正文

Kotlin变量与控制条件的基本用法

一、变量与控制条件

1、var与val

var:可修改变量

val:只读变量,只读变量并非绝对只读。

编译时常量只能在函数之外定义,因为函数内常量是在运行时赋值,编译时常量要在变量赋值前存在。并且值是无法修改的。

const var MAX = 100

image-20230904200619068

不使用类型推导的方法:

val j:Int = 0;

2、range表达式 in与until

2.1 左闭右闭区间

用于指定一个数据的区间范围,该区间范围是一个双端闭区间。

var  age = 5;
if(age in 0..3){println("符合");
}else if (age in 4..6){println("不符合")
}
var  age = 5;
if(age !in 0..3){println("符合");
}

2.2 左开右闭区间

那么如果此时我们需要一个左闭右开区间应该怎么做?

我们可以使用until关键字代替。

val range = 0 until 10

3、when表达式

格式:

匹配值 -> { 执行逻辑 }

val school = "0学";
val level = when(school){"幼儿园" -> "幼儿""小学" -> "青年"else -> {println("未知");}
}
println(level);

image-20230904212829685

4、string模板

添加在**${}**中的任何表达式都会作为字符串求值的一部分。

val orgin = "orgin"
val end = "end"
println("$orgin and $end")val flag = false
println("Answer is ${if(flag) "我可以" else "对不起"}")

image-20230904214041524

5、for-in与for-until、for-downTo

5.1 for-in

基本格式:

for(变量 in 区间)

使用in进行循环相当于一个左闭右闭区间

image-20230907150911752

我们发现他相当于i++这样的方式递增,那么我们应该如何实现i+=2

我们可以使用step关键字实现指定递增,这样就相当于i+=2

val i = 0;
for(i in 0..10 step 2){print("$i ")
}

5.2 for-until

使用until相当于一个左闭右开区间。

image-20230907150814467

5.3 for-downTo

我们使用until关键字只能创建升序的一个区间,此时我们需要个降序的区间的话就需要一个新的关键字——downTo,用法如下:

image-20230907152436600

6、基本修饰符

image-20230907202940905


相关文章:

Kotlin变量与控制条件的基本用法

一、变量与控制条件 1、var与val var:可修改变量 val:只读变量,只读变量并非绝对只读。 编译时常量只能在函数之外定义,因为函数内常量是在运行时赋值,编译时常量要在变量赋值前存在。并且值是无法修改的。 const…...

第18章_瑞萨MCU零基础入门系列教程之GPT

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…...

openssl websockets

1. HTTPS通信的C实现 - 知乎 GitHub - Bwar/Nebula: Nebula is a powerful framwork for building highly concurrent, distributed, and resilient message-driven applications for C....

Vue 组件的单元测试

1、基本的示例 单元测试是软件开发非常基础的一部分。单元测试会封闭执行最小化单元的代码,使得添加新功能和追踪问题更容易。Vue 的单文件组件使得为组件撰写隔离的单元测试这件事更加直接。它会让你更有信心地开发新特性而不破坏现有的实现,并帮助其他…...

海底两万里的思维导图,轻松了解整体的内容

《海底两万里》是一部经典的科幻小说。小说以其丰富的想象力和对海底世界的描绘而闻名于世。今天我们就用思维导图的分支介绍这个作品到底讲了什么。(思维导图示例:迅捷画板) 《海底两万里》是“凡尔纳三部曲”中的第二部(其它两部…...

ZABBIX 6.4官方安装文档

一、官网地址 Zabbix:企业级开源监控解决方案 二、下载 1.选择您Zabbix服务器的平台 2. Install and configure Zabbix for your platform a. Install Zabbix repository # rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8…...

本地MQTT服务器搭建(EMQX)

一、下载EMQX 下载地址:EMQ (emqx.com) 打开官网后,选择右边的免费试用按钮 然后单击EMQX Enterprise标签,然后选择下面的EMQX开源版,选择开源版的系统平台为Windows,单击免费下载。 在新页面下单击立即下载 二、安装…...

Docker启动pandora并指定ACCESS TOKEN

把chatGPT_ACCESS_TOKEN改成你的ACCESS_TOKEN 《chatGPT ACCESS TOKEN获取地址(需要魔法)》 docker run -d -m 512m -p 88:88 --privilegedtrue -e PANDORA_SERVER0.0.0.0:88 -e PANDORA_ACCESS_TOKENchatGPT_ACCESS_TOKEN --name pandora pengzhile/pa…...

Python + Jmeter 实现自动化性能压测

Step01: Python脚本开发 文件路径:D://wl//testproject//Fone-grpc//project1//test_client.py Python 脚本作用: 通过 grpc 调用底层 c 的接口,做数据库的数据插入与查询操作,然后将返回的结果进行拼接与输出。 2.代码里面将…...

【Linux进行时】进程状态

进程状态: ❓假设我们在上课,在B站上上课,请问我们的B站是不是一直运行呢?💡不是的! ❓假设我们同时打开了B站和PDF阅读器时,是怎么运行的呢? 💡每一个进程在CPU跑一会&a…...

HarmonyOS开发环境搭建

一 鸿蒙简介: 1.1 HarmonyOS是华为自研的一款分布式操作系统,兼容Android,但又区别Android,不仅仅定位于手机系统。更侧重于万物物联和智能终端,目前已更新到4.0版本。 1.2 HarmonyOS软件编程语言是ArkTS&#xff0c…...

友思特新闻|友思特与IDS深化战略合作伙伴关系

尊敬的客户和合作伙伴, 我们非常高兴地宣布,友思特已经与国际领先的机器视觉解决方案提供商 IDS 深化了我们的合作关系。 作为 IDS 的长期合作伙伴,友思特一直致力于为国内客户提供最先进的机器视觉技术和解决方案。 自从友思特与 IDS 合作…...

ARM Linux DIY(十三)Qt5 移植

前言 板子带有屏幕,那当然要设计一下 GUI,对 Qt5 比较熟悉,那就移植它吧。 移植 Qt5 buildroot 使能 Qt5,这里我们只开启核心功能 gui module --> widgets module 编译 $ make ODIY_V3S/ qt5base编译报错:找不…...

二,手机硬件参数介绍和校验算法

系列文章目录 第一章 安卓aosp源码编译环境搭建 第二章 手机硬件参数介绍和校验算法 第三章 修改安卓aosp代码更改硬件参数 第四章 编译定制rom并刷机实现硬改(一) 第五章 编译定制rom并刷机实现硬改(二) 第六章 不root不magisk不xposed lsposed frida原生修改定位 第七章 安卓…...

ubunutu20/18/22 编译android 5相关的问题汇总-千里马framework开源代码平板编译过程

hi,粉丝朋友们: 闲鱼50块钱淘到了一个开源平板,注意这个平板是有源码的,可以进行相关的编译修改。哈哈哈,马哥这边就体验了一下50块钱平板是否可以拿来做framework呢? 哈哈,说好就开干了&#x…...

tauri vue vite

准备 rust 根据 https://www.rust-lang.org/tools/install,安装 rust 执行 cargo --version 检查安装是否完成nodejs 安装 nodejstauri cargo install create-tauri-app --lockedcargo create-tauri-app 选择: ✔ Project name tauri-app ✔ Choose wh…...

名词解析与经验分享(前端)

目录 1.什么是sass产品 2.下面我想说说事件循环 3. cmd窗口的一些快捷键 4. 组件与插件的区别 5. vue项目嵌入app后调用app方法 6.点击编辑按钮直接回到顶部,输入框光标闪动聚焦 7.短轮询与长轮询 短轮询 长轮询 8.前端moment库 9.移动端-触底刷新实现核心…...

【前端】js下载url文件

不打开新窗口进行下载 function download(res) { var elemIF document.createElement("iframe"); elemIF.src res; elemIF.style.display "none"; document.body.appendChild(elemIF); } window.open(url, _blank); a标签 const ele …...

什么是 BSD 协议?

BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件&…...

【网络教程】揭秘Windows SSH服务端免密登录:告别繁琐,享受安全连接

文章目录 开启Windows下的SSH服务端图形界面安装手动下载安装Windows如何查看系统用户名Windows如何查看本机IP开启免密登录Window生成秘钥Linux下生成秘钥配置公钥视频讲解开启Windows下的SSH服务端 这篇文章演示的环境是Windows11Windows的SSH服务端默认情况下是没有安装的,…...

基于GitHub Actions的AI智能体exoclaw-github部署与实战指南

1. 项目概述:在GitHub里养一只会看代码的“螃蟹” 如果你在GitHub上管理一个开源项目,肯定遇到过这样的场景:新开的Issue描述不清,你得花时间追问细节;PR提交上来,你需要逐行审阅代码,思考哪里…...

AI智能体文化档案:用Next.js静态站点构建数字人类学观察站

1. 项目概述:一个观察AI智能体文化的数字档案馆最近在GitHub上闲逛,发现了一个让我眼前一亮的项目:The MoltStein Files。这可不是一个普通的代码仓库,而是一个专注于记录和存档AI智能体之间“社交”行为的数字档案馆。简单来说&a…...

基于Next.js 15与React 19构建现代化个人作品集:技术选型与工程实践

1. 项目概述:为什么选择 Next.js 15 构建现代个人作品集 作为一名在前后端领域摸爬滚打了十多年的开发者,我见过也亲手搭建过无数种个人作品集网站。从早期的纯静态 HTML/CSS,到 jQuery 时代,再到 React/Vue 等框架的兴起&#x…...

国产替代之SFT1452-H与VBFB1251K参数对比报告

N沟道功率MOSFET参数对比分析报告一、产品概述SFT1452-H:安森美(onsemi)N沟道功率MOSFET,耐压250V,低导通电阻,ESD门极保护,符合无卤素标准。封装:IPAK (TO-251)。适用于通用开关应用…...

量子噪声对机器学习模型的影响与缓解策略

1. 量子噪声与机器学习模型的复杂关系量子计算领域近年来最令人兴奋的进展之一,就是量子机器学习(QML)的兴起。作为一名长期跟踪量子计算发展的从业者,我亲眼见证了量子算法在机器学习任务中展现出的惊人潜力。然而,在…...

物理网卡down了?虚拟机还能通信吗?看teaming策略就够了

在ESXi虚拟化运维中,物理网卡(vmnic)故障、网线松动、网卡损坏导致网卡down(宕机),是常见的硬件故障场景。很多新手遇到这种情况,会下意识认为所有虚拟机都会断网,但实际并非如此。核…...

为AI智能体构建持久化记忆系统:基于RAG与向量检索的实践

1. 项目概述:为AI智能体构建持久化记忆系统在AI智能体(AI Agent)的开发浪潮中,一个核心的痛点日益凸显:如何让智能体拥有持续、可靠的记忆能力?无论是基于Claude API、GPTs还是其他大语言模型构建的对话机器…...

实测:2026 年国内直连 AI 一站式平台,聊天 / 绘画 / 论文 / 视频全搞定,不用翻墙不花冤枉钱

最近 AI 圈真的太卷了。ChatGPT 5.4、Gemini 3.1、Claude Code 轮番上新,多模态、长文本、代码 Auto Mode 一个比一个强。但普通用户想用明白,真的太折腾。先说说我踩过的三大坑,句句大实话网络糟心到崩溃官网打不开、地区不可用、加载转圈、…...

基于OpenClaw构建开源项目与Docker镜像自动化监控方案

1. 项目概述 作为一个常年泡在开源社区和容器生态里的开发者,我深知“追新”的痛。今天这个项目发布了v2.0,明天那个镜像更新了安全补丁,手动去GitHub和Docker Hub一个个检查,效率低不说,还容易遗漏关键更新。为了解决…...

NHSE:5分钟掌握动物森友会存档编辑,打造你的完美岛屿

NHSE:5分钟掌握动物森友会存档编辑,打造你的完美岛屿 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 你是否曾经为了收集某个稀有家具而花费数周时间?是否因为地…...