kotlin入门-基础类型及定义变量

一,前言

每一项伟大的开始都有一个目的,嗯,我学习kotlin就是想做一个合金弹头,所以必需看懂app的主程序代码:


class MainActivity : AppCompatActivity() {
    private lateinit var appBarConfiguration: AppBarConfiguration    //这篇主要讲这句

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val toolbar: Toolbar = findViewById(R.id.toolbar)
        setSupportActionBar(toolbar)

        val fab: FloatingActionButton = findViewById(R.id.fab)
        fab.setOnClickListener { view ->
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                .setAction("Action", null).show()
        }
        val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
        val navView: NavigationView = findViewById(R.id.nav_view)
        val navController = findNavController(R.id.nav_host_fragment)
        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
        appBarConfiguration = AppBarConfiguration(
            setOf(
                R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow,
                R.id.nav_tools, R.id.nav_share, R.id.nav_send
            ), drawerLayout
        )
        setupActionBarWithNavController(navController, appBarConfiguration)
        navView.setupWithNavController(navController)
    }

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        // Inflate the menu; this adds items to the action bar if it is present.
        menuInflater.inflate(R.menu.main, menu)
        return true
    }

    override fun onSupportNavigateUp(): Boolean {
        val navController = findNavController(R.id.nav_host_fragment)
        return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
    }
}

二,入门

唉唉唉,先别关,交个朋友,先目标分解,看懂一句

// private appBarConfiguration: AppBarConfiguration这局话在类里面报错
//加上lateinit 不报错,什么用,在我看看可以装B 
private lateinit   var appBarConfiguration: AppBarConfiguration`
先看下菜鸡教程怎么定义常量与变量


>可变变量定义:var 关键字
>var <标识符> : <类型> = <初始化值>
不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)
val <标识符> : <类型> = <初始化值>
常量与变量都可以没有初始化值,但是在引用前必须初始化
编译器支持自动类型判断,即声明时可以不指定类型,由编译器判断。
val a: Int = 1
val b = 1       // 系统自动推断变量类型为Int
val c: Int      // 如果不在声明时初始化则必须提供变量类型
c = 1           // 明确赋值
var x = 5        // 系统自动推断变量类型为Int
x += 1           // 变量可修改

对比下这句

var <标识符> : <类型> = <初始化值>
var appBarConfiguration: AppBarConfiguration

说到这里我们可以先了解kotlin里面的类型了

1,Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。
2,布尔用 Boolean 类型表示,它有两个值:true 和 false
3,数组用类 Array 实现
4,String 是不可变的,不可变,不可变,是一个独立的数据类型。
比较一下,AppBarConfiguration都不在,只剩下函数和类,自己写个小程序测试下
在这里插入图片描述
可以看出,确实是类(把Hero变成函数会报错,这点上python是可以指向的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值