Kotlin入门:变量和函数——02

目录

一、Kotlin 基本数据类型

​编辑

 二、变量

val 关键字: 

var 关键字:

 类型推断:

可空类型: 

三、函数 

基本函数语法: 

 单表达式函数:

默认参数值: 

命名参数:

一、Kotlin 基本数据类型

        Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于 Java 的是,字符不属于数值类型,是一个独立的数据类型。 

 二、变量

        在Kotlin中定义一个变量,只允许在变量前声明两种关键字:val var

val 关键字: 

  •  val(value的简写)用来声明一个不可变的变量,这种变量在初始赋值之后就再也不能重新赋 值,对应Java中的final变量。
val myConstant: Int = 10

var 关键字:

  •  var(variable的简写)用来声明一个可变的变量,这种变量在初始赋值之后仍然可以再被重新 赋值,对应Java中的非final变量
var myVariable: String = "Hello, World!"
myVariable = "Kotlin is awesome!"

 类型推断:

         Kotlin 具有类型推断功能,可以根据初始化值自动推导变量的类型。例如:

var name = "John" // 推断为 String 类型
val age = 25      // 推断为 Int 类型

可空类型: 

        Kotlin 还引入了可空类型的概念,允许变量接受 null 值。通过在类型后面加上 ? 来声明可空类型。例如:

var nullableValue: String? = null

三、函数 

基本函数语法: 

下面函数是求和变量a,b 

// 定义一个函数,接受两个整数参数并返回它们的和
fun addNumbers(a: Int, b: Int): Int {
    return a + b
}

// 调用函数并打印结果
val result = addNumbers(5, 3)
println("The result is $result")
  • fun:定义函数的关键字。
  • addNumbers:函数名,可以根据需要自定义,最好能够清晰地描述函数的作用。
  • (a: Int, b: Int):括号内声明函数的参数。在这个例子中,函数接受两个整数类型的参数,分别命名为 a 和 b
  • : Int: (:) 后面的部分表示函数的返回类型。在这个例子中,函数返回一个整数类型的值。
  • { return a + b }:大括号内是函数体,包含了函数的具体逻辑。在这个例子中,函数体简单地将参数 a 和 b 的值相加,并通过 return 关键字返回结果。

 单表达式函数:

        如果函数体只包含一个表达式,可以使用单表达式函数简化代码。例如,上面的 addNumbers 函数可以简化为:

fun addNumbers(a: Int, b: Int) = a + b

默认参数值: 

        Kotlin 允许在函数定义中设置参数的默认值。这样,在调用函数时可以省略具有默认值的参数。例如:

fun greet(name: String = "Guest") {
    println("Hello, $name!")
}

greet()          // 输出:Hello, Guest!
greet("John")    // 输出:Hello, John!

命名参数: 

        在调用函数时,可以使用命名参数来指定特定参数的值,并按任意顺序传递参数。例如:

fun printPersonInfo(name: String, age: Int, city: String) {
    println("Name: $name, Age: $age, City: $city")
}

printPersonInfo(age = 25, name = "John", city = "New York")

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

树结构--介绍--二叉树遍历的递归实现

目录 树 树的学术名词 树的种类 二叉树的遍历 算法实现 遍历命名 二叉树的中序遍历 二叉树的后序遍历 二叉树的后序遍历迭代算法 二叉树的前序遍历 二叉树的前序遍历迭代算法 树 树是一种非线性的数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系…

中电金信:ChatGPT一夜爆火,知识图谱何以应战?

随着ChatGPT的爆火出圈 人工智能再次迎来发展小高潮 那么作为此前搜索领域的主流技术 知识图谱前路又将如何呢? 事实上,ChatGPT也并非“万能”,作为黑箱模型,ChatGPT很难验证生成的知识是否准确。并且ChatGPT是通过概率模型执行推…

Django入门

Day1 django环境安装 创建虚拟环境 # step1 创建虚拟环境 python3 -m venv datawhale_django # step2 mac进入虚拟环境 source ./datawhale_django/bin/activate # step3 退出虚拟环境 deactivate安装包 pip3 install django ​pip3 install djangorestframework​​ pip3 …

Jenkins自动化打包脚本

一、背景 jenkins可以设置定时任务打包,也已手动点按钮打包,还可以通过执行http请求打包,今天我们就通过shell脚本,通过curl命令进行jenkins打包。 二、步骤 2.1 在jenkins上构建项目 设置触发器 2.2 通过shell脚本触发远程构…

电商财务新时代:轻松自动对账,财务效率倍增

电商领域频繁的多平台财务对账常常令企业头痛不已。然而,随着轻易云数据集成平台的崭新解决方案,财务对账的痛点迎刃而解。本文通过引人入胜的实例,深入探讨电商财务对账的现状,突出轻易云数据集成平台在自动对账中的强大作用&…

