THINK JAVA: CÁCH SUY NGHĨ NHƯ NHÀ KHOA HỌC MÁY TÍNH - Trang 51

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

ượ

ượ ị