25/12/2018, 21:41

Kotlin Cơ bản

Val và var Kiểu dữ liệu Null safety Toán tử so sánh Check kiểu và casting Cấu trúc điều khiển Visibility modifier Khởi tạo một lớp Biểu thức This Package 1 - Val và var Trong Java chúng ta khai báo biến như sau: String s ; s = "hello" ; final String u ...

  • Val và var
  • Kiểu dữ liệu
  • Null safety
  • Toán tử so sánh
  • Check kiểu và casting
  • Cấu trúc điều khiển
  • Visibility modifier
  • Khởi tạo một lớp
  • Biểu thức This
  • Package

1 - Val và var

Trong Java chúng ta khai báo biến như sau:

  String s;
  s = "hello";
  final String u = "hi"; //khai báo một constant

Với Kotlin, chúng ta có từ khóa var để khai báo biến và val để khai báo một constant, cú pháp sẽ là:

  var s: String
  s = "hello"
  val v: String = "hi" //khai báo một constant, bắt buộc phải khởi tạo khi khai báo
  var u = "hey" //Có thể không xác định kiểu cho biến mà để tự compiler xác định

Note:

  • Kotlin không yêu cầu dấu ; sau mỗi statement nữa
  • Cơ chế giúp Kotlin tự xác định kiểu của biến gọi là Type inference, ngoài tự suy ra kiểu biến, cơ chế này còn sử dụng trong single-expression function (sẽ nói sau), làm cho boilerplate code giảm đi rất nhiều

2 - Kiểu dữ liệu

Mặc định trong Kotlin đều là đối tượng, không còn dữ liệu kiểu nguyên thủy (primitive type) nữa. Điều này giúp cho mọi biến đều sử dụng được generic, gọi được các function, property hoặc có thể gán được bằng null

Tiếp theo, chúng ta sẽ nói về các kiểu dữ liệu trong Kotlin: :

numbers
characters
booleans
strings
arrays
  • Numbers :

Size Độ dài bit của từng kiểu được thể hiện trong bảng sau:

Note: character không được coi là kiểu số trong Kotlin

Constant literal Tương tự như trong Java, Kotlin cũng có các constant literal để xác định kiểu dữ liệu cho các số:

package com.corochann.helloandroidtvfromscrach;
 
import android.os.Bundle;
import android.support.v17.leanback.app.BrowseFragment;
import android.util.Log;
 
public class MainFragment extends BrowseFragment {
    private static final String TAG = MainFragment.class.getSimpleName();
 
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        Log.i(TAG, "onActivityCreated");
        super.onActivityCreated(savedInstanceState);
 
    }
}

(I) Build và chạy             </div>
            
            <div class=

0