Java là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay, được sử dụng rộng rãi trong việc phát triển các ứng dụng web, mobile và desktop. Với tính đa nền tảng, đơn giản và dễ học, Java đã trở thành một trong những công cụ không thể thiếu đối với các lập trình viên. Trong bài viết này, chúng ta sẽ tìm hiểu về những khái niệm cơ bản của Java để có thể bắt đầu học ngôn ngữ này một cách hiệu quả.
Java là một ngôn ngữ lập trình hướng đối tượng (OOP) được phát triển bởi James Gosling và các nhà khoa học máy tính tại Sun Microsystems vào năm 1991. Ngôn ngữ này được thiết kế để có thể chạy trên nhiều nền tảng khác nhau mà không cần phải biên dịch lại mã nguồn. Điều này giúp cho các ứng dụng Java có tính đa nền tảng cao, có thể chạy trên các hệ điều hành khác nhau như Windows, Mac OS, Linux, hay các thiết bị di động như điện thoại thông minh và máy tính bảng.
Một trong những đặc điểm nổi bật của Java là tính bảo mật cao, sử dụng máy ảo Java (JVM - Java Virtual Machine), mã nguồn được biên dịch thành mã bytecode có thể chạy trên bất kỳ nền tảng nào mà không lo bị tấn công bởi các virus hay phần mềm độc hại.
Hướng đối tượng
Java là một ngôn ngữ lập trình hướng đối tượng, có nghĩa là nó tập trung vào việc xây dựng các đối tượng và quan hệ giữa chúng. Mỗi đối tượng có thể chứa các thuộc tính và phương thức riêng, và có thể tương tác với nhau để thực hiện các chức năng cụ thể.
Tính đa nền tảng
Sử dụng JVM, mã nguồn Java có thể chạy trên nhiều nền tảng khác nhau mà không cần phải biên dịch lại. Điều này giúp cho các ứng dụng Java có tính đa nền tảng cao, có thể chạy trên nhiều hệ điều hành và thiết bị khác nhau.
Tính bảo mật cao
Mã nguồn Java được bảo vệ khỏi các virus hay phần mềm độc hại. Ngoài ra, Java cũng có các tính năng bảo mật như kiểm tra kiểu dữ liệu tại thời điểm biên dịch và quản lý bộ nhớ tự động, giúp cho các ứng dụng Java trở nên an toàn hơn.
Một chương trình Java bao gồm các thành phần sau:
-
Package: một tập hợp các lớp và giao diện liên quan đến nhau.
-
Class: khuôn mẫu để tạo ra các đối tượng.
-
Method: tập hợp các câu lệnh để thực hiện một chức năng cụ thể.
-
Statement: câu lệnh trong chương trình, được kết thúc bằng dấu chấm phẩy (;).
-
Comment: các dòng chú thích trong mã nguồn, không được biên dịch thành mã máy.
-
Modifier: từ khóa để thay đổi tính chất của một lớp, phương thức hay biến.
-
Biến là một vùng bộ nhớ được sử dụng để lưu trữ giá trị. Trong Java, biến phải được khai báo trước khi sử dụng, với cú pháp sau:
<kiểu dữ liệu> <tên biến>;
Ví dụ:
int age;
Trong đó, int là kiểu dữ liệu và age là tên biến. Các biến có thể được gán giá trị bằng toán tử = như sau:
age = 20;
Hoặc có thể khai báo và gán giá trị cho biến cùng một lúc:
int age = 20;
Kiểu dữ liệu
Java có các kiểu dữ liệu cơ bản như sau:
Kiểu dữ liệu
|
KKích thước (bytes)
|
Giá trị mặc định
|
Ví dụ
|
int
|
4
|
0
|
10
|
double
|
8
|
0.0
|
3.14
|
boolean
|
1
|
false
|
true
|
char
|
2
|
'\u0000'
|
'a'
|
String
|
-
|
null
|
"Hello World"
|
Trong đó, int là kiểu số nguyên, double là kiểu số thực, boolean là kiểu logic, char là kiểu ký tự và String là kiểu chuỗi.
Java hỗ trợ nhiều loại toán tử, từ các toán tử số học đến toán tử logic và so sánh, các toán tử này giúp lập trình viên thực hiện các phép toán và so sánh giữa các giá trị khác nhau trong quá trình phát triển ứng dụng Java.
Toán tử số học
Java có các toán tử cơ bản như + (cộng), - (trừ), * (nhân), / (chia) và % (chia lấy dư). Ví dụ:
int a = 10;
int b = 5;
System.out.println(a + b); // Kết quả: 15
System.out.println(a - b); // Kết quả: 5
System.out.println(a * b); // Kết quả: 50
System.out.println(a / b); // Kết quả: 2
System.out.println(a % b); // Kết quả: 0
Toán tử gán
Toán tử gán = được sử dụng để gán giá trị cho biến. Ví dụ:
int a = 10;
a += 5; // Tương đương với a = a + 5
System.out.println(a); // Kết quả: 15
Toán tử so sánh
Các toán tử so sánh được sử dụng để so sánh giá trị của hai biến. Kết quả trả về là một giá trị boolean (true hoặc false). Các toán tử này bao gồm == (bằng), != (không bằng), > (lớn hơn), < (nhỏ hơn), >= (lớn hơn hoặc bằng) và <= (nhỏ hơn hoặc bằng). Ví dụ:
int a = 10;
int b = 5;
System.out.println(a == b); // Kết quả: false
System.out.println(a != b); // Kết quả: true
System.out.println(a > b); // Kết quả: true
System.out.println(a < b); // Kết quả: false
System.out.println(a >= b); // Kết quả: true
System.out.println(a <= b); // Kết quả: false
Toán tử logic
Toán tử logic được sử dụng để kết hợp các biểu thức logic. Các toán tử này bao gồm && (và), || (hoặc) và ! (phủ định). Ví dụ:
int a = 10;
int b = 5;
System.out.println(a > 0 && b > 0); // Kết quả: true
System.out.println(a > 0 || b > 0); // Kết quả: true
System.out.println(!(a > 0)); // Kết quả: false
Các cấu trúc điều khiển này là những công cụ quan trọng giúp lập trình viên kiểm soát quy trình thực hiện của chương trình, làm cho mã nguồn trở nên linh hoạt và dễ đọc. Kết hợp nhau, chúng tạo ra những logic phức tạp trong ứng dụng Java, đồng thời giúp tăng tính hiệu quả và mô-đun hóa của mã nguồn.
Câu lệnh điều kiện if-else
Câu lệnh điều kiện if-else được sử dụng để thực hiện một hành động nào đó nếu điều kiện được xác định là đúng hoặc sai. Cú pháp của câu lệnh này như sau:
if (condition) {
// Thực hiện hành động nếu condition là true
} else {
// Thực hiện hành động nếu condition là false
}
Ví dụ:
int a = 10;
if (a > 0) {
System.out.println("Số dương");
} else {
System.out.println("Số âm");
}
Vòng lặp for
Vòng lặp for được sử dụng để lặp lại một đoạn mã nhiều lần. Cú pháp của vòng lặp này như sau:
for (initialization; condition; update) {
// Thực hiện hành động trong vòng lặp
}
Trong đó, initialization là biểu thức khởi tạo giá trị ban đầu, condition là điều kiện để tiếp tục vòng lặp và update là biểu thức cập nhật giá trị sau mỗi lần lặp. Ví dụ:
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
Vòng lặp while
Vòng lặp while được sử dụng để lặp lại một đoạn mã nhiều lần khi điều kiện vẫn còn đúng. Cú pháp của vòng lặp này như sau:
while (condition) {
// Thực hiện hành động trong vòng lặp
}
Ví dụ:
int i = 0;
while (i < 10) {
System.out.println(i);
i++;
}
Hàm và phương thức là cách quan trọng để tổ chức mã nguồn trong Java và cung cấp khả năng tái sử dụng mã nguồn. Hàm và phương thức là cơ sở của việc xây dựng ứng dụng Java có cấu trúc, linh hoạt và dễ bảo trì, chúng giúp tạo ra mã nguồn hiệu quả và giảm độ phức tạp của chương trình.
Hàm
Hàm là một khối mã có thể được gọi từ nhiều nơi trong chương trình. Nó giúp cho việc tái sử dụng mã nguồn và làm cho chương trình trở nên dễ đọc hơn. Cú pháp của hàm như sau:
<kiểu dữ liệu trả về> <tên hàm>(<danh sách tham số>) {
// Thân hàm
}
Ví dụ:
int sum(int a, int b) {
return a + b;
}
Trong đó, int là kiểu dữ liệu trả về, sum là tên hàm và (a, b) là danh sách các tham số.
Phương thức
Phương thức là một hàm thuộc về một lớp hoặc đối tượng cụ thể. Cú pháp của phương thức như sau:
<kiểu dữ liệu trả về> <tên phương thức>(<danh sách tham số>) {
// Thân phương thức
}
Ví dụ:
public class Calculator {
public int sum(int a, int b) {
return a + b;
}
}
Trong đó, Calculator là tên lớp và sum là tên phương thức.
Lớp và đối tượng là khái niệm quan trọng trong lập trình hướng đối tượng của Java, đóng gói dữ liệu và hành vi liên quan lại với nhau. Lớp và đối tượng là một khái niệm quan trọng trong OOP giúp tạo ra mã nguồn mô-đun, linh hoạt và dễ bảo trì trong các dự án phần mềm.
Lớp
Lớp là một khuôn mẫu để tạo ra các đối tượng. Nó chứa các thuộc tính và phương thức để mô tả đặc điểm và hành vi của đối tượng. Cú pháp của lớp như sau:
public class <tên lớp> {
// Khai báo thuộc tính
// Khai báo phương thức
}
Trong đó, public là một từ khóa để chỉ ra rằng lớp này có thể được truy cập từ bất kỳ nơi nào trong chương trình.
Đối tượng
Đối tượng là một thực thể được tạo ra từ lớp, có thể được sử dụng để lưu trữ và xử lý dữ liệu. Ví dụ:
public class Person {
String name;
int age;
public void introduce() {
System.out.println("Xin chào, tôi là " + name + ", năm nay tôi " + age + " tuổi.");
}
}
Trong đó, Person là tên lớp và name và age là hai thuộc tính của lớp này. Phương thức introduce() được sử dụng để in ra thông tin của đối tượng.
Kết luận: trong bài viết này, chúng ta đã tìm hiểu về những khái niệm cơ bản của Java như giới thiệu về ngôn ngữ này, các tính năng chính, cấu trúc cơ bản của một chương trình, biến và kiểu dữ liệu, các toán tử, cấu trúc điều khiển, hàm và phương thức, lớp và đối tượng. Hy vọng những kiến thức này sẽ giúp bạn có được một cái nhìn tổng quan về Java và bắt đầu học ngôn ngữ này một cách hiệu quả.