06/04/2021, 14:47

Biến và hằng số trong Java - Học Java core - từ cơ bản đến nâng cao

Trong bài trước, tôi đã giới thiệu cho các bạn khái niệm về kiểu dữ liệu trong Java và 2 kiểu dữ liệu thường gặp đó là Primitive data (Kiểu dữ liệu cơ sở) và Wrapper class. Trong bài này, chúng ta sẽ đi qua hai khái niệm quan trọng khác đó là khái niệm biến (Variable) và ...

Trong bài trước, tôi đã giới thiệu cho các bạn khái niệm về kiểu dữ liệu trong Java và 2 kiểu dữ liệu thường gặp đó là Primitive data (Kiểu dữ liệu cơ sở) và Wrapper class. Trong bài này, chúng ta sẽ đi qua hai khái niệm quan trọng khác đó là khái niệm biến (Variable) và hằng số (Constant) trong Java.

1. Biến (Variable) trong Java.

Biến trong Java là gì? Biến có vai trò như thế nào trong chương trình của chúng ta? Và có hay không mối liên hệ giữa kiểu dữ liệu và biến? Một biến của Java là tên gọi của một vùng nhớ bên trong máy tính dùng để lưu trữ giá trị mà chương trình của chúng ta có thể tương tác được. Giữa biến và kiểu dữ liệu có một mối liên hệ mật thiết với nhau, một kiểu dữ liệu phải có một biến để lưu trữ nó.

Mỗi biến trong Java bao gồm 3 phần sau: tên biếnkiểu dữ liệu và giá trị của biến đó.

  • Tên biến là sự biểu diễn tượng trưng của vùng nhớ trong đó thông tin được lưu trữ.
  • Kiểu dữ liệu dùng để xác định kích thước và loại giá trị có thể được lưu trữ.
  • Giá trị là dữ liệu thực tế được lưu trữ trên biến và có thể thay đổi được.

Trong Java có 3 loại biến thường gặp đó là: Local variable (biến cục bộ), Instance variable (thuộc tính) và Static variable (biến tĩnh). Chúng ta sẽ tìm hiểu kỹ về thuộc tính và biến tĩnh khi bước sang chương về lập trình hướng đối tượng.

Cách khai báo biến trong Java: có 2 cách. Tuy nhiên chúng ta nên sử dụng cách 2.

  • Cách 1: [kiểu_dữ_liệu] [tên_biến]; ví dụ double d1;
  • Cách 2: [kiểu_dữ_liệu] [tên_biến] = [giá_trị]; ví dụ double d1 = 100.04;

Một số cách khai báo biến và khởi tạo giá trị cho biến hợp lệ:

int age; // Khai báo biến kiểu int.
String name = "Zaidap.com";   // Khai báo biến kiểu String và có khởi tạo giá trị

Về quy tắc đặt tên biến, các bạn xem lại bài cú pháp và quy tắc Java cơ bản mà tôi đã trình bày trước đó. Sau đây chúng ta sẽ đi vào chi tiết về từng loại biến trong Java.

2. Local variable (biến cục bộ).

Là biến được khai báo bên trong thân hàm, trong hàm tạo hoặc bên trong các khối lệnh và chỉ có phạm vi trong nội bộ thân hàm (chúng ta sẽ tìm hiểu về khái niệm hàm, hàm tạo và khối lệnh trong các bài sau).

Các biến cục bộ được khởi tạo khi các hàm, hàm tạo hoặc các khối lệnh được tạo ra và các biến này sẽ bị hủy bỏ một khi các hàm, hàm tạo hoặc các khối lệnh chứa nó kết thúc.

Các phạm vi truy cập không được sử dụng khi khai báo biến cục bộ.

Các biến cục bộ không có giá trị mặc định, vì vậy các bạn cần phải khai báo và khởi tạo giá trị ban đầu cho biến trước khi sử dụng.

Ví dụ.
package variable;

