Bảng 1.10. Toán tử 2 ngôi
Toán tử đơn:
Phép toán | Ví dụ | Ghi chú | |
– | đổi dấu | – a | a =10, –a = –10 |
~ | phép đảo bit | ~ a | a =6, ~a = 1 |
++ | Tăng | a++ | gán a = a+1 |
–– | giảm | a––/– – | gán a= a–1 |
Có thể bạn quan tâm!
- Lập trình Java - 3
- Đường Dẫn Của Thư Mục Cài Đặt Java
- Các Phép Toán Trên Kiểu Số Thực
- Hàm – Phương Thức (Function – Method) Khái Niệm
- Một Ví Dụ Về Hai Phương Pháp Giải Quyết Oop Và Structured
- Lập trình Java - 9
Xem toàn bộ 267 trang tài liệu này.
Bảng 1.11. Danh sách các toán tử đơn
Toán tử gán :
Ví dụ | Ý nghĩa | |
+= | a += 3 | a = a+3 |
–= | a –= 4 | a = a – 4 |
*= | a *= 2 | a = (a*2) |
/= | a /= 5 | a = (a/5) |
&= | a &= b | a = (a&b) |
|= | a |= b | a = (a | b) |
^= | a ^= b | a = (a ^ b) |
%= | a %= b | a = (a % b) |
<<= | a <<= n | a = (a << n) |
>>= | a >>= n | a = (a >> n) |
>>>= | a >>>= n | a = (a >>> n) |
Bảng 1.12. Danh sách các toán tử gán
Toán tử trên số thực:
Phép toán | Ví dụ | Ghi chú | |
= | Phép gán | a = 10 | Gán cho a giá trị 10 |
== | So sánh bằng | a == b | a bằng b |
!= | Không bằng | a != b | a khác b |
< | nhỏ hơn | a < b | a nhỏ hơn b |
<= | nhỏ hơn hoặc bằng | a <= b | a nhỏ hơn hoặc bằng |
> | lớn hơn | a > b | a lớn hơn b |
>= | lớn hơn hoặc bằng | a >= b | a lớn hơn hoặc bằng |
+ | phép cộng | a + b | a cộng b |
– | phép trừ | a – b | a trừ b |
* | phép nhân | a * b | a nhân b |
/ | phép chia | a / b | a chia b |
Bảng 1.13. Danh sách các toán tử trên kiểu số thực
Toán tử trên kiểu Boolean:
Phép toán | Ví dụ | Ghi chú | |
! | phép đảo | !a | lấy giá trị ngược lại với a |
&& | điều kiện AND | a && b | thỏa đồng thời 2 điều kiện a và b |
|| | điều kiện OR | a || b | thoả a hay ba3 hai |
== | phép bằng | a == b | xét a có bằng b không |
!= | phép not | a != b | xét a có khác b không |
?: | chuỗiđiềukiện | a ? expr1 : expr2 | nếu a đúng thì lấy kết quả expr1, ngược lại lấy expr2 |
Bảng 1.14. Danh sách các phép toán logic
b)Biểu thức:
Biểu thức là một sự kết hợp giữa các toán tử và các toán hạng theo đúng một trật tự nhất định, để diễn đạt một công thức toán học nào đó. Mỗi biểu thức có sẽ có một giá trị.
Mỗi toán hạng có thể là một hằng, một biến hoặc một biểu thức khác.
Trong trường hợp, biểu thức có nhiều toán tử, ta dùng cặp dấu ngoặc tròn () để chỉ định toán tử nào được thực hiện trước
Như vậy hằng, biến, phần tử mảng và hàm cũng được xem là biểu thức.
Ví dụ 1.10: sum = 5 + 4; 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ả của loại biểu thức này 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à true hay false.
Các biểu thức phức tạp là do lồng ghép các biểu thức đơn giản vào nhau ta có thể phân tích chúng dựa vào dấu ngoặc tròn (()).
1.2.6. Các cấu trúc điều khiển
Cấu trúc điều khiển là các lệnh kiểm tra và điều khiển quá trình thực hiện các câu lệnh sao cho chương trình thực hiện đúng và đạt được yêu cầu đặt ra.
a) Cấu trúc lựa chọn if:
Câu lệnh if kiểm tra kết quả của một điều kiện và thực thi một thao tác phù hợp trên cơ sở kết quả đó. Lệnh if có các dạng sau:
Dạng 1: Cú pháp:
if (<biểu thứ điều kiện>)<Câu lệnh> Trong đó:
- Biểu thứ điều kiện là một biểu thức logic
- Câu lệnh là một câu lệnh nào đó muốn thực hiện khi biểu thức logic trả về kết quả là true.
Ý nghĩa của câu lệnh là: nếu biểu thức logic đúng thì thực hiện câu lệnh
Trong trường hợp muốn có nhiều câu lệnh cùng thực hiện khi biểu thức logic đúng (true) thì các lệnh này được bao trong một khối lệnh.
Cú pháp như sau:
if (<biểu thứ điều kiện>){<Các Câu lệnh>}
Ví dụ 1.11:
import java.util.Date; Date today = new Date();
if (today.getDay == 0) System.out.println(“It is Sunday.”); Dạng 2:
Cú pháp:
if (<biểu thứ điều kiện>)<Câu lệnh 1> else <Câu lệnh 2> Trong đó:
- biểu thứ điều kiện là một biểu thức logic
- Câu lệnh 1 là một câu lệnh nào đó muốn thực hiện khi biểu thức logic trả về kết quả là đúng.
- Câu lệnh 2 là một câu lệnh nào đó muốn thực hiện khi biểu thức logic trả về kết quả là sai.
Ý nghĩa của câu lệnh là nếu biểu thức logic đúng thì thực hiện câu lệnh 1 trong trường hợp ngược lại (biểu thức logic sai) thì thực hiện lệnh 2.
Trong trường hợp muốn có nhiều câu lệnh cùng thực hiện khi biểu thức logic đúng (true) hoặc sai (false) thì các lệnh này phải là một khối lệnh. Trong trường hợp đầy đủ ta có thể viết lệnh theo cú pháp như sau:
if (<biểu thứ điều kiện>){[<Các câu lệnh 1>]} else {[<Các câu lệnh 2>]} Ví dụ 1.12:
import java.util.Date;
Date today = new Date(); if (today.getDay == 0)
System.out.println(“It is Sunday.”); else
System.out.println(“It is not Sunday.”);
Ta cũng có thể dùng các cấu trúc if lồng nhau if <biểu thức boolean 1><khối lệnh 1>
else if <biểu thức boolean 2><khối lệnh 2>
else if <biểu thức boolean 3><khối lệnh 3> else <khối lệnh else>;
Ví dụ 1.13:
import java.util.Date; Date today = new Date();
if (today.getDay == 0) System.out.println(“It is Sunday.”);
else if (today.getDay ==1) System.out.println(“It is Monday.”); else if (today.getDay ==2) System.out.println(“It is Tuesday.”); else if (today.getDay ==3) System.out.println(“It is Wednesday.”); else if (today.getDay ==4) System.out.println(“It is Thursday.”); else if (today.getDay ==5) System.out.println(“It is Friday.”);
else System.out.println(“It must be Saturday.”); Cấu trúc lựa chọn Switch:
Switch <biểu thức>
{ case <giátrị 1> : <khối lệnh 1>; case <giátrị 2> : <khối lệnh 2>; case <giátrị 3> : <khối lệnh 3>; default : <khối lệnh default>;
}
Ví dụ 1.14:
import java.util.Date; Date today = new Date();
Switch (today.getDay)
{ case 0: //Sunday case 3: //Wednesday
case 6: //Saturday
System.out.println(“It‟s Football day!”); break; case 2: //Tuesday
System.out.println(“It‟s Tennis day!”); case 1: //Monday
case 4: //Thursday
case 5: //Friday
System.out.println(“It‟s Golf day!”); break;
sai.
}
b) Cấu trúc lặp:
Vòng lặp for:
Câu lệnh for cho phép thực hiện lặp lại công việc cho đến khi biểu thức điều kiện
for ([<khởi tạo>];[<biểu thức kiểm tra>];[<bước nhảy>])
<câu lệnh> Trong đó:
lặp
- Khởi tạo: là một biểu thức dùng để gán giá trị khởi tạo cho một biến điều khiển
- Biểu thức kiểm tra: là một biểu thức logic dùng để kiểm tra việc lặp nếu biểu
thức đúng thì cho phép lặp lại ngược lại sẽ kết thúc vòng lặp.
- Bước nhảy: dùng để thiết lập bước nhảy cho mỗi lần lặp Ví dụ 1.15:
for (int count = 0; count <100; count ++) System.out.println(“Count = ” + count);
Trong trường hợp trong vòng lặp for muốn thực hiện nhiều lệnh thì các câu lệnh phải là một khối lệnh. Trong trường hợp đầy đủ ta có thể viết lệnh theo cú pháp như sau:
for (<khởi tạo>; <biểu thức kiểm tra>; <bước nhảy>)
{[<các câu lệnh>]}
Vòng lặp While:
Cú pháp:
while <biểu thức boolean>
<khối lệnh>; Trong đó:
- biểu thức boolean: là một biểu thức logic trả lại một trong 2 giá trị đúng (true) hoặc sai (false)
- khối lệnh: là tập các câu lệnh sẽ được thực hiện trong vòng lặp
Ý nghĩa của câu lệnh như sau: Trong khi biểu thức logic còn đúng thì lặp lại các công việc trong khối lệnh.
Ví dụ 1.16:
int count = 0; while (count < 100)
{ System.out.println (“Count = “+count); count++;
}
Vòng lặp do … while:Vòng lặp này tương tự như vòng lặp while do tuy nhiên khối lệnh sẽ được thực hiện trước khi khiểm tra biểu thức boolean.
do
{ <khối lệnh>;
} while (<biểu thức boolean>) Ví dụ 1.17:
public void ShowYears(int year)
{ do {System.out.println(“Year is “+ year);
} while (year <2000)
}
c) Các lệnh nhảy:
Lệnh break: dùng để thoát khỏi cấu trúc switch hoặc thoát khỏi vòng lặp hiện tại. while <biểu thức boolean 1>
{ lệnh 1;
lệnh 2;
if <biểu thức boolean 2> break;
lệnh 3;
}
lệnh 4;
Ví dụ 1.18: xét đoạn chương trình tìm số nguyên x trong một mảng số nguyên cho trước như sau:
class BreakExam
{ public static void main (String args[]) throws Exception
{ char ch[] = {'h','e','l','l','o',' ','w','o','r','l','d'};
char c = ' '; int i=0; boolean flag=false;
System.out.print("Nhap ky tu can tim: "); c = (char)System.in.read();
for (i=0; i<=10;i++)
{ if (ch[i] == c)
{ flag = true; break;
}
}
if (flag == false) System.out.println("Ky tu "+c+" khong tim thay"); else System.out.println("Ky tu "+c+" nam o vi tri thu "+(i+1));
}
}
Lệnh continue: lệnh continue điều khiển chương trình nhảy về đầu vòng lặp, bỏ qua các lệnh trong khối lặp sau nó.
while <biểu thức boolean 1>
{ lệnh 1;
lệnh 2;
if <biểu thức boolean 2> continue;
lệnh 3;
}
lệnh 4;
Ví dụ 1.19: xét đoạn chương trình in ra các số từ 0 đến 9 như sau:
class Continue
{ public static void main(String args[])
{ for (int i=0; i<10; i++)
{ System.out.print(i++" "); if ((i%2)==0) continue; System.out.println("");
}
}
}
Nhãn (Label):
Java không hỗ trợ lệnh goto, mặc dù lệnh goto có trong bộ từ khóa. Java thực hiện việc kết hợp lệnh break hay continue với nhãn để thay thế lệnh goto trong việc xử lý lặp như sau:
Ví dụ 1.20:
public void paint (Graphics g)
{ int line=1; outsideLoop:
for (int out =0; out<3; out ++)
{ g.drawString(“out = “+ out, 5, line * 20); line ++;
for (int inner=0; inner < 5; inner++)
{ // tạo biến ngẫu nhiên
double randNum = Math.random(); g.drawString(Double.toString(randNum), 15, line * 20); line++;
if (randNum < 0.1
{ g.drawString(“break to outsideLoop”, 25, line * 20); line++;
break outsideLoop;
}