Erinevus keskmise ja pika vahel
Sisu
Andmetüübid int ja pikk on Java-s kirjeldatud kahe täisarvandmetüübi hulgas. Java-keeles on tüübid int ja long allkirjastatud, + ve ja -ve väärtused. Java ei toeta allkirjastamata int ja pikka tüüpi. Int ja pika andmetüübi peamine erinevus on iga tüübi laius. Int tüüpi andmetüübi laius on int-tüüpi muutuja jaoks 32-bitine. Teisest küljest on andmetüübi pikk laius 64-bitine pikkutüübi muutuja jaoks. Allolev võrdlustabel näitab mõnda muud erinevust int ja pika vahel.
- Võrdlusdiagramm
- Definitsioon
- Peamised erinevused
- Järeldus
Võrdlusdiagramm
Võrdluse alus | int | pikk |
---|---|---|
Põhiline | Andmetüüp int on 32-bitine. | Andmetüüp pikk on 64-bitine. |
Baidid | Kui arvestada baitides, on int 4 baiti. | Kui arvestada baitides, on pikk 8 baiti. |
Vahemik | Java puhul on int tüübi vahemik –2 147 483 648 kuni 2 147 483 647. | Java puhul on pikk tüübivahemik –9,223,372,036,854,775,808 kuni 9,223,372,036,854,775,807. |
Märksõna | Int tüüpi muutuja deklareerimiseks kasutatav märksõna on "int". | Pikka tüüpi muutuja deklareerimiseks kasutatav märksõna on "pikk". |
Mälu | Int muutuja salvestamiseks vajalik mälu on pikaga võrreldes vähem. | Pika muutuja salvestamiseks vajalik mälu on int-ga võrreldes suurem. |
Int tüübi määratlus
Andmetüüp int on kõige sagedamini kasutatav andmetüüp, millel on täisarv. Väärtus, mida int muutuja hoiab, ei ole liiga lühike ega liiga pikk. Üldiselt kasutatakse int muutuja väärtust silmust muutva muutujana, mis kontrollib silmust, või massiivi indeksmuutujana. Andmetüübi bait ja lühike vahemik on võrreldes andmetüübiga int lühem, kuid need ei saa asendada int, isegi kui int muutuja väärtus on lühem. Selle põhjuseks on see, et kui me kasutame avaldises andmetüübi baiti ja lühikest, siis selle avaldise hindamisel reklaamib kompilaator andmetüübi baiti ja lühikese int. Niisiis võib öelda, et int on parem kasutada kõikjal, kus on vaja täisarvu.
Vaatame int andmetüübi kasutamist.
bait a = 70; bait b = 80; int c = a * b; // pole viga. bait d = a + 10; // Koosta ajaviga.
Nagu ülaltoodud koodis näha, on kaks baidimuutujat a ja b, mis sisaldavad väärtusi 70 ja 80, mis kehtivad baitide vahemikus. Kuid a * b vahetulemus; ületab baiti piiri. Seega reklaamib kompilaator int tüübi sisestamiseks automaatselt bait-, lühi- ja char-muutujaid, kui neid kasutatakse avaldises. Nüüd näete, et * b tulemus omistatakse int muutujale, mis ei põhjusta mingit viga ja kompileerub sujuvalt, kuna muutujad a ja b ülendatakse tüübiks int ja tüübi int omistamine tüübile int ei ' t põhjustada tõrke.
Koodi viimasel real saate näha avaldist, kus väärtus 10 lisatakse baitmuutujale a, selle tulemus ei ületanud siiski baiti limiiti. Kuid avaldise “a + 10” vahetulemuse omistamine baidimuutujale “d” põhjustab kompileerimise ajavea, kuna samal ajal kui avalduse hindamise baidimuutuja “a” reklaamitakse tüübiks int. Ja tüübi int määramine tüüpbaidiks pole lubatud. Seega põhjustab see kompileerimisaja vea.
Pika tüübi määratlus
Andmetüübil pikk on suurim ulatus ja laius võrreldes bait-, lühi- ja int-tüübiga. Java keeles on tüüp pikk 64-bitine allkirjastatud täisarv. Tüüpi pikk kasutatakse juhul, kui tüüp int pole soovitud väärtuse hoidmiseks nii suur. Pikkade vahemik on –9,223,372,036,854,775,808 kuni 9,223,372,036,854,775,807, mis on üsna suur, et hoida suuremaid väärtusi nagu suured täisarvud. Tüübist saame pikalt aru allpool toodud näite abil.
klassi kaal {public static void main (String args) {int item; int wt_per_item; pikad grammid; pikk kast; toode = 10000000; // täpsustage arvuartiklid wt_per_item = 10000; // täpsustage ühe kauba mass kilo grammides = wt_item * 1000; // teisenda kaal grammiks Kast = üksus * grammi; // arvutage kasti kaal grammides System.out.ln ("üksuse arv" + üksus); System.out.ln ("Kaal kauba kohta" + wt_per_item + "kilo"); System.out.ln ("Karbi kaal grammides" + Karp + "kilod"); }} Kauba arv 10000000 Kaal ühiku kohta 10000 kilo Karbi kaal grammides 100000000000000 kilo
Vaadake väljundit ülaltoodud koodis; tulemus arvutatakse kogu kasti massi kohta, mis sisaldab kasti, mis sisaldab 10000000 eset, millest ühe toote kaal on 10000 kilo. Int-muutuja ei saa hoida lahtri massi arvutatud väärtust grammides. Seetõttu on suurte väärtuste arvutamiseks või hoidmiseks mõnikord vaja kasutada pikka tüüpi.
- Põhiline erinevus tüübi int ja pika vahel on nende laiuses, kus int on 32 bitti ja pikk on 64 bitti.
- Tüübid int ja pikad, kui loendada baitides, mitte bittideks, on int tüüp 4 baiti ja tüüp pikk on ainult kaks korda, kui tüüp int, st 8 baiti.
- Jaavas on int tüübi vahemik –2 147 483 648 kuni 2 147 483 647, samas kui tüübi pikk vahemik on –9 223 372 036 854 775 808 kuni 9 223 372 036 854 775 807, mis on palju suurem kui int tüüpi.
- Intüübi muutuja deklareerimiseks kasutatakse märksõna “int”. Teisest küljest on pika tüübi muutuja deklareerimiseks kasutatav märksõna “pikk”.
- Üldiselt on int tüübi väärtuse hoidmiseks vajalikku mälu vähem kui pikka.
Järeldus:
Koodi kirjutamisel, kui on vaja keskmise vahemiku väärtust, võite kasutada tüüpi int, kuid kui ükskõik millise avaldise toodetav väljund on suurem või arvutamiseks kasutatakse suuremaid väärtusi, tuleb hoidmiseks kasutada pikka tüüpi muutujat väärtused.