Thứ Tư, 20 tháng 6, 2018

Java - Các loại biến

Một biến cung cấp cho chúng ta lưu trữ có tên là các chương trình của chúng ta có thể thao tác. Mỗi biến trong Java có một kiểu cụ thể, xác định kích thước và bố cục của bộ nhớ của biến; phạm vi của các giá trị có thể được lưu trữ trong bộ nhớ đó; và tập hợp các hoạt động có thể được áp dụng cho biến.

ảnh minh họa


Bạn phải khai báo tất cả các biến trước khi chúng có thể được sử dụng. Sau đây là dạng cơ bản của một khai báo biến
data type variable [ = value][, variable [ = value] ...] ;

Ở đây kiểu dữ liệu là một trong các kiểu dữ liệu và biến của Java là tên của biến. Để khai báo nhiều hơn một biến kiểu được chỉ định, bạn có thể sử dụng danh sách được phân cách bằng dấu phẩy.

Sau đây là các ví dụ hợp lệ về khai báo biến và khởi tạo trong lập trình Java 

Thí dụ

int a, b, c;         // Declares three ints, a, b, and c.
int a = 10, b = 10;  // Example of initialization
byte B = 22;         // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a';        // the char variable a iis initialized with value 'a'






Chương này sẽ giải thích các loại biến khác nhau có sẵn trong Ngôn ngữ Java. Có ba loại biến trong Java
  • Biến cục bộ
  • Các biến cá thể
  • Biến lớp / tĩnh
  • Biến cục bộ
Các biến cục bộ được khai báo trong các phương thức, các hàm tạo hoặc các khối.

Các biến cục bộ được tạo khi phương thức, hàm tạo hoặc khối được nhập và biến sẽ bị hủy khi nó thoát khỏi phương thức, hàm tạo hoặc khối.

Không thể sử dụng các công cụ sửa đổi truy cập cho các biến cục bộ.

Biến cục bộ chỉ hiển thị trong phương thức được khai báo, hàm tạo hoặc khối.

Các biến cục bộ được triển khai ở cấp độ ngăn xếp nội bộ.

Không có giá trị mặc định cho các biến cục bộ, do đó các biến cục bộ phải được khai báo và giá trị ban đầu sẽ được gán trước lần sử dụng đầu tiên.

Thí dụ

