Kotlin基础之基本语法

Kotlin 简介

Kotlin 是一种由 JetBrains 开发的静态类型编程语言,设计用于与 Java 虚拟机 (JVM) 兼容,同时也可用于 Android、JavaScript(通过 Kotlin/JS)和原生(通过 Kotlin/Native)开发。Kotlin 旨在提供比 Java 更简洁、更安全的代码,同时保持与 Java 的完全互操作性。

变量与函数的使用

变量

在 Kotlin 中,变量可以用 var 或 val 关键字来声明。var 用于可变变量,而 val 用于不可变变量(只读变量)。

 

kotlin复制代码

var name: String = "Alice" // 可变变量
val age: Int = 30 // 不可变变量
// 可以省略类型声明,Kotlin 会自动进行类型推断
var name2 = "Bob"
val age2 = 25
函数

Kotlin 中的函数定义使用 fun 关键字。

fun greet(name: String): String {
return "Hello, $name!"
}
// 使用函数
val greeting = greet("Kotlin")
println(greeting) // 输出:Hello, Kotlin!
// 对于只有一个表达式的函数,可以使用表达式体语法
fun double(x: Int) = x * 2

逻辑控制

If 语句

Kotlin 中的 if 语句与 Java 类似,但更简洁。

val number = 10
if (number > 0) {
println("Number is positive")
} else if (number < 0) {
println("Number is negative")
} else {
println("Number is zero")
}
When 语句

Kotlin 中的 when 语句类似于 Java 的 switch 语句,但功能更强大。

val x = 2
when (x) {
1 -> println("One")
2 -> println("Two")
else -> { // 注意这里的代码块
println("Neither 1 nor 2")
}
}
// when 语句也可以用于非数值类型
val fruit = "apple"
when (fruit) {
"banana" -> println("I'm a banana.")
"apple" -> println("I'm an apple.")
else -> println("I don't know what I am.")
}
循环语句

Kotlin 支持多种循环结构,包括 forwhile 和 do-while

For 循环

for (i in 1..5) { // 闭区间,包含5
println(i)
}
for (i in 1 until 5) { // 左闭右开区间,不包含5
println(i)
}
val list = listOf("a", "b", "c")
for (item in list) {
println(item)
}

While 循环

var i = 0
while (i < 5) {
println(i++)
}

Do-While 循环

var j = 0
do {
println(j++)
} while (j < 5)

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

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

相关文章

【详细介绍WebKit的结构】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

springboot + es7.12.3 elasticsearchRestTemplate使用记录

