Biểu thức là sự kết hợp cỏc biến số, cỏc giỏ trị bởi cỏc toỏn tử hoặc cú thể là một phộp gỏn giỏ trị một biểu thức cho một biến số.
Vớ dụ: (x+3)/(y-2);
Cú 3 loại biểu thức chớnh là:
Biểu thức số liờn kết cỏc biến số, cỏc hằng bằng cỏc phộp toỏn số, kết quả là một giỏ trị số.
Biểu thức gỏn dựng để gỏn giỏ trị cho một biến, một hằng. Biểu thức logic chỉ cho ra kết quả là cỏc giỏ trị true hay false.
Khi sử dụng cõu lệnh gỏn kết quả của một biểu thức cho một biến, ta cần chỳ ý tới vấn đề đồng nhất kiểu dữ liệu giữa hai vế để trỏnh mất thụng tin. Vớ dụ:
Double delta = 0.0d; //khai bỏo một biến số thực cú tờn delta delta = 1/ 100; // Gỏn cho delta kết quả của phộp chia 1 cho 100.
Trong tỡnh huống này, ta khụng thu được delta = 0.01 như mong đợi mà là delta =0. Lý do là cỏc số 1 và 100 đều được hiểu là cỏc số nguyờn và kết quả của phộp chia được tự động làm trũn thành một giỏ trị nguyờn trước khi gỏn cho delta. Để khắc phục tỡnh trạng này, ta cần xỏc định rừ cỏc số 1 và 100 là cỏc số double.
delta = 1d/100d;
V. Cỏc lệnh điều khiển rẽ nhỏnh V.1 Lệnh if
Lệnh if...{...}: là một phộp kiểm tra giỏ trị của một biểu thức boolean, nếu cho giỏ trị là
true thỡ khối lệnh sẽ được thực hiện. Cấu trỳc:
if <biểu thức boolean> {
}
Nếu biểu thức boolean đỳng, khối lệnh sẽ được thực hiện, cũn nếu biểu thức đú sai thỡ khối lệnh sẽ bị bỏ qua.
Vớ dụ:
public class dkIfThen {
public static void main(String[] args) { int x=1;
int y=x+1; if (x<y) {
System.out.println("x>y"); } }}
Dạng 2 của cõu lệnh if:
if <biểu thức boolean> { <khối lệnh 1>; } else { <khối lệnh 2>; }
Nếu biểu thức boolean đỳng thỡ <khối lệnh 1> được thực hiện, cũn nếu biểu thức boolean sai thỡ <khối lệnh 2> được thực hiện.
Vớ dụ:
public class dkIfThen {
public static void main(String[] args) { int x=1; int y=x-1; if (x<y) { System.out.println("x>y"); } else { System.out.println("x<y"); }}} V.2. Lệnh switch …case
Lệnh switch ... case ...: Cho phộp chọn nhiều trường hợp xảy ra của giỏ trị so sỏnh. Cấu trỳc:
switch <biểu thức>{
case <giỏ trị 1>: <khối lệnh 1>; break; case <giỏ trị 2>: <khối lệnh 2>; break; ...
case <giỏ trị n>: <khối lệnh n>; break; default: <khối lệnh default>; break; }
Một số chỳ ý khi sử dụng lệnh switch-case:
Nếu khụng sử dụng lệnh break mỗi khi kết thỳc cỏc khối lệnh thỡ sau khi thực hiện xong khối lệnh, cỏc lệnh tiếp theo sẽ được thực hiện.
VI. Cỏc lệnh lặp VI.1. Vũng lặp for
Khi muốn một khối lệnh được thực hiện với một số lần biết trước, ta cú thể sử dụng một vũng lặp for.
Cấu trỳc lệnh:
for([<khởi tạo>]; [<biểu thức kiểm tra>]; [<bước nhảy>]) {
<Khối lệnh>; }
Bắt đầu với giỏ trị <khởi tạo> của biến đếm, <khối lệnh> được thực hiện. Sau mỗi lần thực hiện xong <khối lệnh>, biến đếm thay đổi giỏ trị một lượng bằng <bước nhảy> và <biểu thức kiểm tra> được tớnh lại. Nếu biểu thức kiểm tra là true thỡ lại thực hiện khối lệnh, cũn nếu là false, vũng lặp chấm dứt.
Lưu đồ hoạt động của vũng lặp for như sau:
Vớ dụ: tớnh tổng 1 dóy số thực public class vdFor {
public static void main(String[] args) { double accounts[]={1.2,1.4,1.6}; double sum=0;
for (int i=0;i<accounts.length;i++){ sum+=accounts[i]; } System.out.println(sum); } Biểu thức kiểm tra Thực hiện khối lệnh Kết thỳc vũng for Biểu thức điều chỉnh
theo bước nhảy
Biểu thức biến điều khiển
false
}//kết quả là: 4.2
Cỏc vũng for cú thể được đặt lồng nhau nếu cần Vớ dụ:
for(int i=0; i<10; i++) { [cỏc cõu lệnh; ] for(int j=0; j<5; j++) { [cỏc cõu lệnh; ] ... } [cỏc cõu lệnh; ] } VI.2. Vũng lặp while
Khi một khối lệnh cần được thực hiện, thường là với một số lần khụng được biết trước, ta cú thể sử dụng vũng lặp while.
Cấu trỳc lệnh:
while <bt boolean> { <Khối lệnh>; }
Khối lệnh được thực hiện khi <bt boolean> cũn cú giỏ trị true.
Chỳ ý: trong khối lệnh phải cú cõu lệnh cú tỏc dụng ảnh hưởng tới kết quả <bt boolean>
để vũng lặp cú thể dừng.
Lưu đồ thực hiện: