Loading...

KIỂU DỮ LIỆU VÀ BIẾN

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

Tiếp theo là gì?

Bạn đã sử dụng Bổ từ truy cập (Access modifiers) (public & private) trong bài học này. Bài tiếp theo sẽ giải thích cho bạn chi tiết hơn về Bổ từ (Access Modifiers và Non-Access Modifiers).

trunghn

Ý kiến của bạn

Mã bảo vệ
Làm mới

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Bài xem nhiều nhất

Tự học lập trình C - Bài 1: Một số khái niệm cơ bản

Khái niệm tên rất quan trọng trong quá trình lập trình, ...

Tự học lập trình JAVA – Bài 1: Bước đầu với Java

Một chương trình java có thể được định nghĩa như là một ...

Tự học lập trình C - Bài 10: Mảng một chiều

Mảng 1 chiều là tập hợp các phần tử có cùng kiểu dữ ...

MySQL – Bài 8: Khóa chính (primary key) và khóa ngoại (foreign key) của table

Với ràng buộc này thì, việc người sử dụng vô tình hay cố ...

Hướng dẫn in ấn trong Word 2007/2010 – Step by Step

[Tự học] - Tiêu đề đầu trang (Header)/tiêu đề cuối ...

Tự học lập trình C - Bài 2: Cấu trúc chương trình C

Một chương trình bao gồm một hoặc nhiều hàm, mỗi hàm ...

Tự học lập trình Assembly - Bài 1: Bước đầu với lập trình Assembly trên vi xử lý Intel 8086/8088

Như đã biết, lệnh ngôn ngữ máy là một dãy các con số 0, ...

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Về đầu trang Hỏi - Đáp