已解决
Kotlin基础——函数、变量、字符串模板、类
来自网友在路上 146846提问 提问时间:2023-10-26 07:30:55阅读次数: 46
最佳答案 问答题库468位专家为你答疑解惑
函数、变量、字符串模板、类
- 函数
- 变量
- 字符串模板
- 类
函数
函数组成为 fun 函数名(参数名: 参数类型, …): 返回值{}
fun max(a: Int, b: Int): Int {return if (a > b) a else b
}
上面称为代码块函数体,当函数体由单个表达式构成时,可简化为表达式函数体(自动会推导出返回类型)
fun max(a: Int, b: Int) = if (a > b) a else b
变量
Kotlin和Java一样是静态语言,所有表达式类型在编译期已经确定
变量由 var/val+变量名[: 数据类型][?][ = 值] 组成,如
var a = 1var b: Int
b = 3var s: String? = nullval language = arrayListOf("java")
language.add("Kotlin")
- 无需显示声明每个变量的类型,自动类型推导
- 若变量未初始化则需要显示指定类型
- ?标记变量可以为空,若无则不可为空
- val为不可变变量,初始化后不能再次赋值,对应Java的final,但其指向的对象可以改变
字符串模板
可在字符串中通过$引用变量
fun main(args: Array<String>) {val name = if (args.size > 0) args[0] else "Kotlin"println("Hello,$name")
}
还可以用${}引用表达式
fun main(args: Array<String>) {if (args.size > 0) {println("Hello,${args[1]}")}
}fun main(args: Array<String>) {println("Hello,${if (args.size > 0) args[0] else "Kotlin"} ")
}
类
只有数据没有其他代码的对象通常叫做值对象,如JavaBean
public class Person {private String name;private final int age;public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}
}
使用过程如下
Person person = new Person("java", 8);person.setName("kotlin");
System.out.println(person.getName());
System.out.println(person.getAge());
将上述Java复制到代码.kt文件,会触发自动转换(.kt不要求类名和文件名一致,可将多个类放到同一文件,且文件名随意)
转换后的代码如下,name为var变量(默认带有getter和setter),而age为val变量(只有getter)
class Person(var name: String,val age: Int
)
使用方法如下
val person = Person("java", 8);person.name = "kotlin"
println(person.name)
println(person.age)
如果一个属性可以根据其他属性计算,可使用自定义getter
class Rectangle(val height: Int, val width: Int) {val isSquare: Booleanget() {return height == width}
}
查看全文
99%的人还看了
相似问题
- MeterSphere | 接口测试请求体中,int类型的入参实现动态化变量
- 【Vue】Node.js的安装与环境变量的配置
- C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达
- ODBC配置数据源及相关问题(“找不到工程和库”“实时错误91对象变量或with块变量未设置”等)
- OpenLayers实战,WebGL图层根据Feature要素的变量动态渲染多种颜色的三角形,适用于大量三角形渲染不同颜色
- 全网最全jmeter接口测试/接口自动化测试看这篇文章就够了:跨线程组传递jmeter变量及cookie的处理
- Go——二、变量和数据类型
- 华为云cce中环境变量的使用
- Kotlin学习——hello kotlin 函数function 变量 类 + 泛型 + 继承
- ⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
猜你感兴趣
版权申明
本文"Kotlin基础——函数、变量、字符串模板、类":http://eshow365.cn/6-24901-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!