Biến trong Java là gì? Khai báo biến trong Java?

Biến trong Java là gì? Khai báo biến trong Java?

(Xem thêm: Tự học lập trình Java Core – Java SE)

1. Biến là gì (variable).

  • Biến là một liên kết tới một vị trí trên bộ nhớ (memory) để chứa dữ liệu.

Biến trong Java là gì? Khai báo biến trong Java? Biến trong Java là gì? Khai báo biến trong Java?

  • Giá trị trên bộ nhớ mà biến liên kết tới chính là giá trị của biến.
  • Kiểu dữ liệu của biến cũng chính là kiểu dữ liệu lưu trên bộ nhớ đó.

2. Khai báo biến trong Java.

Cú pháp khai báo biến:

kieu_du_lieu ten_bien = gia_tri;

Trong đó:

  • kieu_du_lieu là kiểu dữ liệu mà biến có thể lưu trữ (kiểu số, kiểu văn bản…) tương ứng với int, long, String… trong Java
  • ten_bien tên của biến (xem lại cách đặt tên biến, tên định danh trong Java)
  • gia_tri giá trị của biến, giá trị của biến phải nằm trong phạm vi của kiểu dữ liệu. ví dụ kieu_du_lieuint thì gia_tri phải là kiểu số nguyên và nằm trong phạm vi từ -2,147,483,648 đến 2,147,483,647

3. Các kiểu dữ liệu trong Java

Có hai kiểu dữ liệu trong Java:

  • Kiểu dữ liệu nguyên thủy / Biến nguyên thủy (primitives variable): là một trong tám kiểu dữ liệu: char, boolean, byte, short, int, long, double và float. Một khi biến nguyên thủy được khai báo, kiểu dữ liệu của nó sẽ không thể thay đổi
  • Kiểu dữ liệu tham chiếu: Biến tham chiếu / biến đối tượng (reference variable): là biến được sử dụng để tham chiếu (hoặc truy cập) tới một đối tượng. Một biến tham chiếu được khai báo cần phải chỉ rõ kiểu của nó (class) và kiểu của nó sẽ không thể thay đổi. Một biến tham chiếu có thể sử dụng để tham chiếu tới nhiều đối tượng thuộc cùng kiểu mà nó khai báo. (Phần này mình sẽ nói rõ hơn trong phần hướng đối tượng)

4. Các loại biến trong Java

4.1 Biến local trong Java

  • Biến local là biến được khai báo trong một khối (block code), trong một method hoặc trong hàm khởi tạo. (hàm khởi tạo bản chất cũng là một method)
  • Biến local được tạo khi method hoặc khối code được gọi tới và bị hủy khi method hoặc khối code đó kết thúc
  • Biến local chỉ có thể được truy cập trung khối code hoặc method mà nó được khai báo
  • Biến local không có giá trị mặc định, do đó trước khi sử dụng biến local ta phải gán giá trị cho nó

Ví dụ:

public class Person {
  
  static String group;
  
  String name;
  
  {
    int age = 10;
    System.out.println(age);
  }

  public void show() {
    String website = "stackjava.com";
    System.out.println(website);
  }
  
  public static void main(String[] args) {
    int age = 15; // local variable
    System.out.println(age);
    
    Person person = new Person(); // local variable
  }
}

Các biến local là: biến age trong block code, biến website trong method show(), biến age và biến person trong hàm main

4.2 Biến global / biến instance (biến toàn cục) trong java

  • Biến global hay còn gọi là biến instance / field của class là biến không được khai báo với từ khóa static đồng thời cũng không được khai báo trong method, block code hay hàm khởi tạo.
  • Biến instance được tạo khi một đối tượng của class được khởi tạo mà mất đi khi object đó bị hủy.
  • Biến instance được gán giá trị mặc định, với kiểu dữ liệu là số thì giá trị mặc định là 0, kiểu boolean giá trị mặc định là false, kiểu tham chiếu giá trị mặc định là null. Giá trị biến instance cũng có thể được khởi tạo khi khai báo hoặc bên trong hàm khởi tạo.
  • Biến instance có thể được truy cập bởi các method trong cùng class (trừ static method) và truy cập từ class bên ngoài tùy theo theo access modifier theo cú pháp ten_doi_tuong.ten_bien

Ví dụ:

public class Person {
  
  static String group; // static variable
  
  String name; // instance variable
  
  public void hello() {
    System.out.println(name);
  }
  
  public static void main(String[] args) {
    Person person = new Person();
    person.hello();
  }
}

Biến name là biến instance, giá trị mặc định của nó là null. Biến nameđược tạo mỗi khi ta tạo một thể hiện (một object) của class Person.

4.3 Biến static

  • Biến static hay còn gọi là biến class là các biến được khai báo giống như các biến instance, điều khác biệt là chúng đi kèm với từ khóa static
  • Khác với biến instance, biến static được dùng chung cho tất cả các đối tượng được tạo từ class mà nó được khai báo.
  • Biến static được tạo khi chương trình bắt đầu chạy vì tự động bị hủy khi chương trình tắt.
  • biến static được truy cập giống như biến instance nhưng bạn có thể truy cập thông qua class thay vì thông qua object với cú pháp ten_class.ten_bien

Ví dụ:

public class Person {
  
  static String group; // static variable
  
  String name; // instance variable
  
  public static void main(String[] args) {
    Person person = new Person();
    Person.group = "ASIA";
    System.out.println(Person.group);
  }
}

Biến group là biến static, ta có thể truy cập nó thông qua tên class: Person.group

 

Okay,Done!

References:

https://docs.oracle.com/…/datatypes.html

stackjava.com