private BoolQueryBuilder getQueryBuilder(QueryCollectWaterDataPageRequestVO requestVO) {BoolQueryBuilder queryBuilder QueryBuilders.boolQuery();if (!CollectionUtils.isEmpty(requestVO.getCompanyIds())) {//termsQuery 精确查找corpId字段为精确的多个值&#xf…

T-Sql 中断正在连接的数据库的客户端并移除数据库

USE master;-- 查找连接到数据库 OGS_PlugPower 的会话ID&#xff08;SPID&#xff09; DECLARE SessionID INT;SELECT SessionID session_id FROM sys.dm_exec_sessions WHERE database_id DB_ID(OGS_PlugPower);-- 使用会话ID&#xff08;SPID&#xff09;中断连接 IF Sess…

设计模式 15 Decorator Pattern 装饰器模式

设计模式 15 Decorator Pattern 装饰器模式 1.定义 Decorator Pattern 装饰器模式是一种结构型设计模式&#xff0c;它允许在运行时给对象添加新的行为或职责&#xff0c;而无需修改对象的源代码。这种模式通过创建一个包装对象&#xff0c;也称为装饰器&#xff0c;来包裹原…

C 语言设计模式(行为型)

文章目录 策略模式场景示例 迭代器模式场景示例 访问者模式场景示例 观察者模式场景示例 命令模式场景示例 模板方法模式场景示例 事件驱动模式场景示例 责任链模式场景示例 状态模式场景示例 策略模式 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式…

银行为什么要对网点开展神秘顾客检测项目?

银行业面临的形势复杂多变&#xff0c;包括技术创新、客户行为变化、竞争加剧、监管环境变化、全球化与本地化平衡、经济环境影响以及可持续发展和社会责任等多方面的挑战和机遇。银行需要通过种策略&#xff0c;积极应对这些变化&#xff0c;实现可持续发展。其中提升客户服务…

顺序表实现通讯录项目

目录 一.实现功能&#xff1a; 二.文件结构 三.代码实现 1.初始化 2.通讯录的销毁 3.通讯录添加数据 4.通讯录删除数据 5.通讯录的修改 6.展现通讯录数据 7.通讯录查找 四.代码 SeqList.h Contact.h Contact.c test(通讯录).c 一.实现功能&#xff1a; ⾄少能够存…

Samtec技术漫谈 | 电动自行车中的传感器和信号传输技术

【摘要/前言】 电动自行车&#xff0c;大家熟悉吗&#xff1f; 今天的话题似乎是可以唤起大家心底骑车的美好回忆&#xff0c;我们也曾骑车探索过大自然和社区&#xff0c;自行车也是我们曾经不可或缺的便捷交通工具。 怀旧思潮的影响&#xff0c;加持科技的进步&#xff0c…

php 使用phpoffice导出导出excel

荆轲刺秦王 在PHP中&#xff0c;可以使用 PhpSpreadsheet 库来创建和导出Excel文件。PhpSpreadsheet 是一个纯PHP 编写的组件库&#xff0c;它使用现代 PHP 写法&#xff0c;代码质量和性能比 PHPExcel 高不少&#xff0c;完全可以替代PHPExcel&#xff08;PHPExcel已不再维护…

【HDFS】FSImage加载过程之loadINode过程

普通的loadINode方法(即不是root inode): 根据inode的类型:文件、目录、链接,做不同的加载处理。 // 根据传入的PB INode的type做不同处理。// 我们下面关注FILE和DIRECTORY两种类型:private INode loadINode(INodeSection.INode n) {switch (n.getType()) {<

【云原生】Kubernetes中的List-Watch机制详解与容器生命周期

目录 引言 一、List-Watch机制概述 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;工作机制 1.List操作 2.Watch操作 &#xff08;三&#xff09;数据流向 1.按模块划分 2.按整体总结 二、Pod生命周期 &#xff08;一&#xff09;生命周期 1.创建…

CMake-1 cmake简介及安装使用

文章目录 1. CMake 简单介绍2. CMake 安装使用 1. CMake 简单介绍 为什么需要CMake 写过C语言的都知道&#xff0c;C语言项目使用Makefile进行管理&#xff0c;而随着项目复杂度的增加 Makefile编写的难度也随之增加&#xff0c;而且在不同平台Makefile 语法规则是不一样的&am…

5款好用的AI写作软件,一键生成高质量文章

在当今信息快速发展的时代&#xff0c;AI写作软件逐渐成为创作者们的得力助手。它们能够凭借先进的技术和算法&#xff0c;一键生成高质量的文章&#xff0c;为创作者们节省大量的创作时间和精力。以下是5款备受好评的AI写作软件&#xff0c;下面在本文中分享给大家&#xff0c…

20240522金融读报:出口信用保险提效苏易融碳中和机票贷款差异化投放替代数据征信培育壮大数字经济

1、印发通知从响应速度、承保力度、承包评审要素、产业链范围、定制化、线上化、便利化等方面去充分发挥出口信用保险作用。&#xff08;这也可以作为这个贷款业务担保时的一个考虑项吧&#xff09; 2、苏易融&#xff1a;汇集江苏辖内特定客群信贷产品&#xff0c;可一站式查…

BitConverter类型,Byte数组与其他基本类型数据之间的转换

BitConvert对于byte数组转换为其他的基本变量很方便&#xff0c;是我们开发必须要学会的类型转换&#xff0c;因为我在使用中使用的比较多&#xff0c;创作不易&#xff0c;大家点赞关注收藏。 GetBytes(XX)将基本变量转换成字节数组&#xff0c;C#在数据存储在计算机中的方式…

kettle学习之表的输入输出

需求 把表A里的数据传送到表B中&#xff0c;在此之前&#xff0c;清空表B内的数据 表输入 执行SQL脚本 表输出

一文带你学会如何部署个人博客到云服务器,并进行域名备案与解析!

哈喽&#xff0c;大家好呀&#xff01;这里是码农后端。之前我给大家介绍了如何快速注册一个自己的域名&#xff0c;并创建一台自己的阿里云ECS云服务器。本篇将介绍如何将个人博客部署到云服务器&#xff0c;并进行域名备案与解析。 1、域名备案 注册了域名并购买了云服务器之…

探索自动化办公的新境界:批量操作与智能管理

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、自动化办公的必要性与价值 二、基础操作与自动化脚本 三、Python在自动化办公中的应用…

Meme币总市值突破630亿美元 以太坊ETF获批意味着代币化资产“完全安全”

近日&#xff0c;数字货币市场再次掀起轩然大波。一方面&#xff0c;Meme币总市值突破了630亿美元&#xff0c;令人瞠目结舌&#xff1b;另一方面&#xff0c;以太坊ETF的获批也引发了市场的广泛关注&#xff0c;被视为代币化资产的“完全安全”标志。 Meme币总市值飙升 Meme币…

深圳比创达电子EMC|EMC电磁兼容性行业:挑战与机遇并存

随着电子技术的迅猛发展&#xff0c;电磁兼容性&#xff08;EMC&#xff09;已成为各行各业不可忽视的关键问题。EMC是指设备或系统在其电磁环境中能正常工作且不对该环境中任何事物构成不能承受的电磁骚扰的能力。 一、EMC电磁兼容性行业的现状 EMC电磁兼容性行业作为电子技…