感受RFID服装门店系统的魅力

嘿,亲爱的时尚追随者们!今天小编要给你们带来一股时尚新风潮,让你们感受一下什么叫做“RFID服装门店系统”,这个超酷的东西! 别着急,先别翻白眼,小编来解释一下RFID是什么玩意儿。它是射频识别…

RFID技术助力半导体制造行业自动化生产

由于芯片短缺问题和近2年海运拥堵和成本上升等因素,致使全球资本对于芯片制造工厂的投入增大,而中兴、华为的例子已经凸显出国产半导体供应链的重要性,除去地缘政治上的意义,发展半导体其实是中国经济的转型的必走之路。 半导体生…

Programming abstractions in C阅读笔记:p107-p110

《Programming Abstractions In C》学习第46天,p107-p110,3.1小节——“The concept of interface”,总结如下: 一、技术总结 1.client p108,调用library的program称为client。 2.interface p108,“To do …

【刷题笔记8.13】【动态规划相关】LeetCode题目:斐波那契数列、爬楼梯

【动态规划相关】LeetCode题目&#xff1a;斐波那契数列、爬楼梯 &#xff08;一&#xff09;爬楼梯 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 提示&#xff1a; 1 < n <…

第57步 深度学习图像识别:CNN可视化(Pytorch)

基于WIN10的64位系统演示 一、写在前面 由于不少模型使用的是Pytorch&#xff0c;因此这一期补上基于Pytorch实现CNN可视化的教程和代码&#xff0c;以SqueezeNet模型为例。 二、CNN可视化实战 继续使用胸片的数据集&#xff1a;肺结核病人和健康人的胸片的识别。其中&…

CSS变形与动画(一):transform变形 与 transition过渡动画 详解(用法 + 代码 + 例子 + 效果)

文章目录 变形与动画transform 变形translate 位移scale 缩放rotate 旋转skew 倾斜多种变形设置变形中心点 transition 过渡动画多种属性变化 变形与动画 transform 变形 包括&#xff1a;位移、旋转、缩放、倾斜。 下面的方法都是transform里的&#xff0c;记得加上。 展示效…

pconsc4 安装

Pconsc4 安装遇到的问题 Pconsc4-github 按照红框给的一行命令&#xff0c;一行毁所有。 1 gcc and g not found # 1 Start by updating the packages list:sudo apt update# 2 Install the build-essential package by typing:sudo apt install build-essential## The comm…

在 Windows 中恢复数据的 5 种方法

发生数据丢失的原因有多种。无论是因为文件被意外删除、文件系统或操作系统损坏&#xff0c;还是由于软件或硬件级别的存储故障&#xff0c;数据都会在您最意想不到的时候丢失。今天我们重点介绍五种数据恢复方法&#xff0c;以应对意外情况的发生。 1.从另一台机器启动硬盘 如…

MyBatis-Plus学习笔记(尚硅谷)

一、MyBatis-Plus 1.简介 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 我们的愿景是成为 MyBatis 最好的搭档&…

深入了解 Rancher Desktop 设置

Rancher Desktop 设置的全面概述 Rancher Desktop 拥有方便、强大的功能&#xff0c;是最佳的开发者工具之一&#xff0c;也是在本地构建和部署 Kubernetes 的最快捷方式。 本文将介绍 Rancher Desktop 的功能和特性&#xff0c;以及 Rancher Desktop 作为容器管理平台和本地…

Modbus TCP转Profibus DP网关modbus tcp报文解析

捷米JM-DPM-TCP网关。在Profibus总线侧作为主站&#xff0c;在以太网侧作为ModbusTcp服务器功能&#xff0c; 下面是介绍捷米JM-DPM-TCP主站网关组态工具的配置方法 2, Profibus主站组态工具安装 执行资料光盘中的安装文件setup64.exe或setup.exe安装组态工具。安装过程中一直…

Pyinstaller 打包 django 项目如何将命令行参数加入?

起因 Pyinstaller 打包 django 项目&#xff0c;打包成 manage.exe 后用命令行 cmd manage.exe runserver 0.0.0.0:8001 --noreload 来运行感觉很不方便。 希望能够直接把命令行参数也打包进去&#xff0c;直接运行 exe 。我走了些弯路&#xff0c;但最终实现了。 弯路 我看…

每天一道leetcode:300. 最长递增子序列(动态规划中等)

今日份题目&#xff1a; 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] …

多种求组合数算法

目录 求组合数Ⅰ&#xff08;递推&#xff09;核心理论理论推导典型例题代码实现 求组合数Ⅱ&#xff08;预处理&#xff09;核心理论典型例题代码实现 求组合数Ⅲ&#xff08;Lucas定理&#xff09;核心理论Lucas定理的证明1.证明Lucas定理的第一形式2.证明Lucas定理的第二形式…