Biến toàn cục và biến cục bộ

Khai báo biến toàn cục hay cục bộ. Bạn đã bao giờ để ý đến việc này chưa ? Nó có ảnh hưởng đến tốc độ của chương trình vì thế nếu có thể bạn hãy để ý đến cách khai bao của mình. Trong post này chúng ta sẽ tìm hiểu ví dụ nhỏ liên quan đến vấn đề này.

1. Ví dụ về biến toàn cục và biến cục bộ

Biến toàn cục

package com.loop.io;

public class PrintArray {

  /**
  * @param args
  */
  public static void main(String[] args) {
    String[] arr = { "HA NOI", "HAI PHONG", "DA NANG", "HO CHI MINH" };
    String printStr1 = "";
    // Print with index
    for (int i = 0; i < arr.length; i++) {
      printStr1 = arr[i];
      System.out.println(printStr1);
    }
  }
}

Kết quả

HA NOI
HAI PHONG
DA NANG
HO CHI MINH

Biến cục bộ

package com.loop.io;
public class PrintArray {
  /**
  * @param args
  */
  public static void main(String[] args) {
    String[] arr = { "HA NOI", "HAI PHONG", "DA NANG", "HO CHI MINH" };
    for (String str : arr) {
      String printStr2 = str;
      System.out.println(printStr2);
    }
  }
}

Kết quả

HA NOI
HAI PHONG
DA NANG
HO CHI MINH

2. Phân tích ví dụ

Trong ví dụ trên chúng sẽ để ý đến 2 biến printStr1 và printStr2

  • printStr1 là biến toàn cụ so với vòng For...
  • printStr2 là biến cục bộ trong vòng For..

Về kết quả trả ra thì ta thấy hoàn toàn giống nhau. Thế nhưng thử suy nghĩ sâu hơn,

  • Biến printStr1 thì sẽ được khởi tạo 1 lần duy nhất trước khi vào vòng For...
  • Biến printStr2 thì sau mỗi vòng for thì sẽ được khởi tạo lại 1 lần

Ở ví dụ này do lượng vòng lặp nhỏ và đối tượng xử lý cũng nhỏ chỉ là String nên ta không thấy được sự khác nhau về tốc độc của nó. Thế nhưng nếu tăng số lượng vòng For... lên vài chục nghìn lần bạn sẽ thấy sự khác biệt đó.

Chính vì thế trong quá trình lập trình chúng ta cũng nên chú ý xem khi nào nên khai báo biến cục bộ và khi nào nên khai báo biến toàn cục cho xử lý.

3. Kết luận

Thực tế thì tùy thuộc vào điều kiện bài toán mà ta sẽ xử lý việc khai báo biến là toàn cụ hay cục bộ. Thế nhưng về cơ bản hãy tư duy theo một hướng đó là hãy hạn chế tạo mới các object không cần thiết nếu như một object có thể thay thế được.

Rate this post
Đinh Thế Hiển
 

Mình là người thích viết lách, chia sẻ các trải nghiệm trong cuộc sống. Thích thể thao đặc biệt là thể hình. Hãy kết nối với mình nhé.

Click Here to Leave a Comment Below 0 comments