Kotlin学习环境配置

最近接下来一段时间准备学习一下Kotlin,什么是Kotlin?

Kotlin是一门把java平台作为目标的新的编程语言,几乎可以用于如今java遍及的所有地方:服务器开发。Android 应用开发...

将内容整理为博客的形式一是为了督促自己有一个总结整理的习惯,加强自己学习,而是大家可以一起交流进步,不BB。还是那句话不要只看不做,撸代码要在代码里面找答案,在coding中学习。所有的博客 我在日常工作如果发现有可以增添改正的地方会及时更新。。。

1.关于Kotlin环境的配置。

首先需要在AndroidStudio 该下载的插件下载好。File-->Setting-->Plugins-->Install JetBrains plugin...

这个插件没下载的下载,下载的该更新的更新。。。

其次Tools | Kotlin | Configure Kotlin in Project ,选择All modules contains kotlin files, 配置成功以后build.gradle(app)中会多出

关于Kotlin-android-extentsions 相当于快速的findViewById,在下面的代码中将会有体现,使用这个插件还需

import kotlinx.android.synthetic.main.activity_jni_test.*。Step1基础学习的代码直如下(在代码中学习):
import android.app.Activity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_jni_test.*
//find Action key Map Ctrl+Shift+A
class KotlinTest1 : Activity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_jni_test)
        initView();
        vars(0,1,2,3,4);
    }

    fun initView(){
        layout_test.setText("LJY hello World")
        layout_temp.setText("LJY IS VEVRY NB")
    }

    //定义函数  public所定义的函数必须需要返回值
    fun sun(a : Int, b:Int) : Int{
        return a + b;
    }

    public fun sum1(a : Int, b:Int) : Int{
        return a + b;
    }

    //可变参数 关键字vararg
    fun vars (vararg v : Int){
        for (vt in v){
            print("vararg" + vt);
        }
    }

    //常量和变量都可以没有初始化值,但是在引用前必须初始化, 编译器支持自动类型判断,即声明时可以不指定类型 由编译器判断
    fun varAndVal() : Unit{
        val a : Int = 1;
        val  b = 1; //这里系统会自动推断为Int类型变量
        val c : Int; // 如果在不声明时初始化 必须声明变量类型
    }

    //kotlin 安全机制
    /*
    *在 Kotlin 中,其类型系统严格区分一个引用可以容纳 null (可空引用)还是不能容纳(非空引用)。也就是说,一个变量是否可空必须显示声明,
    * 对于可空变量,在访问其成员时必须做空处理,否则无法编译通过。
     */
    fun nullCheck() : Unit{
        var a : String  = "abc";
//        a = null;编译错误 当声明一个不可为Null的String 变量时,并赋予null 则编译无法通过

        var b : String?  = "abc"//String ? 表示该String 变量可以为null
        b = null

//        var length = b.length;//这里会提示你b变量可能为null 编译不通过
        //对于空处理的几种方式:
        var length  = if (b != null) b.length else -1;//在条件中检查
        val length1 : Int ? = b?.length;//安全的调用 如果b非空,就返回b.length,否则就返回null, Int? 表示可能为空

        val list : List<String?> = listOf("A", null);
        //只对非空值进行输出
        for (item in list){
            item?.let { print(item) }//输出A 并忽略null
        }
    }

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值