Ở đây, tuổi là một biến cục bộ. Điều này được định nghĩa bên trong phương thức pupAge () và phạm vi của nó chỉ giới hạn ở phương thức này.
public class Test {
   public void pupAge() {
      int age = 0;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

Puppy age is: 7

Thí dụ

Ví dụ sau sử dụng tuổi mà không khởi tạo nó, vì vậy nó sẽ đưa ra một lỗi tại thời điểm biên dịch.
public class Test {
   public void pupAge() {
      int age;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}
Điều này sẽ tạo ra lỗi sau trong khi biên dịch nó

Đầu ra

Test.java:4:variable number might not have been initialized
age = age + 7;
         ^
1 error

Các biến thể hiện

Các biến cá thể được khai báo trong một lớp, nhưng bên ngoài một phương thức, hàm tạo hoặc bất kỳ khối nào.

Khi một không gian được cấp phát cho một đối tượng trong heap, một khe cho mỗi giá trị biến thể hiện được tạo ra.

Các biến cá thể được tạo khi một đối tượng được tạo với việc sử dụng từ khóa 'mới' và bị hủy khi đối tượng bị hủy.

Các biến cá thể chứa các giá trị phải được tham chiếu bởi nhiều phương thức, hàm tạo hoặc khối hoặc các phần thiết yếu của trạng thái của đối tượng phải có trong toàn bộ lớp.

Các biến cá thể có thể được khai báo ở cấp lớp trước hoặc sau khi sử dụng.

Các biến tố truy cập có thể được cung cấp cho các biến mẫu.

Các biến cá thể được hiển thị cho tất cả các phương thức, các hàm tạo và khối trong lớp. Thông thường, bạn nên đặt các biến này ở chế độ riêng tư (cấp truy cập). Tuy nhiên, khả năng hiển thị cho các lớp con có thể được cung cấp cho các biến này với việc sử dụng các công cụ sửa đổi truy cập.

Biến thể hiện có giá trị mặc định. Đối với các số, giá trị mặc định là 0, đối với Booleans nó là false và đối với các tham chiếu đối tượng, nó là null. Giá trị có thể được chỉ định trong quá trình khai báo hoặc bên trong hàm tạo.

Các biến cá thể có thể được truy cập trực tiếp bằng cách gọi tên biến bên trong lớp. Tuy nhiên, trong các phương thức tĩnh (khi các biến mẫu được cung cấp khả năng truy cập), chúng phải được gọi bằng cách sử dụng tên đầy đủ. ObjectReference.VariableName .

Thí dụ

import java.io.*;
public class Employee {

   // this instance variable is visible for any child class.
   public String name;

   // salary  variable is visible in Employee class only.
   private double salary;

   // The name variable is assigned in the constructor.
   public Employee (String empName) {
      name = empName;
   }

   // The salary variable is assigned a value.
   public void setSalary(double empSal) {
      salary = empSal;
   }

   // This method prints the employee details.
   public void printEmp() {
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }

   public static void main(String args[]) {
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}
Điều này sẽ tạo ra kết quả sau

Đầu ra

name  : Ransika
salary :1000.0

Biến lớp / tĩnh

Các biến lớp còn được gọi là các biến tĩnh được khai báo với từ khóa tĩnh trong một lớp, nhưng bên ngoài một phương thức, hàm tạo hoặc một khối.

Sẽ chỉ có một bản sao của mỗi biến lớp cho mỗi lớp, bất kể có bao nhiêu đối tượng được tạo ra từ nó.

Biến tĩnh hiếm khi được sử dụng ngoài việc được khai báo là hằng số. Hằng số là các biến được khai báo là công khai / riêng tư, cuối cùng và tĩnh. Biến cố định không bao giờ thay đổi từ giá trị ban đầu của chúng.

Các biến tĩnh được lưu trữ trong bộ nhớ tĩnh. Rất hiếm khi sử dụng các biến tĩnh khác với khai báo cuối cùng và được sử dụng dưới dạng hằng số công khai hoặc riêng tư.

Các biến tĩnh được tạo khi chương trình khởi động và hủy khi chương trình dừng.

Khả năng hiển thị tương tự như các biến mẫu. Tuy nhiên, hầu hết các biến tĩnh được khai báo công khai vì chúng phải có sẵn cho người dùng của lớp.

Các giá trị mặc định giống như các biến mẫu. Đối với các số, giá trị mặc định là 0; cho Booleans, nó là sai; và đối với các tham chiếu đối tượng, nó là null. Giá trị có thể được chỉ định trong quá trình khai báo hoặc bên trong hàm tạo. Ngoài ra, các giá trị có thể được chỉ định trong các khối khởi tạo tĩnh đặc biệt.

Các biến tĩnh có thể được truy cập bằng cách gọi với tên lớp ClassName.VariableName .

Khi khai báo các biến lớp như là cuối cùng tĩnh công khai, thì các tên biến (hằng số) là tất cả trong trường hợp trên. Nếu các biến tĩnh không công khai và cuối cùng, cú pháp đặt tên giống như các biến mẫu và biến cục bộ.

Thí dụ

import java.io.*;
public class Employee {

   // salary  variable is a private static variable
   private static double salary;

   // DEPARTMENT is a constant
   public static final String DEPARTMENT = "Development ";

   public static void main(String args[]) {
      salary = 1000;
      System.out.println(DEPARTMENT + "average salary:" + salary);
   }
}
Điều này sẽ tạo ra kết quả sau 

Đầu ra

Development average salary:1000

Lưu ý - Nếu các biến được truy cập từ một lớp bên ngoài, hằng số nên được truy cập như Employee.DEPARTMENT

Tiếp theo là gì

Bạn đã sử dụng công cụ sửa đổi truy cập (công khai và riêng tư) trong chương này. Chương tiếp theo sẽ giải thích chi tiết về Modifiers Access và Non-Access Modifiers.

Không có nhận xét nào:

Đăng nhận xét

Lập trình Java - Ngoại lệ

Một ngoại lệ (hoặc sự kiện đặc biệt) là một vấn đề phát sinh trong quá trình thực hiện chương trình. Khi xảy ra Ngoại lệ , luồng bình thường...