Kotlin 变量和属性

kotlin 是一门面向对象的语言

 没有基本类型 不像java一样integer 和int

 

kotlin的数值对象

 

类型 长度
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8

 

 

 

变量 声明  使用val /var关键字  var可变变量 val 不可变变量

 

 

 

语法格式: val 变量名:类型=值

 

/**
 * @author  xuanyouwu
 * @email  [email protected]
 * @time 2016-03-23 17:06
 */
class Test {
    var i:Int=7;
    var d:Double=7.0;
    var f:Float=7.0f;
    var f2:Float=7.0F;
    var l:Long=123;
    var l2:Long=123L;
}
类型转换


Kotlin 变量和属性_第1张图片

 

 

 

 

变量的简化声明方式:不用指定类型 自动匹配

val na="my name is xuan";
 

不用指定类型 自动匹配

 

 

属性:

 

package com.xuan.kotlinapp

/**
 * @author xuanyouwu
 * *
 * @email [email protected]
 * *
 * @time 2016-02-18 11:33
 */
class User {
    var name:String="";
    var age:Int=0;
}

 

 

 

 

 

创建User对象与赋值:

 

 

     val user=User();
        user.age=25;
        user.name="xuan";

Kotlin 会默认创建set getter为变量  不可见 自动调用,我们也可以自定义get set:

 

kotlin 预留了一个在setter和getter中访问的变量 field关键字:

 

package com.xuan.kotlinapp

/**
 * @author xuanyouwu
 * *
 * @email [email protected]
 * *
 * @time 2016-02-18 11:33
 */
class User {
    var name: String = "";
        get() = field;
        set(value) {
            field = "$value";
        }
    var age: Int = 0;
}


布尔类型:只有true false

 

 

var sex:Boolean=false;
    var marry:Boolean=true;


数组:

 

 

var a=arrayOf(1,2,3);

 

字符和字符串:

 

var c: Char = 'l';
Log.d("-------->char:", "" + c);

var Str: String = "abcdefg";
for (c in Str) {
    Log.d("----->c:", "" + c);
}

 

 

 

kotlin 模板

由$表示一个变量名 或者变量值

$varName  表示变量值

${varName.fun} 表示变量的方法返回值:

 

 

        var name:String="xuan";
        var introduce:String="my name is $name,and my name length is ${name.length}";
        Log.d("------->我的介绍",introduce);


结果:

 

03-24 10:36:03.463 18770-18770/com.xuan.kotlinapp D/------->我的介绍: my name is xuan,and my name length is 4

 

kotlin确定一个函数参数是否不支持null?
格式 a:String? 添加一个问好
 

//? 代表支持为null
fun test4(name:String?):Unit{
    println("my name is ${name}");
}
test4(null); 能正常运行

如果是:

//? 代表支持为null
fun test4(name:String):Unit{
    println("my name is ${name}");
}

将会报错:

Error:(21, 11) Kotlin: Null can not be a value of a non-null type String

你可能感兴趣的:(android,开发)