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

B ng cách này đã đ t

ặ y b ng

ằ 0.333333, nh d ki n.

ư ự ế

Các toán t mà ta đã g p đ n gi —c ng, tr , nhân, và chia—cũng làm vi c đ

c v i các giá tr d u ph y

ế

ệ ượ ớ

ị ấ

đ ng, m c dù b n có th th y thú v khi bi t đ

c r ng c ch bên trong thì khác h n. Th c ra, đa s các

ể ấ

ế ượ ằ

ơ ế

b vi x lý đ u có ph n m m chuyên d ng đ th c hi n các phép tính có d u ph y đ ng.

ể ự

3.2 Chuy n đ i t

ổ ừ double sang int

Nh tôi đã nói, Java quy đ i các s

ư

ố int thành double m t cách t đ ng n u th y c n thi t, vì trong quá

ự ộ

ế

ấ ầ

ế

trình chuy n đ i không b m t thông tin. Ng

c l i, chuy n t

ị ấ

ượ ạ

ể ừ double sang int l i c n ph i làm tròn s .

ạ ầ

Java không t đ ng làm vi c này, đ đ m b o r ng b n, ng

i l p trình, cũng bi t đ

c r ng ph n th p

ự ộ

ể ả

ả ằ

ườ ậ

ế ượ ằ

phân c a s s b m t đi.

ủ ố ẽ ị ấ

Cách đ n gi n nh t đ chuy n m t giá tr s ph y đ ng sang s nguyên là th c hi n vi c

ơ

ấ ể

ị ố

đ nh

ki u

(typecast). S dĩ g i là đ nh ki u vì b ng cách đó ta có th l y m t giá tr thu c ki u này r i “ n

ể ấ

ồ ấ

đ nh” nó thành ki u khác (nh vi c đ nh hình b ng khuôn đúc kim lo i).

ư ệ ị

Cú pháp c a đ nh ki u là đ t tên ki u gi a c p ngo c tròn r i dùng nó nh m t toán t . Ch ng h n,

ữ ặ

ư ộ

double

pi = 3.14159;

int

x = (

int

) pi;

Toán t

ử (int) có tác d ng chuy n b t kì th gì đi sau nó thành m t s nguyên, b i v y

ộ ố

ở ậ x nh n giá tr

b ng 3.

Đ nh ki u có quy n u tiên cao h n so v i các toán t s h c, b i v y ví d sau, tr

c h t giá tr c a

ề ư

ơ

ử ố ọ

ở ậ ở

ướ ế

ị ủ

pi đ

c chuy n thành s nguyên, và k t qu s là 60.0, ch không ph i 62.

ượ

ế

ả ẽ

double

pi = 3.14159;

double

x = (

int

) pi * 20.0;

Vi c chuy n thành s nguyên s luôn làm tròn xu ng, ngay c khi ph n th p phân là 0.99999999. Cách

ho t đ ng này (quy n u tiên và vi c làm tròn) có th khi n cho vi c đ nh ki u d gây nên l i.

ạ ộ

ề ư

ế

ệ ị

3.3 Các ph

ng th c Math

ươ

Khi làm toán, có l b n đã th y các hàm nh sin và log, đ ng th i cũng bi t cách tính các bi u th c nh

ẽ ạ

ư

ế

ư

sin(π/2) và log(1/x). Đ u tiên, b n l

ng giá bi u th c trong c p ngo c tròn, v n đ

c g i là

ạ ượ

ượ ọ

đ i s

ố ố c a

hàm. Ti p theo b n l

ng giá b n thân hàm đó, b ng cách tra b ng ho c tính toán.

ế

ạ ượ

Công đo n này có th đ

c áp d ng l p l i đ l

ng giá nh ng bi u th c ph c t p h n nh

ể ượ

ặ ạ ể ượ

ứ ạ

ơ

ư

log(1/sin(π/2)). Đ u tiên, b n l

ng giá đ i s c a hàm đ ng trong cùng, r i l

ng giá b n thân hàm

ạ ượ

ố ố ủ

ồ ượ

đó, và c nh v y.

ư ậ

Java cung c p cho ta các hàm đ th c hi n nh ng phép toán thông d ng nh t. Nh ng hàm này đ

c g i

ể ự

ượ ọ

ph

ng th c

ươ

. Các ph ng th c toán h c đ c kích ho t b ng cách dùng cú pháp t ng t nh câu

ươ

ọ ượ

ạ ằ

ươ

ư

l nh

ệ print mà ta đã g p:

double

root = Math.sqrt(17.0);

double

angle = 1.5;

double

height = Math.sin(angle);

Ví d đ u tiên đ t

ụ ầ

ặ root b ng căn b c hai c a 17. Ví d th hai đi tìm sin c a giá tr

ụ ứ

ị angle, v n là

1.5. Java

gi thi t r ng nh ng giá tr b n dùng v i

ế ằ

ị ạ

ớ sin và các hàm l ng giác khác (

ượ

cos, tan) đ u tính theo

radian.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.