1. Integer
kelas
Integer
uga apik ing iku kelas, kang tegese iku bisa duwe lapangan lan cara. Lan, mesthi, duwe wong-wong mau. A akèh wong - Welasan wong. Ing kene kita bakal nimbang sing paling dhasar.
Kelas kasebut Integer
nduweni rong kolom sing ngemot nilai maksimum lan minimal saka int
jinis kasebut:
lapangan | Katrangan |
---|---|
|
Nilai maksimum bisa saka int jinis |
|
Nilai paling minimal saka int jinis kasebut |
Kadhangkala sampeyan pengin nemtokake int
nilai sing paling cilik utawa paling gedhe menyang variabel. Kanggo ngindhari kode sampeyan kanthi konstanta sing ora bisa dingerteni, sampeyan bisa nulis iki kanthi cetha kaya ing ngisor iki:
Kode | Katrangan |
---|---|
|
|
Kelas Integer
uga duwe sawetara cara sing menarik. Punika:
Metode | Katrangan |
---|---|
|
Ngasilake string sing minangka perwakilan heksadesimal saka nomer kasebut |
|
Ngasilake string sing minangka perwakilan binar saka nomer kasebut |
|
Ngasilake senar sing minangka perwakilan octal saka nomer kasebut |
|
Wraps liwat int ing Integer obyek |
|
Ngasilake nomer sing dipikolehi saka senar liwati |
Sampeyan sadurunge nemoni cara statis Integer.parseInt()
. Ayo kelingan cara kerjane:
int name = Integer.parseInt(string);
Yen senar sing ngemot nomer (mung digit) diterusake menyang parseInt()
metode kasebut, bakal ngurai senar kasebut lan ngasilake nomer kasebut.
Liyane saka cara uga migunani. Contone, sawetara bisa ngowahi nomer liwati menyang senar ngemot perwakilan binar, octal utawa heksadesimal saka nomer.
2. Double
kelas
Umumé, Double
kelas padha karo Integer
kelas, mung mbungkus a double
tinimbang int
. Uga duwe lapangan lan cara sing bakal dadi kapentingan kanggo kita. Coba sawetara:
Kelas kasebut Double
nduweni enem lapangan sing menarik:
lapangan | Katrangan |
---|---|
|
Negatif tanpa wates |
|
Positif tanpa wates |
|
Eksponen minimal (2 x ) |
|
Eksponen maksimal (2 x ) |
|
Nilai paling minimal saka double jinis kasebut |
|
Nilai maksimum bisa saka double jinis |
tanpa wates
Yen sampeyan dibagi -1.0
dening 0.0
, sampeyan entuk infinity negatif. Yen sampeyan dibagi 1.0
dening 0.0
, sampeyan entuk infinity positif. Ora mung bisa dibagi double
karo nul, nanging sampeyan uga bisa nggunakake nyimpen asil operasi iki.
Eksponen saka adouble
Ngerteni eksponen iku gampang. Sacara internal, dobel kasusun saka mantissa lan eksponen. Nanging ing kene regane eksponen ora , nanging . Mangkono, yen eksponen mundhak dening , Nilai total nomer bakal pindho.10x
2x
1
MIN_EXPONENT == -1024
, kang tegese , kang kira-kira padha karo2-1024
10-308
Lan mesthi, Double
kelas kasebut duwe cara sing menarik:
Metode | Katrangan |
---|---|
|
Ngasilake string sing minangka perwakilan heksadesimal saka nomer kasebut |
|
Priksa manawa nomer liwati iku tanpa wates. |
|
Priksa manawa nomer liwati ikuNaN |
|
Wraps liwat double ing Double obyek |
|
Ngasilake nomer sing dipikolehi saka senar liwati |
Apike, ana isInfinite()
cara sing bali true
yen nomer liwati positif utawa negatif tanpa wates.
Cara kasebut isNaN()
padha - mriksa manawa nomer sing dilewati yaiku NaN
( Not-a-Number , konstanta khusus sing nuduhake nilai sing ora ditemtokake).
3. Character
kelas
Kelas kasebut Character
menarik utamane amarga akeh metode sarana statis sing ngidini sampeyan mriksa apa karakter kalebu macem-macem kategori.
Tuladha
Metode | Katrangan |
---|---|
|
Priksa manawa karakter kasebut minangka karakter alfabet |
|
Priksa manawa karakter kasebut minangka huruf |
|
Priksa manawa karakter kasebut minangka digit |
|
Priksa manawa karakter kasebut minangka spasi, baris, utawa break kaca (kode: 12, 13, 14) |
|
Priksa manawa karakter kasebut minangka spasi putih: spasi, tab, lsp. |
|
Priksa manawa karakter kasebut huruf cilik |
|
Priksa manawa karakter kasebut huruf gedhe |
|
Ngonversi karakter dadi huruf cilik |
|
Ngonversi karakter dadi huruf gedhe |
Fitur saka metode iki yaiku bisa digunakake karo kabeh aksara sing dikenal: Angka Arab diklasifikasikake minangka digit, lsp.
4. Boolean
kelas
Jinis kasebut Boolean
meh padha karo boolean
jinis. Bentenipun minimal.
Ing ngisor iki kita nuduhake versi kelas sing disederhanakake Boolean
:
Kode | Katrangan |
---|---|
|
Konstanta: TRUE и Konstruktor kelas FALSE variabel Cara ngasilake nilai variabel internal Cara statis iki diowahi dadi lan menyang . Boolean true TRUE false FALSE |
Jinis kasebut Boolean
duwe rong konstanta (loro kolom):
Konstanta kelas | Counterpart kanggo jinis boolean | Katrangan |
---|---|---|
|
|
bener |
|
|
palsu |
Sampeyan bisa nggarap dheweke kanthi cara sing padha karo jinis boolean
:
Kode | Cathetan |
---|---|
|
Kelas Boolean iku mung kelas sing bisa ditulis ing sawijining kondisi |
|
Kabeh telung variabel padha karo true /TRUE |
|
Konstanta bisa dibandhingake nggunakake loro equals lan == Iki uga bakal bisa. |
Autoboxing kerjane apik ing kene. Tegese sampeyan bisa nggunakake jinis iki kanthi cara sing padha karo jinis boolean
- ora ana pitfalls sing kudu diwaspadai.
Kepiye carane ditulis | Cara kerjane |
---|---|
|
|
Lan ing kene perbandingan boolean
lan Boolean
jinis:
boolean a = true;
Boolean b = true; // b will be equal to Boolean.TRUE
Boolean c = true; // c will be equal to Boolean.TRUE
a == b; // true (compared by value)
a == c; // true (compared by value)
b == c; // true (compared by reference, but they point to the same object)
Yen sampeyan pancene mbutuhake Boolean
obyek independen, mula sampeyan kudu nggawe kanthi jelas:
boolean a = true;
Boolean b = new Boolean(true); // New Boolean object
Boolean c = true; // c will be equal to Boolean.TRUE
a == b; // true (compared by value)
a == c; // true (compared by value)
b == c; // false (compared by reference, and they point to different objects)
Conto liyane, ing ngendi kita bakal nggunakake ing Boolean
njero if
:
Kode | Cathetan |
---|---|
|
Iki bakal ngumpulake lan bisa |
Iki bakal ngumpulake, nanging ora bisa!
Kode | Cathetan |
---|---|
|
Kesalahan . Baris iki bakal mbuwang pangecualian |
5. Nilai cache sajrone autoboxing
Ana sawetara pitfalls related kanggo jinis pambungkus integer.
Kaya sing wis dingerteni, yen mbandhingake an int
lan Integer
, Integer
diowahi dadi int
:
Kepiye carane ditulis | Cara kerjane |
---|---|
|
|
Yen sampeyan mbandhingake rong Integer
obyek, ora diowahi dadi int
s:
Kode | Output konsol |
---|---|
|
|
a == c
lan , nanging , amarga nalika kita mbandhingaké lan kita mbandhingaké referensi. Kang ateges apa kita bakal nyana.b == c
a != b
a
b
Kaget
Nanging yen kita ngganti 500
karo 100
, banjur kita entuk asil sing beda banget:
Kode | Output konsol |
---|---|
|
|
Masalah ing kene yaiku obyek anyar ora mesthi digawe sajrone autoboxingInteger
. Obyek di-cache kanggo nilai -128
liwat 127
inklusif.
Kelas kasebut Integer
nduweni array sing didhelikake sing nyimpen obyek: Integer(-128)
, Integer(-127)
, ... Integer(126)
,Integer(127)
Yen sampeyan nulis Integer x = 128
, banjur proses autoboxing nggawe obyek anyar, nanging yen sampeyan nulis Integer x = 127
, banjur proses autoboxing njupuk obyek sing wis ana saka cache (saka array).
Yen sampeyan ora pengin Integer
obyek kasebut teka saka cache, sampeyan kudu nggawe kanthi jelas kanthi nulis:Integer x = new Integer(127);
Kabeh jinis pambungkus duwe cache kayata: Integer
, Long
, Byte
, Short
, Boolean
. Kanggo Boolean
jinis, TRUE
lan FALSE
nilai-nilai kasebut minangka konstanta, mula uga ana cache.
GO TO FULL VERSION