Kotlin有着非常非常智能化的声明变量方式。叫做类型推断
声明变量要使用关键字var和val。
var声明方式第一种(自动推断):
var nub=1231;//自动定义整数型 使用分号 var ch=“这是一个字符串” //自动定义字符串 不使用分号
同样,是Kotlin自己判断的数据类型。
当我们自动定义一个类型之后,这个类型就会固定下来这个类型。 正如我们下面的代码。 定义一个字符串之后在赋值一个数字就会报错
fun main(agrs : Array<String>) { var name="ARM830"//自动定义一个字符串 Kotlin自动判断 name=123 //此处会报错 println(name) //输出 }
正确的代码是
fun main(agrs : Array<String>) { var name="ARM830"//自动定义一个字符串 Kotlin自动判断 // name=123 //此处会报错 name="重新再次赋值" //再次赋值 println(name) //输出 }
变量没有使用关键字的情况下,可以再次赋值。
观察上面的代码,我并有使用分号作为一个语句的结束。 当然使用分号也是可以的。
var第二种声明方式(指定类型):
同样也是使用var关键字进行声明.
看下面的代码:
fun main(agrs : Array<String>) { var name:String="ARM830"//定义一个为String的变量 println(name) //输出 }
解释: var name:String="ARM830"
定义一个变量,变量名是name,类型是String。
也就是一个变量要指定一个数据类型的时候,就要如此写。
格式是:
var Typename :Type
var 变量名字 : 数据类型
一定要有冒号
Val声明方式
val是只读。
也就是说使用val进行定义类型。这个变量是只读,不可以修改的。
fun main(agrs : Array<String>) { var name:String ="ARM830"; //定义一个为String的变量 val year:Int =16; year=17; //此处会报错,因为val是只读,不可以再次赋值 println(name+"\t"+year) //输出 }
val声明方式和var一样是可以有两种,一种自动推断,一种指定类型。
******************************************************************************************************************************************************************************************************************
同样,Kotlin也是可以使用声明并赋值,声明再赋值的两种方式声明变量。
声明再赋值
fun main(agrs : Array<String>) { var name:String //定义一个为String的变量 name="ARM830"; var year:Int year =16; println(name+"\t"+year) //输出 }
不过值得一说,能够使用声明再赋值这样的方式,只有指定数据类型才可以使用。
直接使用var第一种声明方式,是不可以的。 切记!