http://vietjack.com/ java/index.jsp Copyright © vietjack.com Các kiểu biến Java Chương này, tìm hiểu kiểu biến Java Biến tên khu nhớ Có ba kiểu biến: biến cục (còn gọi biến local), biến instance biến static Bạn phải khai báo tất biến trước chúng sử dụng Form khai báo biến sau: kieu_du_lieu bien [ = giatri][, bien [= giatri] ] ; Ở đây, kieu_du_lieu kiểu liệu Java bien tên biến Để khai báo nhiều biến với kiểu cụ thể, bạn sử dụng danh sách biến phân biệt dấu phảy Dưới ví dụ khai báo khởi tạo biến hợp lệ Java: int a, b, c; // Khai bao ba bien kieu int la a, b, c int a = 5, b = 7; // Vi du ve khoi tao bien byte A = 11; // Khoi tao mot bien kieu byte ten la A double pi = 3.14159; // Khai bao va gan mot gia tri cua PI char nam = 'b'; // Bien nam duoc khoi tao voi gia tri 'a' Biến local Java • Các biến khai báo phương thức, constructor, khối • Các biến tạo phương thức, constructor khối nhập biến bị hủy phương thức, constructor khối kết thúc • Chỉ định truy cập (access modifier) không sử dụng cho biến local • Các biến local nhìn thấy phương thức, constructor, khối khai báo • Các biến local thực thi nội • Không có giá trị mặc định cho biến local, biến local nên khai báo giá trị khởi tạo nên gán trước sử dụng Ví dụ: Ở đây, tuoi biến local Nó định nghĩa bên phương thức tuoiCon() phạm vi giới hạn phương thức http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/ java/index.jsp Copyright © vietjack.com public class Test{ public void tuoiCon(){ int tuoi = 0; tuoi + 10; System.out.println("Tuoi la : " + tuoi); } public static void main(String args[]){ Test test = new Test(); test.tuoiCon(); } } tuoi = Ví dụ: Ví dụ sau sử dụng tuoi mà không khởi tạo nó, tạo lỗi thời gian biên dịch public class Test{ public void tuoiCon(){ int tuoi; + 10; System.out.println("Tuoi la : " + tuoi); } static void main(String args[]){ Test test = new Test(); test.tuoiCon(); } } tuoi = tuoi public Nó cho lỗi sau biên dịch: Test.java:4:variable number might not have been initialized tuoi = tuoi + 10; ^ error Biến instance (hay thuộc tính) Java • Các biến instance khai báo lớp, bên phương thức, constructor khối • Khi không gian nhớ cấp phát cho đối tượng heap (một dạng cấu trúc hàng đợi có thứ tự ưu tiên), slot cho giá trị biến instance tạo • Các biến instance tạo đối tượng tạo sử dụng từ khóa new bị hủy đối tượng bị hủy • Các biến instance giữ giá trị mà phải tham chiếu nhiều phương thức, constructor khối, phần chủ yếu trạng thái đối tượng mà phải có mặt xuyên suốt lớp • Các biến instance khai báo mức độ lớp trước sau sử dụng • Chỉ định truy cập (access modifier) cung cấp cho biến instance • Các biến instance nhìn thấy với tất phương thức, constructor, khối lớp Tuy nhiên, tính nhìn thấy cho lớp phụ cung cấp cho biến với sử dụng định truy cập http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/ java/index.jsp Copyright © vietjack.com • Các biến instance có giá trị mặc định Với số, giá trị mặc định 0, với Boolean false với đối tượng null Các giá trị gán khai báo constructor • Các biến instance truy cập cách trực tiếp việc gọi tên biến bên lớp Tuy nhiên, với phương thức static lớp khác (khi biến instance cung cấp khả truy cập), nên gọi sử dụng tên đầy đủ hợp lệ sau: ObjectReference.VariableName Ví dụ: import java.io.*; public class Student{ // Bien instance la nhin thay cho bat ky lop nao public String ten; // Bien hocphi la chi nhin thay cho lop Student private double hocphi; // Bien ten duoc gan constructor public Student (String tenSV){ ten = tenSV; } // Bien hocphi duoc gan mot gia tri public void setHocPhi(double hp){ hocphi = hp; } // Phuong thuc 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(); } } Nó cho kết sau: Ho va ten: Nguyen Van Doan Hoc phi: 4000.0 Các biến Class/static Java: • Các biến class biết biến static khai báo với từ khóa static lớp, bên phương thức, constructor khối • Sẽ có biến class cho lớp, bất chấp việc đối tượng tạo từ • Các biến static sử dụng, việc khai báo số Các số biến, mà khai báo biến static, biến final, biến chung/riêng Các biến số không thay đổi từ giá trị khởi tạo chúng • Các biến static lưu giữ nhớ static http://vietjack.com/ Trang chia sẻ các bài học online miễn phí http://vietjack.com/ java/index.jsp Copyright © vietjack.com • Các biến static tạo chương trình bắt đầu bị hủy chương trình kết thúc • Tính nhìn thấy tương tự biến instance Tuy nhiên, hầu hết biến static khai báo chung chúng phải có sẵn cho việc sử dụng lớp • Giá trị mặc định giống với biến instance Với số, giá trị mặc định 0; với Boolean false, với đối tượng null Các giá trị gán khai báo constructor Ngoài ra, giá trị gán khối khởi tạo static đặc biệt • Các biến static truy cập việc gọi tên lớp: ClassName.VariableName • Khi khai báo biến class public static final, tên biến dạng chữ hoa Nếu biến static không public final, cú pháp đặt tên giống với biến local 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); } } Nó cho kết sau: KhoaIT hocphi trung binh:4000 Ghi chú: Nếu biến truy cập từ lớp bên ngoài, số nên truy cập dạng: Student.FACULTY http://vietjack.com/ Trang chia sẻ các bài học online miễn phí