Các Kiểu Biến Trong Java
Có thể bạn quan tâm
- Khóa học Java
- Khóa học Offline tại Hà Nội
- Khóa học Java Online tại Udemy
- Java cơ bản
- Giới thiệu Java
- Java là gì?
- Lịch sử Java
- Tổng quan
- Cài đặt Java
- Cách thiết lập Path
- Chương trình Hello World
- Phân tích chương trình Hello World
- Cú pháp Java cơ bản
- JDK, JRE và JVM
- Biến trong Java
- Kiểu dữ liệu
- Toán tử
- Các kiểu vòng lặp
- Lệnh if, switch
- Đối tượng Number
- Đối tượng Character
- Khái niệm Hướng đối tượng
- Khái niệm OOP
- Lớp và Đối tượng
- Phương thức
- Nạp chồng phương thức (Overloading)
- Constructor
- Từ khóa static
- Từ khóa this
- Tính kế thừa (IS-A)
- Quan hệ (HAS-A)
- Ghi đè phương thức (Overriding)
- Kiểu trả về Covariant
- Từ khóa super
- Từ khóa final
- Tính đa hình
- Dynamic Binding
- Toán tử instanceof
- Tính trừu tượng
- Lớp abstract
- Interface
- Lớp abstract vs Interface
- Java Package
- Các kiểu Modifier
- Non-Access Modifier
- Access Modifier
- Tính bao đóng
- Lớp Object
- Nhân bản đối tượng
- Mảng (Array)
- Lớp Wrapper
- Gọi bởi giá trị
- Từ khóa strictfp
- Date & Time
- Regular Expression
- File và I/O trong Java
- File và I/O
- ByteArrayInputStream
- DataInputStream
- ByteArrayOutputStream
- DataOutputStream
- Lớp File
- Lớp FileReader
- Lớp FileWriter
- String trong Java
- Đối tượng String
- Immutable String
- So sánh chuỗi
- Nối chuỗi
- Chuỗi con
- Phương thức của lớp String
- Lớp StringBuffer
- Lớp StringBuilder
- String vs StringBuffer
- StringBuilder vs StringBuffer
- Tạo Immutable String
- Phương thức toString()
- Lớp StringTokenizer
- Xử lý ngoại lệ (Exception Handling)
- Exception là gì
- Khối try-catch
- Khối finally
- Từ khóa throw
- Từ khóa throws
- ExceptionHandling vs MethodOverriding
- Custom Exception
- Cấu trúc dữ liệu trong Java
- Cấu trúc dữ liệu
- Enumeration Interface
- Lớp BitSet
- Lớp Vector
- Lớp Stack
- Lớp Dictionary
- Lớp Hashtable
- Lớp Properties
- Collection trong Java
- Java Collection
- Collection Interface
- List Interface
- Set Interface
- SortedSet Interface
- Map Interface
- MapEntry Interface
- SortedMap Interface
- Lớp LinkedList
- Lớp ArrayList
- Lớp HashSet
- Lớp LinkedHashSet
- Lớp TreeSet
- Lớp HashMap
- Lớp TreeMap
- Thuật toán Collection
- Sử dụng Iterator
- Sử dụng Comparator
- Java nâng cao
- Java Generic
- Java Serialization
- Lập trình mạng
- Gửi Email
- Java Multithread
- Cơ bản về Applet
- Tạo Javadoc
- Tài liệu tham khảo Java
- Inner Class và chuyển đổi dữ liệu
- Tài liệu Java tham khảo
- 200 Câu hỏi phỏng vấn Java
- Ví dụ Java
Chương này, chúng ta cùng tìm hiểu về các kiểu biến trong Java. Biến là tên một khu nhớ. Có ba kiểu biến: biến cục bộ (còn gọi là biến local), thuộc tính (biến của instance- đối tượng) và biến static.
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. Form cơ bản của một khai báo biến như sau:
kieu_du_lieu bien [ = giatri][, bien [= giatri] ...] ;Ở đây, kieu_du_lieu là một kiểu dữ liệu của Java và bien là tên của biến. Để khai báo nhiều hơn một biến với kiểu cụ thể, bạn có thể sử dụng một danh sách biến phân biệt nhau bởi dấu phảy.
Dưới đây là ví dụ về khai báo và khởi tạo biến hợp lệ trong Java:
int a, b, c; // Khai bao ba bien kieu int la a, b, và 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 trong Java
Các biến được khai báo trong các phương thức, constructor, hoặc khối.
Các biến được tạo khi phương thức, constructor hoặc khối được nhập và biến bị hủy khi phương thức, constructor hoặc khối kết thúc.
Chỉ định truy cập (access modifier) có thể không được sử dụng cho các biến local.
Các biến local chỉ nhìn thấy trong phương thức, constructor, hoặc khối được khai báo.
Các biến local được thực thi nội bộ.
Không có giá trị mặc định nào cho các biến local, vì thế các biến local nên được khai báo và một giá trị khởi tạo nên được gán trước khi sử dụng.
Ví dụ:
Ở đây, tuoi là biến local. Nó được định nghĩa bên trong phương thức tuoiCon() và phạm vi của nó được giới hạn chỉ trong phương thức này.
public class Test{ public void tuoiCon(){ int tuoi = 0; tuoi = tuoi + 10; System.out.println("Tuoi con la : " + tuoi); } public static void main(String args[]){ Test test = new Test(); test.tuoiCon(); } }Ví dụ:
Ví dụ sau sử dụng tuoi mà không khởi tạo nó, vì thế nó sẽ tạo một lỗi tại thời gian biên dịch.
public class Test{ public void tuoiCon(){ int tuoi; tuoi = tuoi + 10; System.out.println("Tuoi con la : " + tuoi); } public static void main(String args[]){ Test test = new Test(); test.tuoiCon(); } }Nó sẽ cho một lỗi sau trong khi biên dịch:
Test.java:4:variable number might not have been initialized tuoi = tuoi + 10; ^ 1 errorThuộc tính (hay biến instance) trong Java
Các thuộc tính được khai báo trong một lớp, nhưng ở bên ngoài một phương thức, constructor hoặc bất kỳ khối nào.
Khi một không gian nhớ được cấp phát cho một đối tượng trong một heap (một dạng cấu trúc hàng đợi có thứ tự ưu tiên), một slot cho mỗi giá trị thuộc tính được tạo ra.
Các thuộc tính được tạo khi một đối tượng được tạo bởi sử dụng từ khóa new và bị hủy khi đối tượng bị hủy.
Các thuộc tính giữ các giá trị mà phải được tham chiếu bởi nhiều hơn một phương thức, constructor hoặc khối, hoặc các phần chủ yếu của trạng thái đối tượng mà phải có mặt xuyên suốt lớp đó.
Các thuộc tính có thể được khai báo trong mức độ lớp trước hoặc sau khi sử dụng.
Chỉ định truy cập (access modifier) có thể được cung cấp cho các thuộc tính.
Các thuộc tính là nhìn thấy với tất cả các phương thức, constructor, và khối trong lớp. Tuy nhiên, tính nhìn thấy cho các lớp phụ có thể được cung cấp cho những biến này với sự sử dụng của chỉ định truy cập.
Các thuộc tính có các giá trị mặc định. Với các số, giá trị mặc định là 0, với Boolean là false và với đối tượng là null. Các giá trị có thể được gán trong khi khai báo hoặc trong constructor.
Các thuộc tính có thể được truy cập một cách trực tiếp bởi việc gọi tên biến bên trong lớp đó. Tuy nhiên, với các phương thức static và các lớp khác nhau (khi thuộc tính được cung cấp khả năng truy cập), nó nên được gọi bởi sử dụng tên đầy đủ hợp lệ như sau: ObjectReference.VariableName.
Ví dụ:
import java.io.*; public class Student{ // Bien instance nay la nhin thay cho bat ky lop con nao. public String ten; // Bien hocphi la chi nhin thay cho lop Student. private double hocphi; // Bien ten duoc gan trong constructor. public Student (String tenSV){ ten = tenSV; } // Bien hocphi duoc gan mot gia tri. public void setHocPhi(double hp){ hocphi = hp; } // Phuong thuc nay 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ó sẽ cho kết quả sau:
Ho va ten: Nguyen Van Doan Hoc phi: 4000.0Các biến Class/static trong Java:
Các biến class cũng được biết như là các biến static được khai báo với từ khóa static trong một lớp, nhưng ở bên ngoài một phương thức, constructor hoặc một khối.
Sẽ chỉ có một bản sao của mỗi biến class cho mỗi lớp, bất chấp việc bao nhiêu đối tượng được tạo từ nó.
Các biến static hiếm khi được sử dụng, ngoài việc được khai báo như là các hằng số. Các hằng số là các biến, mà được khai báo như là các biến static, biến final, biến chung/riêng. Các biến hằng số không bao giờ thay đổi từ giá trị khởi tạo của chúng.
Các biến static được lưu giữ trong bộ nhớ static.
Các biến static được tạo khi chương trình bắt đầu và bị hủy khi chương trình kết thúc.
Tính nhìn thấy là tương tự như các thuộc tính. Tuy nhiên, hầu hết biến static được khai báo chung khi chúng phải là có sẵn cho việc sử dụng của lớp.
Giá trị mặc định là giống với các thuộc tính. Với các số, giá trị mặc định là 0; với Boolean là false, và với đối tượng là null. Các giá trị có thể được gán trong khi khai báo hoặc trong constructor. Ngoài ra, các giá trị có thể được gán trong các khối khởi tạo static đặc biệt.
Các biến static có thể được truy cập bởi việc gọi tên lớp: ClassName.VariableName.
Khi khai báo các biến class như public static final, thì các tên biến ở dạng chữ hoa. Nếu các biến static không là public và final, thì cú pháp đặt tên giống với các biến local và thuộc tính.
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ó sẽ cho kết quả sau:
KhoaIT hocphi trung binh:4000Ghi chú: Nếu các biến được truy cập từ lớp bên ngoài, hằng số nên được truy cập như ở dạng: Student.FACULTY
👉 Giải bài nhanh với AI Hay:Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:
Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập doanh nghiệp với Java. Khóa học có giá chỉ 400K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp chị Thu, trợ lý anh Tuyền để hỗ trợ thanh toán qua mã QR ngân hàng Việt Nam, fb: https://www.facebook.com/Thule.59
Anh Tuyền, tác giả khóa học, là cựu sinh viên chương trình đào tạo kĩ sư tài năng của đại học Bách Khoa Hà Nội với hơn 5 năm kinh nghiệm đi làm thực tế doanh nghiệp và cũng là Founder website vietjack.com, web giáo dục phổ biến nhất Việt Nam hiện tại (năm 2025). Java cũng là ngôn ngữ lập trình dễ đi xin việc nhất hiện tại, với mức lương cao, hãy nâng cao kiến thức IT của bản thân mình vì một Việt Nam giàu mạnh.
Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com
Bài học Java phổ biến tại vietjack.com:
Nạp chồng phương thức (Overloading)
Constructor
ArrayList trong Java
Interface trong Java
Thread trong Java
247 bài tập Java
200 câu phỏng vấn Java
160 bài học ngữ pháp tiếng Anh hay nhất
155 bài học Java tiếng Việt hay nhất
100 bài học Android tiếng Việt hay nhất
247 bài học CSS tiếng Việt hay nhất
197 thẻ HTML cơ bản
297 bài học PHP
101 bài học C++ hay nhất
97 bài tập C++ có giải hay nhất
208 bài học Javascript có giải hay nhất
Học cùng VietJack
Dịch vụ nổi bật:
-
Giải bài tập SGK & SBT -
Tài liệu giáo viên -
Sách -
Khóa học -
Thi online -
Hỏi đáp
Trang web chia sẻ nội dung miễn phí dành cho người Việt.
Giải bài tập:
Lớp 1-2-3 Lớp 4 Lớp 5 Lớp 6 Lớp 7 Lớp 8 Lớp 9 Lớp 10 Lớp 11 Lớp 12 Lập trình Tiếng Anh
Chính sách
Chính sách bảo mật
Hình thức thanh toán
Chính sách đổi trả khóa học
Chính sách hủy khóa học
Tuyển dụng
Liên hệ với chúng tôi
Tầng 2, G4 - G5 Tòa nhà Five Star Garden, số 2 Kim Giang, Phường Khương Đình, Hà Nội
Phone: 084 283 45 85
Email: [email protected]
CÔNG TY TNHH ĐẦU TƯ VÀ DỊCH VỤ GIÁO DỤC VIETJACK
Người đại diện: Nguyễn Thanh Tuyền
Số giấy chứng nhận đăng ký kinh doanh: 0108307822, ngày cấp: 04/06/2018, nơi cấp: Sở Kế hoạch và Đầu tư thành phố Hà Nội.
2015 © All Rights Reserved.
Từ khóa » Khởi Tạo Biến Trong Java
-
Biến Trong Java - Học Java Cơ Bản đến Nâng Cao - VietTuts
-
Biến Và Kiểu Dữ Liệu Trong Java - Học Java Cơ Bản đến Nâng Cao
-
Khởi Tạo Biến Trong Java
-
Biến Trong Java Là Gì? Khai Báo Biến Trong Java? - STACKJAVA
-
Các Loại Biến Trong Java - Lập Trình Không Khó
-
Java - Cách Khai Báo Biến - Thủ Thuật
-
Biến Trong Java - GP Coder (Lập Trình Java)
-
[Bài 1] Biến Trong Java Là Gì? Cách Khai Báo Biến? Các Loại Biến ...
-
Bài 7: Các Kiểu Biến Trong Java - Lập Trình Java Cơ Bản - VnCoder
-
Các Kiểu Biến Trong Java
-
Biến Và Phạm Vi Biến Trong Java - KungFu Tech
-
Biến Trong JAVA | Lập Trình Từ Đầu
-
Bài 5 Biến Variables Trong Java - IT For Student
-
Tìm Hiểu 3 Loại Biến/hàm Cơ Bản Trong Lập Trình Java | VNFS