头像设计制作网站,网站建设新闻 常识,心理学重点学科建设网站,论坛网站模块函数、变量、字符串模板、类 函数变量字符串模板类 函数
函数组成为 fun 函数名(参数名: 参数类型, …): 返回值{}
fun max(a: Int, b: Int): Int {return if (a b) a else b
}上面称为代码块函数体#xff0c;当函数体由单个表达式构成时#xff0c;可简化为表达式函… 函数、变量、字符串模板、类 函数变量字符串模板类 函数
函数组成为 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: ArrayString) {val name if (args.size 0) args[0] else Kotlinprintln(Hello,$name)
}还可以用${}引用表达式
fun main(args: ArrayString) {if (args.size 0) {println(Hello,${args[1]})}
}fun main(args: ArrayString) {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}
}