Để học những bước đầu về lập trình cơ bản, ta cần hiểu rõ được thế nào là biến trong Java.
Trong bài viết trước Smartjob.vn đã giới thiệu với bạn đọc về Lớp trong Java. Hôm nay, chúng tôi xin giới thiệu đến các bạn các loại Biến trong lập trình cơ bản về Java.
Biến là vùng nhớ dùng để lưu trữ các giá trị của chương trình. Mỗi biến gắn liền với một kiểu dữ liệu và một định danh duy nhất gọi là tên biến. Trong lập trình cơ bản về Java, tất cả các biến phải được khai báo trước khi sử dụng. Cấu trúc cơ bản của việc khai báo các biến như sau:
type identifier [ = value][, identifier [= value] …] ;
Trong đó:
Type (tag vào bài) là một trong những kiểu dữ liệu của Java.
Identifer (tag vào bài) là tên của biến.
Để khai báo nhiều hơn một biến của cùng một kiểu dữ liệu, sử dụng dấu phẩy (,) để phân tách chúng.
Trong lập trình cơ bản về Java, chúng ta có 3 loại biến:
- Biến địa phương (Local variables)
- Biến thể hiện (Instance variables)
- Biến của lớp/biến tĩnh (Class/Static variables)
- Biến địa phương (Local variables)
Trong lập trình cơ bản về Java, biến địa phương được khai báo bên trong các method (phương thức), constructor(phương thức khởi tạo), hoặc block (khối lệnh).
Các biến được tạo ra khi phương thức, constructor hoặc block được gọi và biến này sẽ bị hủy ngay khi thực hiện xong phương thức, constructor hoặc khối kết thúc.
Các giới hạn truy xuất (access modifier) không được dùng cho các biến loại này
Các biến local chỉ nhìn thấy trong phương thức, constructor, hoặc khối được khai báo.
Các biến local được thực thi nội bộ.
Không có giá trị mặc định nào cho các biến local, vì thế các biến local nên được khai báo và một giá trị khởi tạo nên được gán trước khi sử dụng.
Ví dụ:
Ở đây, tuoi là biến local. Nó được định nghĩa bên trong phương thức tuoiCon() và phạm vi của nó được giới hạn chỉ trong phương thức này.
public class Test{
public void tuoiCon(){
int tuoi = 0;
tuoi = tuoi + 10;
System.out.println(“Tuoi con la : ” + tuoi);
}public static void main(String args[]){
Test test = new Test();
test.tuoiCon();
}
}
2. Biến thể hiện (Instance variables)
Các biến instance được khai báo trong một lớp, nhưng ở bên ngoài một phương thức, constructor hoặc bất kỳ khối nào.
Khi một không gian nhớ được cấp phát cho một đối tượng trong một heap (một dạng cấu trúc hàng đợi có thứ tự ưu tiên), một slot cho mỗi giá trị biến instance được tạo ra.
Các biến instance được tạo khi một đối tượng được tạo bởi sử dụng từ khóa new và bị hủy khi đối tượng bị hủy.
Các biến instance giữ các giá trị mà phải được tham chiếu bởi nhiều hơn một phương thức, constructor hoặc khối, hoặc các phần chủ yếu của trạng thái đối tượng mà phải có mặt xuyên suốt lớp đó.
Các biến instance có thể được khai báo trong mức độ lớp trước hoặc sau khi sử dụng.
Chỉ định truy cập (access modifier) có thể được cung cấp cho các biến instance.
Các biến instance là nhìn thấy với tất cả các phương thức, constructor, và khối trong lớp. Tuy nhiên, tính nhìn thấy cho các lớp phụ có thể được cung cấp cho những biến này với sự sử dụng của chỉ định truy cập.
Các biến instance có các giá trị mặc định. Với các số, giá trị mặc định là 0, với Boolean là false và với đối tượng là null. Các giá trị có thể được gán trong khi khai báo hoặc trong constructor.
Các biến instance có thể được truy cập một cách trực tiếp bởi việc gọi tên biến bên trong lớp đó. Tuy nhiên, với các phương thức static và các lớp khác nhau (khi biến instance được cung cấp khả năng truy cập), nó nên được gọi bởi sử dụng tên đầy đủ hợp lệ như sau: ObjectReference.VariableName.
Ví dụ:
import java.io.*;
public class Student{
// Bien instance nay la nhin thay cho bat ky lop con nao.
public String ten;// Bien hocphi la chi nhin thay cho lop Student.
private double hocphi;// Bien ten duoc gan trong constructor.
public Student (String tenSV){
ten = tenSV;
}// Bien hocphi duoc gan mot gia tri.
public void setHocPhi(double hp){
hocphi = hp;
}// Phuong thuc nay in chi tiet ve Student.
public void inThongTin(){
System.out.println(“Ho va ten: ” + ten );
System.out.println(“Hoc phi: ” + hocphi);
}public static void main(String args[]){
Student sv1 = new Student(“Nguyen Van Doan”);
sv1.setHocPhi(4000);
sv1.inThongTin();
}
}
3. Biến của lớp/biến tĩnh (Class/Static variables)
Các biến class cũng được biết như là các biến static được khai báo với từ khóa static trong một lớp, nhưng ở bên ngoài một phương thức, constructor hoặc một khối.
Sẽ chỉ có một bản sao của mỗi biến class cho mỗi lớp, bất chấp việc bao nhiêu đối tượng được tạo từ nó.
Các biến static hiếm khi được sử dụng, ngoài việc được khai báo như là các hằng số. Các hằng số là các biến, mà được khai báo như là các biến static, biến final, biến chung/riêng. Các biến hằng số không bao giờ thay đổi từ giá trị khởi tạo của chúng.
Các biến static được lưu giữ trong bộ nhớ static.
Các biến static được tạo khi chương trình bắt đầu và bị hủy khi chương trình kết thúc.
Tính nhìn thấy là tương tự như các biến instance. Tuy nhiên, hầu hết biến static được khai báo chung khi chúng phải là có sẵn cho việc sử dụng của lớp.
Giá trị mặc định là giống với các biến instance. Với các số, giá trị mặc định là 0; với Boolean là false, và với đối tượng là null. Các giá trị có thể được gán trong khi khai báo hoặc trong constructor. Ngoài ra, các giá trị có thể được gán trong các khối khởi tạo static đặc biệt.
Các biến static có thể được truy cập bởi việc gọi tên lớp: ClassName.VariableName.
Khi khai báo các biến class như public static final, thì các tên biến ở dạng chữ hoa. Nếu các biến static không là public và final, thì cú pháp đặt tên giống với các biến local và biến instance.
Ví dụ:
import java.io.*;
public class Student{
// Bien hocphi la mot bien private static
private static double hocphi;// FACULTY la mot constant
public static final String FACULTY = “KhoaIT “;public static void main(String args[]){
hocphi = 4000;
System.out.println(FACULTY+”hocphi trung binh:”+hocphi);
}
}
Kết quả:
KhoaIT hocphi trung binh:4000
Ghi chú: Nếu các biến được truy cập từ lớp bên ngoài, hằng số nên được truy cập như ở dạng: Student.FACULTY
Xem thông tin tuyển dụng Java tại: Tuyển dụng lập trình viên Java
học lập trình,
java,
lập trình,
lập trình java,
lập trình java cơ bản,
lập trình web,
lập trình web cơ bản,
lập trình web với java,