Kotlin 变量和属性

kotlin 是一门面向对象的语言

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

 

kotlin的数值对象

 

类型长度
Double64
Float32
Long64
Int32
Short16
Byte8

 

 

 

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

 

 

 

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

 

/**
 * @author  xuanyouwu
 * @email  xuanyouwu@163.com
 * @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;
}
</pre><pre name="code" class="java">类型转换


 

 

 

 

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

val na="my name is xuan";
 

不用指定类型 自动匹配

 

 

属性:

 

package com.xuan.kotlinapp

/**
 * @author xuanyouwu
 * *
 * @email xuanyouwu@163.com
 * *
 * @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 xuanyouwu@163.com
 * *
 * @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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亚洲小炫风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值