if
(x > 0) {
if
(x < 10) {
System.out.println(
"x là số dương gồm 1 chữ số."
);
}
}
6.7 Ph
ng th c logic
ươ
ứ
Các ph
ng th c có th tr l i giá tr boolean cũng nh các ki u d li u khác; và đi u này th
ng thu n
ươ
ứ
ể ả ạ
ị
ư
ể
ữ ệ
ề
ườ
ậ
ti n cho vi c đem nh ng thao tác ki m tra c t gi u vào trong ph
ng th c. Ch ng h n:
ệ
ệ
ữ
ể
ấ
ấ
ươ
ứ
ẳ
ạ
public static boolean
isSingleDigit(
int
x) {
if
(x >= 0 && x < 10) {
return true
;
}
else
{
return false
;
}
}
Ph
ng th c này có tên là
ươ
ứ
isSingleDigit. Th
ng thì ng
i ta hay đ t tên ph
ng th c logic theo ki u
ườ
ườ
ặ
ươ
ứ
ể
nh nh ng câu h i đúng/sai. Ki u d li u tr l i là
ư
ữ
ỏ
ể
ữ ệ
ả ạ
boolean, nh v y m i câu l nh return đ u ph i đ a
ư ậ
ỗ
ệ
ề
ả ư
ra m t bi u th c boolean.
ộ
ể
ứ
B n thân đo n mã l nh r t rõ nghĩa, m c dù nó dài h n m c c n thi t. Hãy nh r ng bi u th c
ả
ạ
ệ
ấ
ặ
ơ
ứ ầ
ế
ớ ằ
ể
ứ x >= 0
&& x < 10 có ki u boolean, b i v y không có gì sai khi ta tr c ti p tr l i nó đ ng th i tránh đ
c câu
ể
ở ậ
ự
ế
ả ạ
ồ
ờ
ượ
l nh
ệ if:
public static boolean
isSingleDigit(
int
x) {
return
(x >= 0 && x < 10);
}
T
ừ main b n có th kích ho t ph ng th c này theo cách thông th ng:
ạ
ể
ạ
ươ
ứ
ườ
boolean
bigFlag = !isSingleDigit(17);
System.out.println(isSingleDigit(2));
Dòng đ u tiên đ t
ầ
ặ bigFlag là true ch khi 17
ỉ
không ph i
ả s có m t ch s . Dòng l nh th hai in
ố
ộ
ữ ố
ệ
ứ
ra true b i 2 là ch có m t ch s .
ở
ỉ
ộ
ữ ố
Cách dùng hay g p nh t đ i v i ph
ng th c boole là trong các câu l nh đi u ki n
ặ
ấ ố ớ
ươ
ứ
ệ
ề
ệ
if
(isSingleDigit(x)) {
System.out.println(
"x nhỏ"
);
}
else
{
System.out.println(
"x lớn"
);
}
6.8 Nói thêm v đ quy
ề ệ
Bây gi khi đã bi t ph
ng th c tr l i giá tr , ta có đ
c m t ngôn ng l p trình
ờ
ế
ươ
ứ
ả ạ
ị
ượ
ộ
ữ ậ
Turing đ y đ
ầ
ủ; theo
nghĩa là chúng ta s tính đ
c m i th có th tính toán, trong đó “có th tính toán” đ
c đ nh nghĩa
ẽ
ượ
ọ
ứ
ể
ể
ượ ị