public class LocalVariable {
	public static void main(String[] args) {
		int localVariable1 = 19;		// đây là biến cục bộ
		float localVariable2 = 5.4f;	// đây là biến cục bộ
		System.out.println("Giá trị của biến localVariable1 = " + localVariable1);
		System.out.println("Giá trị của biến localVariable2 = " + localVariable2);
	}
}

Kết quả chương trình:

ketqua localvariable PNG

Đoạn code sau sẽ khai báo biến cục bộ không khởi tạo giá trị và sẽ gặp lỗi khi biên dịch chương trình:

package variable;

public class LocalVariableError {
	public void getInput() {
		String name;
		System.out.println("Your name is: " + name);
	}
	public static void main(String[] args) {
		LocalVariableError localVariableError = new LocalVariableError();
		localVariableError.getInput();
	}

}

Khi biên dịch thì màn hình console sẽ thông báo lỗi sau:

error localvariable PNG

3. Hằng số (Constant) trong Java.

Trong phần này chúng ta sẽ tìm hiểu về hằng số trong Java và cách khai báo hằng số để sử dụng trong khi viết chương trình.

Vậy theo các bạn hằng số là gì? Chúng ta có thể hình dung như sau: Trong đời sống hằng ngày, có những giá trị không bao giờ thay đổi chẳng hạn như: Một ngày có 24 giờ, một năm có 12 tháng và trong toán học giá trị không thay đổi này được thể hiện thông quá số PI, số Fibonacci,... Trong Java cũng vậy, hằng số là những giá trị không bao giờ thay đổi trong suốt quá trình sử dụng, là một giá trị bất biến trong chương trình.

Về quy tắc đặt tên hằng tôi đã đề cập trong bài Cú pháp và quy tắc Java cơ bản. Trong phần này, tôi sẽ không nhắc lại vấn đề này mà tôi sẽ trình bày cách khai báo hằng số và đưa ra các ví dụ có sử dụng hằng.

Để khai báo hằng số ta sử dụng từ khóa static final đặt trước tên hằng số: [Phạm vi truy cập] static final [kiểu dữ liệu] [tên hằng số] = [giá trị];

Dưới đây là chương trình minh họa cách sử dụng hằng số.

Ví dụ
package constant;

public class Constant {
	// Khai báo hằng số
	public static final int HOUR_OF_DAY = 24;
	public static final String CHUOI = "Hello Zaidap.com!";
	
	public static void main(String[] args) {
		System.out.println("Một ngày có " + HOUR_OF_DAY + " giờ");
		System.out.println(CHUOI);
	}

}

Kết quả sau khi thực thi chương trình:

ketqua constant PNG

Trong lớp ConstantError dưới đây, tôi cố tình thay đổi giá trị của hằng số và lúc này trình biên dịch sẽ báo lỗi vì hằng số thì không được phép thay đổi giá trị trong chương trình.

Ví dụ
package constant;

public class ConstantError {
	// Khai báo hằng số
	public static final String CHUOI = "Hello Zaidap.com!";
	
	public static void main(String[] args) {
		System.out.println(CHUOI);
		
		// Thay đổi giá trị biến CHUOI, lúc này trình biên dịch sẽ báo lỗi
		CHUOI = "Welcome to Zaidap.com!";
		System.out.println(CHUOI);
	}

}

Kết quả sau khi thực thi chương trình:

error constant1 PNG

4. Lời kết.

Qua bài này, tôi đã giới thiệu đến với các bạn các khái niệm về biến và hằng số trong Java. Sang bài sau, tôi sẽ hướng dẫn các bạn tìm hiểu về một số các toán tử thường dùng trong Java. Sau khi kết thúc bài tìm hiểu về toán tử, tôi sẽ đưa ra một số bài tập kết hợp hai bài này để các bạn luyện tập. Các bạn cố gắng theo dõi nhé!

Bùi Văn Nam

27 chủ đề

7090 bài viết

Cùng chủ đề
0