[Tự học lập trình Java] Câu lệnh, biểu thức, khối lệnh trong ngôn ngữ lập trình Java

 

Bây giờ chúng ta đã biết biến và toán tử. Tiếp theo sẽ là biểu thức, câu lệnh và khối lệnh là gì. Các toán tử có thể được sử dụng để xây dựng nên các biểu thucwcs, ở đó sẽ tính toán giá trị, biểu thức là các thành phần lõi của câu lệnh, câu lệnh có thể gộp trong các khối lệnh.

Lập trình java - tinhoccoban.net


Biểu thức (Expressions)

Một biểu thức là một cấu t rúc được tạo ra từ các biến, các toán tử, và các lời gọi phương thức, chúng có thể được khởi dựng theo các cú pháp của ngôn ngữ lập trình, tính toán thành một giá trị đơn. Bạn có thể đã nhìn thấy các ví dụ về biểu thức được minh họa trong ví dụ sau:

int cadence = 0;
anArray[0] = 100;
System.out.println("Element 1 at index 0: " + anArray[0]); 
int result = 1 + 2; // result is now 3
if (value1 == value2) 
    System.out.println("value1 == value2");

Kiểu giá trị được trả về trong biểu thức phụ thuộc các thành phần sử dụng trong biểu thức. Biểu thức cadence = 0 trả về một kết quả kiểu int bởi vì biểu thức gán một giá trị cùng kiểu bên trái toán hạng; trong trường hợp này, cadence là một số kiểu int. Cũng có thể thấy các biểu thức khác, một biểu thức có thể trả về kiều giá trị khác, có thể là boolean hoặc String.

Trong ngôn ngữ lập trình Java cho phép bạn tạo một biểu thức hợp nhất từ các biểu thức nhỏ hơn kểu dữ liệu yêu cầu từng phần trong biểu thức phải khớp với các kiểu dữ liệu khác. Ví dụ một biểu thức hợp nhất:

1 * 2 * 3

Trong ví dụ này, cài đặt một biểu thức mà thứ tự tính toán là không quan trọng bởi vì kết quả là phép nhân thì độc lập với thứ tự, do đó một cách tương tự, không quan trong thứ tự áp dụng vào phép nhân. Tuy nhiên nó không còn đúng với biểu thức. Ví dụ biểu thức sau sẽ cho sự khác biệt về kết quả phụ thuộc vào thực thi phép cộng hoặc phép nhân trước:

x + y / 100    // ambiguous

Bạn có thể cụ thể chính xác một biểu thức được tính toán sử dụng bởi dấu ngoặc: ( và ). Ví dụ tạo một biểu thức không gây hiểu nhầm có thể được viết như sau:

(x + y) / 100  // unambiguous, recommended

Nếu bạn không xác định rõ ràng thứ tự cho các toán tử được thực thi, thì thứ tự đó sẽ được quyết định bằng quyền ưu tiên cho các toán tử sử dụng trong biểu thức. Các toán tử có quyền ưu tiên cao hơn được tính toán trước. Ví dụ: Phép chia có quyền ưu tiên cao hơn phép cộng. Vì vậy hai dòng lệnh dưới đây là tương đương:

x + y / 100
x + (y / 100) // unambiguous, recommended

Khi viết dấu ngoặc trong biểu thức, thì rõ ràng và xác định với cặp ngoặc đơn, điều mà các toán tử nào sẽ được tính toán trước. Khi đó sẽ tạo đoạn code dễ đọc và dễ bảo trì.

Các câu lệnh (Statements)

Các câu lệnh thì thường tương đương với tuần tự trong ngôn ngữ tự nhiên. Một câu lệnh là một đơn vị thực thi. Các kiểu biểu thức có thể tạo ra các câu lệnh bằng cách cuối biểu thức là dấu chấm phẩy (;).

·        Các biểu thức gán.

·        Bất kỳ biểu thức có sử dụng ++ hoặc --.

·        Các lời gọi hàm.

·        Các biểu thức tạo đối tượng.

Các câu lệnh như thế được gọi là các câu lệnh biểu thức. Trong ví dụ dưới đây có vài các câu lệnh biểu thức.

// assignment statement

aValue = 8933.234;

// increment statement

aValue++;

// method invocation statement

System.out.println("Hello World!");

// object creation statement

Bicycle myBike = new Bicycle();

Ngoài các câu lệnh biểu thức, ở đây có hai câu lệnh khác: Các câu lệnh khai báo và các câu lệnh điều khiển. Một câu lệnh khai báo để khai báo biến. Bạn có thể đã thấy trong ví dụ câu lệnh khai báo trước đó.

// declaration statement
double aValue = 8933.234;

Cuối cùng, các câu lệnh điều khiển điều tiết thứ tự các câu lệnh thực thi. Bạn sẽ được học trong phần tiếp theo là các cấu trúc điều khiển.

Các khối lệnh.

Một khối lệnh là một nhóm từ không câu lệnh trở lên đặt trong cặp dấu ngoặc nhọn và có thể sử dụng ở bất kỳ đâu có câu lệnh. Ví dụ  BlockDemo minh họa sử dụng khối lệnh.

class BlockDemo {
     public static void main(String[] args) {
          boolean condition = true;
          if (condition) { // begin block 1
               System.out.println("Condition is true.");
          } // end block one
          else { // begin block 2
               System.out.println("Condition is false.");
          } // end block 2
     }
}

Bài tập

Bài tập 1 Các câu lệnh có thể được gom lại thành gì?

Bài tập 2 Các câu lệnh tương tự như tuần tự trong ngôn ngữ tự nhiên, nhưng kết thúc mỗi đoạn, mỗi câu lệnh là dấu gì?

Bài tập 3 Một khối lệnh nhóm từ không câu lệnh trỏe lên trong dấu gì?

Bài tập 4 Xác định kiểu câu lệnh biểu thức trong các câu lệnh sau:

aValue = 8933.234;
aValue++;
System.out.println("Hello World!");
Bicycle myBike = new Bicycle();

Mới hơn Cũ hơn

Biểu mẫu liên hệ