[Lesson21] Kotlin - 宣告变数

Kotlin 的基本资料型态与 Java 相同,包括:Byte、Short、Int、Long、Float、Double、Char、String、Boolean,但在 Kotlin 它们都是大写字母开头。

在宣告时,会用到「var」与「val」的关键字,前者是用在可以改变值的变数,後者则是常数。

// Kotlin 的资料型态放在变数名称後面,并用冒号隔开,最前面则定义变数或常数。
val id: String = "100"
var name: String = "Piyan"
var age: Int = 23
var isActive: Boolean = true

// 若宣告时就给予初始值,资料型态可以省略不写,Kotlin 会自动定义型态。
// 若要宣告 Long,需在数值後方加上 L 或 l 字眼。
// 若初始值给予的是浮点数,型态为 Double。
// 若要宣告 Float,需在数值後方加上 F 或 f。
val id = "100"
var name = "Piyan"
var age = 23
var isActive = true

activity_main:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="evan.chen.app.mvp_pattern.LoginActivity">

    <TextView
        android:id="@+id/tv1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
        
    <TextView
        android:id="@+id/tv2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
</LinearLayout>

MainActivity:

class MainActivity : AppCompatActivity() {
    // 将tv2提昇为类别的属性,也就是在 MainActivity 内的第一层中定义属性
    // 利用 Kotlin 的 lateinit 语法定义一个之後才会初始化的属性
    lateinit var tv2: TextView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // tv1 是在 onCreate 方法中宣告的区域变数,在 onCreate 外是无法被存取的
        val tv1: TextView = findViewById<TextView>(R.id.tv1)
        
        // 然後从 onCreate 方法中再取得元件
        tv2 = findViewById(R.id.tv2)
    }
}

谢谢大家愿意花时间阅读,小弟弟我在此鞠躬/images/emoticon/emoticon41.gif


<<:  DAY21 呼叫时刻表样板

>>:  Day 21 装设开源的 Libre-Office

pug 基础介绍(2) DAY100

Jade 汇入外部 JSON 资料内容 这里我们先自行新增2份 jaon档 **menu.json*...

IDEF 构图方法

IDEF (ICAM DEFinition method) 代表的是一整套的概念建模方法,总共有 I...

qpushbutton 不同的字不同大小和顔色

由於不同的字用不同的样式,所以需要用到html来设定: //add take buttons wit...

Day20 职训(机器学习与资料分析工程师培训班): 专题讨论

今日早上助教讲了一篇论文,主要是应用Yolo做图片辨识,下午则是各组别报告与该组专题相关的论文,及目...

服务组织控制(Service Organization Control :SOC)

-服务组织控制(SOC) 服务组织控制(Service Organization Control ...