1. double
jinis
Jawa nyedhiyakake double
jinis kanggo nggarap angka nyata (pecahan). Iku manggoni 8 bytes
ing memori (kaping pindho minangka akeh minangka int
jinis) lan bisa nyimpen nilai ing sawetara saka kanggo . Kanggo comparison: jinis bisa nyimpen nilai ing sawetara saka kanggo .-1.7*10308
+1.7*10308
int
-2*109
+2*109
Ing nomer nyata, bagean pecahan ditulis sawise titik desimal. Contone, 123.456, utawa 2.5, utawa 100.00, utawa 0.01. Nalika komputer menehi hasil karo nomer kuwi, kita nelpon nomer floating point .
Miturut cara, saliyane double
jinis, kita uga duwe float
jinis (sing ukurane mung 4 bait). Jeneng kasebut asale saka titik ngambang . Lan jeneng kasebut double
asale saka dobel float . A double
kaping pindho luwih gedhe tinimbang float
: 8 bytes
lawan 4
. Iki uga disebut nomer floating-point presisi ganda .
2. Nggawe double
jinis
Jinis pindho digunakake kanggo nyimpen nomer nyata. Kanggo nggawe variabel ing kode sing bisa nyimpen nomer nyata, sampeyan kudu nggunakake statement kaya iki:
double name;
Where jeneng iku jeneng variabel. Tuladha:
Pratelan | Katrangan |
---|---|
|
Variabel nyata price digawe |
|
Variabel nyata weight digawe |
|
Variabel nyata lightSpeed digawe |
Minangka jinis int
, sampeyan bisa nggunakake shorthand kanggo nggawe macem-macem double
variabel bebarengan:
double name 1, name 2, name 3;
Lan malah langsung menehi nilai kanggo wong-wong mau:
double name 1 = value 1, name 2 = value 2, name 3 = value 3;
Tuladha:
Pratelan | Cathetan |
---|---|
|
Toko variabel5.0 |
|
Toko variabel2.0 |
|
3. Nemtokake integer lan wilangan nyata
Iku bakal ala yen integer bisa diutus mung kanggo int
variabel, lan nomer nyata - mung kanggo double
variabel. Kita pengin bisa ngowahi antarane rong jinis nomer kasebut. Lan Jawa nyedhiyakake kemampuan iki.
Kaping pisanan, nomer nyata lan integer bisa ditugasake menyang double
variabel. Nalika nemtokake integer, mung diowahi dadi nomer nyata. Mesthi, sawetara akurasi bisa ilang ing proses kasebut.
Pratelan | Cathetan |
---|---|
|
Toko variabel5.0 |
|
Toko variabel2.0 |
|
Toko x variabel1000000.0 |
Kapindho, yen integer lan nomer nyata melu sawetara expression, banjur integer pisanan diowahi menyang nomer nyata lan mung banjur operasi karo nomer nyata liyane dileksanakake.
Pratelan | Cathetan |
---|---|
|
Toko x variabel5000.0 |
|
Nomer 10 bakal ditampilake ing layar |
|
Nomer 10.0 bakal ditampilake ing layar |
Lan pungkasanipun, iku uga bisa kanggo nemtokake nomer nyata kanggo int
variabel. Nalika kita nindakake iki, bagean pecahan saka nomer nyata dibuwak - nomer dibunderaké mudhun kanggo nomer wutuh paling cedhak.
Kajaba iku, compiler mbutuhake programmer kanggo nyathet kanthi jelas apa sing kedadeyan (kanggo mesthekake yen programer liyane ngerti yen bagean pecahan dibuwang). Umumé, konversi kasebut katon kaya iki ing kode:
integer_variable = (int)(real_number);
Tuladha:
Pratelan | Cathetan |
---|---|
|
Toko x variabel5 |
|
Toko x variabel5 |
|
Toko x variabel11 |
4. Pembagian wilangan bulat lan wilangan riil ing basa Jawa
Nalika mbagi integer kanthi integer, sisane tansah dibuwang. Kepiye carane kita bisa dibagi 5
kanggo 2
entuk 2.5
?
Kaping pisanan, misale jek pilihan sing bener yaiku:
double d = 5 / 2;
Nanging ora dadi prasaja. Masalah ing kene yaiku mesin Java ngetung nilai 5 / 2
lan mung banjur menehi asil menyang d
variabel. Lan 5 / 2
operasi iku divisi integer. Tegese d
bakal ngemot 2
utawa, luwih tepat,2.0
Solusi sing bener yaiku nulis paling ora siji saka nomer sing melu divisi minangka nomer nyata (yaiku kanthi titik desimal):
double d = 5.0 / 2;
double d = 5 / 2.0;
double d = 5.0 / 2.0;
Ing saben ekspresi, d
bakal ngemot2.5
Nanging apa yen kita nggarap variabel? Apa yen kita duwe kode kaya iki?:
int a = 5;
int b = 2;
double d = a / b;
Ana solusi sing apik (lan jelas) ing kene - meksa mesin Java kanggo ngowahi variabel dadi nomer nyata kanthi dikali dadi siji minangka nomer nyata ( 1.0
)
int a = 5;
int b = 2;
double d = a * 1.0 / b;
Elinga yen perkalian lan divisi nduweni precedence sing padha, lan ditindakake saka kiwa menyang tengen. Tegese sing penting ngendi kita Multiply 1.0.
Tuladha:
Pratelan | Urutan eksekusi | asil |
---|---|---|
|
(1.0 * a) / b; |
2.5 |
|
(a * 1.0) / b; |
2.5 |
|
(a / b) * 1.0; |
2.0 |