一、声明变量
声明使用val或者var
val a:String="hello"
var b:String="hello"
可以省略变量类型,自动推导。
var和val的区别
val的引用不可变,优先使用val
二、数据类型
1.数值型
Byte
=> 字节 => 8位
Short
=> 短整型 => 16位
Int
=> 整型 => 32位
Long
=> 长整型 => 64位
Float
=> 浮点型 => 32位
Double
2.Boolean
true
false
' || ' => 逻辑或(或者)
' && ' => 逻辑与(并且)
' ! ' => 逻辑非(取反)
3.字符型
char
4.字符串
String
语法糖
fun main(){
val a="hello"
val b="world"
print("$a+${a+b}")
}
结果 hello+helloworld
5.数组
Array
6.Unit
7.可空
Int?
8.Any
最顶层类
三、判断
一般
val a=5
if (a== 2) {
println("OK1")
}else if (a==3){
println("OK2")
}
else{
rintln("OK3")
}
当做表达式接收结果
var a=3
var b=2
var c= if(a>b) "ok1" else "ok2" //c="ok1"
可以在最后返回值
fun main() {
var a = 3
var b = 2
var c = if (a > b) {
println("a>b")
"ok1"
} else {
println("a<b")
"ok2"
}
println(c)
}
区间
val a=3
var b=8
if(a in 2..b)
print("在区间内")
不在区间内
if(a !in 2..b)
when
fun main() {
print(f("d"))
}
fun f(str:String):String{
when (str) {
"a" -> return "ok1"
"b","c" -> return "ok2"
else -> return "else"
}
}
四、控制
1.
var arr= arrayOf(1,2,3,4,5)
for (i in arr){
println("$i + ${arr[i-1]}")
}
2.
var arr= arrayOf(1,2,3,4,5)
for (i in arr.indices){
println("$i + ${arr[i]}")
}
3.
var arr= arrayOf(1,2,3,4,5)
for ((i,v)in arr.withIndex()){
println("$i + $v")
}
五、函数
可以不使用类,直接使用函数。像python dart
函数的返回类型,写在后面。
fun main() {
println(sum(3,5))
}
fun sum(x:Int,y:Int):Int{
return x+y;
}
//或者
fun sum(x:Int,y:Int) =x+y;
其他
1.包
包的路径和文件夹路径可以无关系
package com.abc