目录
前言
这里只是简单的记录,只是方便自己而已。
正文
注释
注释是为了使代码易于阅读。
单行注释
单行注释通常是对程序中的某一行代码进行解释,用符号“//”表示
//初始化UI initUI();
多行注释
多行注释就是注释中的内容可以是多行,以符号“/ ”开头,以符号“/”结尾。
/* * 初始化UI * 主要View的初始化 */ initUI();
文档注释
文档注释是以“/ *”开头,并在注释内容末尾以“/”结束,是对一段代码概括的解释说明。
/** * 初始化UI * 主要View的初始化 * //省略一万字 */ initUI();
好的习惯从注释开始!
变量
变量分为两种类型,分别是可变变量与不可变变量(只读变量)。
-
可变变量用关键字var来修饰,可以进行多次修改。
-
不可变变量用关键字val来修饰,只能进行一次初始化。
变量
// 不可变Int类型的mNumber val mNumber: Int = 0 //可变Float类型的mTemp var mTemp: Float
如果给不可变的mNumber赋值,就会提示
val mNumber: Int = 0 //提示错误Val cannot be reassigned mNumber = 100
赋值
给变量赋值分为两种方式,第1种是声明变量的同时给变量赋值,第2种是声明变量和变量赋值分开设置。
方式1
声明变量的同时给变量赋值。
val mNumber: Int = 0
方式2
声明变量和变量赋值可以分开设置
var mOther: Int mOther = 100
注意事项
-
在不赋值的情况下,只声明变量不约束具体类型时,程序会报错
//提示:This variable must either have a type annotation or be initialized var mOther
-
在同一方法体中,不能重复定义一个变量,否则编译器会提示命名冲突
//提示:Conflicting declarations: var other: Int, var other: Float var mOther:Int var mOther:Float
-
可变变量可以多次赋值,不可变变量不可以进行二次赋值
var mOther: Int //var变量可以赋值多次 mOther = 1 mOther = 2 val mTemp: Int //val变量值可以赋值一次 mTemp = 0 //提示:Val cannot be reassigned mTemp = 2
变量的数据类型
Kotlin语言中的数据类型分为数值型、字符型、布尔型、数组型、字符串型。
数值类型变量
数值类型有Byte(字节)、Short(短整型)、Int(整型)、Long(长整型)、Float(浮点型)、Double(双精度浮点型)。
Kotlin中数值类型变量所占存储空间的大小以及存储值的范围,如下:
var mByte: Byte = 1 var mShort: Short = 1 var mInt: Int = 1 var mLong: Long = 1L var mFloat: Float = 1F var mDouble: Double = 1.0
布尔类型变量
布尔类型变量用于存储布尔值,在Kotlin中用Boolean表示,该类型的变量只有两个值,分别是true和false。
var mHappy: Boolean = true var mNoHappy = false
字符类型变量
字符类型变量用于存储一个单一字符,在Kotlin中用Char表示。Kotlin中每个字符类型变量都会占用2个字节。
var mChar:Char = 'A' var mChar1 = 'C'
数组类型变量
数组是用Array表示,其中数值类型、布尔类型、字符类型都有数组的表现形式。
这些数组类型变量的初始化有两种方式,一种是以[数值类型ArrayOf()]方法进行初始化,另一种是以arrayOf()方法进行初始化。
数值类型ArrayOf()
比如
var mIntArray = intArrayOf(1, 2, 3) var mFloatArray = floatArrayOf(1f, 2f, 3f) var mCharArray = charArrayOf('1', '2', '3') var mBooleanArray = booleanArrayOf(true, false, true) var mByteArray = byteArrayOf(1, 2, 3)
在Kotlin中不能使用stringArrayOf()方法创建字符串类型数组,因为String不属于基本数值类型。
arrayOf()
var mIntArray = arrayOf(1, 2, 3) var mFloatArray = arrayOf(1f, 2f, 3f) var mCharArray = arrayOf('1', '2', '3') var mBooleanArray = arrayOf(true, false, true) var mByteArray = arrayOf(1, 2, 3) //String var stringArray: Array<String> = arrayOf("1", "2", "3")
字符串类型变量
字符串类型变量用于存储多个字符,使用“”包括起来。
var mString: String = "百度一下" var mString1 = "谷歌一下"
运算符
运算符可分为算术运算符、赋值运算符、比较运算符和逻辑运算符。
算术运算符
在数学运算中最常见的就是加减乘除,被称作四则运算。
注意事项:
-
除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数,如果除法运算中有小数参与,得到的结果会是一个小数。
var mInt = 3/2 var mFloat = 3.0/2 var mFloat2 = 3/2.0
输出的结果
1 1.5 1.5
-
在进行取模(%)运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关
var mInt = -3 % 2 var mInt1 = 3 % -2 var mInt2 = 3 % -2.0 var mInt3 = 3.0 % -2
输出结果
-1 1 1.0 1.0
-
在进行自增“++”和自减“--”的运算时,如果运算符“++”或“--”放在操作数的前面则是先进行自增或自减运算,再进行其他运算。反之,如果运算符放在操作数的后面则是先进行其他运算再进行自增或自减运算。
var mA = 1 var mB = 2 var mC = mA + mB++ var mD = mA++
-
mA加1是因为mD运算后自增
-
mB加1是因为mC运算后自增
-
mC是mA+mB,=优先级比++更高
-
mD同上mC,=优先级更高
mA : 2 mB : 3 mC : 3 mD : 1
赋值运算符
赋值运算符的作用就是将数值、变量或表达式的值赋给某一个变量。
在赋值过程中,运算顺序从右往左,将右边表达式的结果赋值给左边的变量。
除了“=”之外,其余的都是特殊的赋值运算符。以“+=”为例,a+=5就相当于a=a+5,首先会进行加法运算a+5,再将运算结果赋值给变量a。
比较运算符
比较运算符用于对两个数值、变量或者表达式进行比较,其结果是一个布尔值,即true或false。
逻辑运算符
逻辑运算符是对布尔型的数据进行操作,其结果仍是一个布尔类型数据。
-
运算符&&表示与操作,当且仅当运算符两边的表达式都为true时,其结果才为true,否则结果为false。当运算符左边的表达式为false时,运算符右边的表达式不会进行运算,结果为false,因此&&被称作短路与。
-
运算符||表示或操作,当运算符两边的操作数任何一边的值为true时,其结果都为true,当两边的值都为false时,其结果才为false。同与操作类似,||表示短路或,当运算符||的左边为true时,右边的表达式不会进行运算,结果为true。
参考文章
-
《Kotlin从基础到实战》
-