BÀI 5 KIỂU DỮ LIỆU & BIẾN - LẬP TRÌNH JAVA

1. Các kiểu dữ liệu trong Java
Ta có thể chia các kiểu dữ liệu cơ bản trong Java thành 2 nhóm chính:
Kiểu dữ liệu nguyên thủy:
Cú pháp:
  • Khai báo biến: <Kiểu dữ liệu> tên_biến;
  • Khai báo biến và khởi tạo: <Kiểu dữ liệu> tên_biến = giá trị;
Kiểu dữ liệu tham chiếu/đối tượng:
Cú pháp:
  • Khai báo biến:                      <Kiểu dữ liệu> tên_biến;
  • Khai báo biến và khởi tạo: <Kiểu dữ liệu> tên_biến = new hàm_dựng();
a. Kiểu dữ liệu nguyên thủy:
  • Kiểu byte: Ví dụ: byte a;byte a = 100;
  • Kiểu short: Ví dụ: short a;short a = 100;
  • Kiểu int: Ví dụ: int a;int a = 100;
  • Kiểu long: Ví dụ: long a; long a = 100L;
  • Kiểu float: Ví dụ: float a;float a = 100.0f;
  • Kiểu double: Ví dụ:double a;double = 100;
  • Kiểu boolean: Ví dụ:byte a;byte a = true;
  • Kiểu char: Ví dụ: byte a; byte a = ‘A’;
b. Kiểu dữ liệu tham chiếu/đối tượng:
Ví dụ:
Animal animal;
Animal animal = new Animal();
2. Các loại biến trong Java
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)
a. Biến địa phương:
  • Biến địa phương được khai báo trong phương thức, hàm dựng, hoặc là khối lệnh.
  • Biến địa phương được tạo khi các phương thức, hàm dựng, hoặc là khối lênh được gọi và biến sẽ bị hủy khi thoát khỏi phương thức, hàm dựng, hoặc là khối lệnh.
  • Không thể sử dụng các Bổ từ truy cập (Access Modifiers) cho các biến địa phương.
  • Biến địa phương chỉ có tầm vực hoạt động (tồn tại) trong phương thức, hàm dựng hoặc các khối lệnh.
  • Biến địa phương được lưu trữ ngầm ở tầng stack.
  • Không có giá trị khởi tạo mặc định cho các biến địa phương nên các biến địa phương phải được gán giá trị trước khi dùng.
Ví dụ: Ở ví dụ này, age là biến địa phương. Biến này được khai báo bên trong phương thức pupAge() và tầm vực của nó chỉ ở trong phương thức mà thôi.
Kết quả là:
Puppy age is: 7
Ví dụ: Ví dụ sau đây cho thấy nếu ta không khởi tạo cho biến địa phương thì trình biên dịch sẽ báo lỗi.
Khi biên dịch, lỗi sau sẽ xuất hiện:
Test.java:4:variable number might not have been initialized
age = age + 7;
         ^
1 error
b. Biến thể hiện:
  • Biến thể hiện được cài khai báo bên trong lớp nhưng bên ngoài bất kỳ phương thức, hàm dựng hay khối lệnh nào.
  • Một đối tượng được lưu trữ trên heap.
  • Biến thể hiện được khởi tạo khi một đối tượng được khởi tạo với từ khóa “new” và bị hủy khi một đối tượng bị hủy.
  • Một biến thể hiện lưu trữ giá trị mà được tham chiếu bởi nhiều phương thức, hàm dựng hay khối lệnh.
  • Biến thể hiện được khai báo bên trong lớp trước khi hoặc sau khi được dùng.
  • Bổ từ truy cập (Access modifiers) có thể được dùng khi khai báo biến thể hiện.
  • Biến thể hiện khả dụng đối với tất cả các phương thức, hàm dựng hoặc là khối lệnh trong lớp.
  • Biến thể hiện có giá trị mặc định. Nếu là kiểu số thì giá trị mặc định là 0, kiểu Boolean là false, và đối tượng là null. Giá trị có thể khởi tạo khi khai báo hoặc ta thường khởi tạo trong hàm dựng.
  • Biến thể hiện có thể được truy cập trực tiếp bằng cách gọi chúng bên trong lớp.
Ví dụ:
Kết quả là:
name  : Ransika
salary :1000.0
c. Biến của lớp/biến tĩnh:
  • Biến của lớp còn được gọi là biến tĩnh, chúng được khai báo với từ khóa static trong lớp, nhưng bên ngoài các phương thức, hàm dựng hoặc các khối lệnh.
  • Chỉ có một bản sao (copy) của mỗi biến tĩnh trong một lớp, bất kể bao nhiêu đối tượng được tạo ra từ nó.
  • Biến tĩnh ít được sử dụng, nó thường được sử dụng để khai báo hằng số (constant). Hằng số là các biến được khai báo là: public / private final static… Biến hằng số không bao giờ thay đổi giá trị của nó khác với giá trị khởi tạo ban đầu.
  • Biến tĩnh được lưu trữ trong bộ nhớ tĩnh.
  • Biến tĩnh được tạo ra khi chương trình bắt đầu và bị phá hủy khi chương trình kết thúc.
  • Độ khả dụng tương tự như các biến thể hiện. Tuy nhiên, các biến tĩnh thường được khai báo là public để ta có thể dùng chúng ở những lớp khác.
  • Giá trị mặc định là tương tự như các biến thể hiện. Đối với các số giá trị mặc định là 0, đối với boolean thì là false, và với đối tượng là null. Giá trị có thể được chỉ định khi khai báo hoặc trong các hàm dựng. Ngoài ra các giá trị có thể được chỉ định trong khối khởi tạo tĩnh (bạn sẽ gặp sau này).
  • Biến tĩnh có thể được truy cập bằng cách gọi với tên lớp. Cú pháp:  Tên_lớp.Tên_biến_tĩnh.
  • Khi khai báo biến tĩnh là public static final, thì bạn nên đặt tên biến (hằng số) là CHỮ_HOA.
Ví dụ:
Kết quả là:
Development average salary:1000
Chú ý: Nếu biến được truy cập từ ngoài lớp thì ta có thể truy cập là Employee.DEPARTMENT

0 Comment:

Đăng nhận xét

Thank you for your comments!