See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 16754|Vastuse: 0

[Allikas] Java põhilised andmetüübid

[Kopeeri link]
Postitatud 07.04.2015 16:19:13 | | |
Andmetüübid on mälu asukohtade abstraktsed avaldised. Programmeerijad saavad kasutada mitmesuguseid andmetüüpe: mõned on määratletud programmeerimiskeeltega, mõned väliste teekidega ja teised programmeerijate poolt määratletud. Paljud programmeerimiskeeled tuginevad kindlatele arvutitüüpidele ja konkreetsetele kompileeritud andmetüüpide omaduste rakendustele, nagu sõna- ja täisarvuliste andmetüüpide suurus. Teisest küljest vastutab Java virtuaalmasin kõigi sisseehitatud andmetüüpide aspektide määratlemise eest. See tähendab, et ükskõik kui madala taseme operatsioonisüsteem Java Virtual Machine (JVM) töötab, on andmetüüpide omadused täpselt samad.

Lihtsad andmetüübid
Lihtsad andmetüübid on andmetüübid, mida enam ei saa lihtsustada, sisseehitatud andmetüübid, mida määratlevad programmeerimiskeeled ning mis esindavad reaalarvu, märke ja täisarvu. Suuremaid ja keerukamaid andmetüüpe saab määratleda lihtsate andmetüüpide kombinatsiooniga. Enamasti on lihtsatel andmetüüpidel riistvaralised ekvivalendid. Näiteks int lihtsad tüübid salvestatakse mõnikord 32-bitistes riistvararegistrites. Java pakub mitut klassi lihtsaid andmetüüpe, mis esindavad numbreid ja tähemärke.

Lihtsad andmetüübid jagunevad tavaliselt järgmistesse kategooriatesse: reaalarvud, täisarvud, märgid ja boole'id. Need kategooriad hõlmavad omakorda mitmesuguseid lihtsaid tüüpe. Näiteks defineerib Java kaks lihtsat tüüpi: float ja double, mis kuuluvad reaalarvude kategooriasse, ning ülejäänud neli lihtsat tüüpi: bait, lühike, int ja pikk kõik kuuluvad täisarvude kategooriasse. On olemas ka lihtne tüüp, Char, mis omistatakse tegelase tüübile. On olemas ainult üks lihtne boole'i kategooria tüüp: boolean. Tabel A kirjeldab lihtsaid andmetüüpe Javas.

Tabel A Java lihtsad andmetüübid
Lihtne kirjatüübi suurus, vahemik/täpsus
float 4 baidi 32-bitine IEEE 754 ühe täpsusega
kahekordne 8-baidine 64-bitine IEEE 754 topelttäpsus
Bait 1 bait -128 kuni 127
- Short 2 baiti - 32 768 kuni 32 767
int 4 baiti - 2 147 483 648 kuni 2 147 483 647
Pikk 8 baiti - 9 223 372 036 854 775 808 kuni 9 223 372 036, 854 775 807
kogu Unicode märgistiku 2 baiti
boolean 1 bit Tõene või väär

Lihtsad andmetüübid Javas
Kõik Java numbrilised muutujad on allkirjastatud ning Java ei luba suvalist teisendamist andmetüüpide vahel. Numbriliste muutujate vahel on võimalik ainult tüübi teisendamine. Näiteks ei saa booleani teisendada teisteks andmetüüpideks ega teisi andmetüüpe boole'iks.

Kuna Java lihtsad andmetüübid on täpselt määratletud ja otsene mälule ligipääs ei ole lubatud, eemaldatakse Java keeles operaatori suurus.

Java lihtsad andmetüübid ei ole objektid. Selleks, et võtta objektorienteeritud lähenemine Java lihtsatele andmetüüpidele, tuleb need esmalt kapseldada klassidesse.

Pakett
Java pakub ka sisseehitatud kapseldamisklasse nagu Byte, Short, Boolean, Character, Integer, Double, Float ja Long. Need wrapper-klassid pakuvad väga intuitiivset ja praktilist lähenemist. Näiteks Byte, Float, Integer, Long ja Double klassidel on kõik doubleValue() meetod, mis võimaldab teisendada klassi eksemplarides salvestatud väärtusi Double tüüpideks. Samuti pakuvad kõik kapseldatud klassid staatilist väärtusOf(Strings) meetodit, et teisendada antud string vastavaks lihtsaks tüübiks. Loetelu A kood demonstreerib mõningaid nende kapseldamisklasside kasutust.

Lihtne andmetüübi initsialiseerimine
Java-s initsialiseeritakse lihtsad andmetüübid automaatselt vaikimisi, kui need deklareeritakse klassi liikmesmuutujatena, välja arvatud juhul, kui see on selgelt deklareeritud. Lihtsad andmetüübid on meetodid, mis deklareerivad lokaalseid muutujaid, mida automaatselt ei initsialiseerita, ning põhjustavad kompilaatori veateate nagu järgmine: "Muutuja x ei pruugi olla initsialiseeritud." Tabel B määratleb lihtsate andmetüüpide vaikimisi väärtused Javas.
Tabel B vaikimisi Java lihtsate andmetüüpide jaoks
liik
Vaikimisi
Boolean
false
Bait
0
lühike
0
int
0
Pikk
0
Char
′/u0000′
Float
0.0
Kahekordne
0.0

Vaikimisi vaikimisi väärtused Java lihtsate andmetüüpide jaoks
Loetelu B kood näitab, et kõik Java lihtsad andmetüübid kasutavad inisialiseerimise klassi liikmemuutujaid. See näide näitab ka, et int muutuja deklareeritakse lokaalselt Initialization klassi konstruktoris. Ilma ülaltoodud koodi muutmata viskab kompilaator ülaltoodud koodi kompileerimisel vea.
Kui koodirida, mis probleemi põhjustas (kood, mis viitab initsialiseerimata muutujale, mis vea põhjustas) on kustutatud või kommenteeritud. Pärast programmi edukat kompileerimist ja käivitamist kuvatakse järgmised tulemused:

byte: 0
short: 0
int: 0
long: 0
float: 0.0
double: 0.0
char: 0
boolean: false
Samuti saame liikmemuutujad eksplicitselt initsialiseerida teistele väärtustele, nagu on näidatud järgmises koodis:
bait b = 5;
lühike s = 123;
int i = 1234;
pikk l = 12345;
float f = 123,45f;
kahekordne d = 12345,678;
char c = ′A′;
boolean z = tõene;

Kokkuvõte
Java määratleb täieliku hulga lihtsaid andmetüüpe. Lisaks eemaldab Java riistvara ja kompilaatori sõltuvused, mis muutuvad keeleks, võimaldades programmeerijatel suunata tähelepanu teistele probleemidele




Eelmine:JDK, JRE, JVM erinevused ja seosed
Järgmine:Photoshop töötab, palun desinstalli ja paigalda see toode uuesti, kuidas lahendada veakood 16?
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com