Uvod v pretvorbo tipov v Javi

Ko bodo spremenljivke in konstante različnih vrst sestavljene znotraj izraza, jih lahko spremenimo v podoben tip. Ta tehnika pretvorbe posameznega vnaprej določenega tipa v drugega je znana kot pretvorba tipov v Javi.

Vrsta pretvorbe

Obstajata dve različni vrsti pretvorbe, ki jih uporabljamo v programskih jezikih.

1. Neizmerna pretvorba vrst

Če se pretvorba tipa izvede takoj prek prevajalnika, ne da bi pri tem sodeloval programer, je pretvorba tipa znana kot implicitna pretvorba tipa. Prevajalnik v osnovi spodbudi vsakega operanda k podatkovni vrsti največjega operanda. Nobena izguba podatkov se ne pojavi v celotni pretvorbi podatkov. Ni možnosti, da bi pri pretvorbi vrgli izjemo, zato je znan kot varni za tip. Pretvorba manjše velikosti v preveč večje število lahko pomeni implicitno pretvorbo. Preoblikovanje podatkov celih števil v plavajoče.

float i=0;
int j=10;
i=j;

// To je lahko implicitna transformacija, saj je plovec lahko večji od celega števila, torej ni pomanjkanja podatkov In tudi ni izjema.

2. Izrecna pretvorba tipa

Pretvorba tipa, ki jo je mogoče uveljaviti s pomočjo programerja, je znana kot eksplicitna pretvorba tipa. v bistvu programer naredi izraz, da postane določene vrste. Eksplicitna transformacija tipa je lahko znana kot tipcasting. Med pretvorbo podatkov lahko pride ali ne pride do izgube podatkov. Zato obstaja verjetnost izgube podrobnosti. lahko bi vrglo napako, če bi morda poskusil izvesti brez tipkanja. Preoblikovanje večjega števila v manjše velikosti je lahko eksplicitna pretvorba.

float k=123.456
int i= (int) k

// to je lahko eksplicitna pretvorba, pa tudi, (int) je typecast, operator. Na tej točki nam morda ne bo uspelo izvzeti, vendar lahko ugotovite vidno izgubo podatkov. tj. i = 123

// .456 lahko v postopku pretvorbe opustimo

Vtipkajte pretvorbo v Javi

Tako kot drugi programski jeziki tudi v Javi obstajata dve vrsti pretvorbe:

Neizmerna pretvorba vrst

  • To so ponavadi tako imenovane razširitvene konverzije, ki jih lahko opravimo samodejno, ker prehajamo na širše vrste podatkov. Če imamo 32-bitno celo število in se želimo premakniti na 64-bitno celo število, je to širše. Torej lahko vrednost varno premaknete, tako da je mogoče to storiti implicitno. Prevajalnik se mora odločiti, kako narediti te pretvorbe, pravila pa so precej enostavna.
  • Če imamo v njem izraz z več (Mešanimi) celoštevilčnimi velikostmi, če imamo kratke in dolge, ne glede na največjo velikost celega števila, v katero bodo stvari pretvorjene. Če torej naredimo operacijo s kratkim in dolgim, bo kratek implicitno vključen v nadaljevanje.
  • Če izvedemo operacijo z mešanimi velikostmi s plavajočo vejico, torej imamo plovec in dvojnik, bosta vedno šla v dvojno, ker je dvojna največja velikost s plavajočo vejico.
  • In potem, če imamo operacijo, ki uporablja mešane tipe celih števil in tipov s plavajočo vejico, se bo prevajalnik podaljšal na največjo plavajočo točko v enačbi. Če torej naredimo operacijo z dolgim ​​in na plavu, bo dolga vržena na plapo.
  • Če naredimo operacijo z dolgim ​​in dvojnim, bo dolga nato vržena v dvojno.

Izrecna pretvorba tipa

  • Pri uporabi te funkcije oddajanja izrecno izvajamo kodo. Ko to storimo, prevzemamo odgovornost za vse, kar se zgodi kot posledica te vrste pretvorbe. Zaradi tega lahko izvedemo tako razširjeno pretvorbo kot ozko. Tako se širi s prenosa iz 32-bitnega v 64-bitni in se zoži, od 64-bitnega do 32-bitnega. Želeli bi se samo zavedati, da vemo, kaj se lahko potencialno zgodi.
  • Če naredimo izrecno črto od plavajoče točke do celega števila, torej imajo plavajoče točke delni del, celo število ne more, zato bi kateri koli delni del padel, ko to pomičemo navzdol na celo število.
  • Pri izvedbi zožitvene pretvorbe želite biti previdni. Če imamo 64-bitno celo število, ima zmožnost zadrževanja vrednosti, ki so prevelike, da bi se lahko prilegale v 32-bitno celo število.
  • Če torej 64-bitni prenos dodamo 32-bitnemu, bo program to tudi storil, če pa je vrednost prevelika, da bi se lahko prilegala 32-bitnemu, boste iz tega dobili nekaj nenavadnih rezultatov. Torej želite poskrbeti, da boste, ko ga igrate, delali zožitveno zasedbo, da veste, da je to, kar počnete, varno.
  • In zadnje je samo, da želite biti previdni pri pretvorbi iz celega v plavajočo vejico, ker če imate celo število z velikim številom pomembnih števk, lahko zaradi načina shranjevanja plavajoče točke izgubite nekaj tiste pomembne številke.

Primeri pretvorbe vrst

Spodaj so podrobno navedeni primeri pretvorbe vrst:

Koda:

Tukaj imamo preprost program, nekaj deklaracij na vrhu, float, double, bajt, kratko in dolgo, spremenljivke pa so poimenovane tako, da lažje prepoznajo, kakšne so njihove vrste float, je floatVal,

Koda:

dolg je dolg Val

Koda:

Program pa samo izpiše sporočilo o uspehu, če se zažene.

Pa si poglejmo, kako se tukaj igra nekaj pretvorb vrst. Torej, najprej gremo naprej in ustvarimo spremenljivko. Imamo kratko in to bomo poimenovali rezultat.

Pravzaprav gremo naprej in ga imenujemo rezultat1. In naredimo preprosto nalogo. In zato bomo najprej pripisali byteVal. Zdaj kot smo pričakovali, če gremo naprej in to vodimo, potem tečimo uspešno.

Koda:

Izhod:

Vemo, da je to veljavna dodelitev, ker lahko bajt dodamo v kratek, ker je to razširjena pretvorba.

Če vzamemo ta byteVal in ga namesto tega naredimo longVal, je zdaj dejansko dolg, če to zaženemo, tu dobimo sporočilo o napaki, ki pravi, da je nezdružljiv tip, možna izguba pretvorbe iz dolge v kratko.

Koda:

Torej, kar lahko naredimo tukaj, je, da lahko naredimo izrecno zasedbo. Pred tem bomo kratek. Torej zdaj velja, da ga lahko izvajamo.

Koda:

In seveda deluje. Ker dolga ni mogla preiti v kratko, ker je bila to zožitev pretvorbe.

Izhod:

Toda če postavite izrecno zasedbo pred njo, je zdaj veljavna. Če hočemo, lahko postavimo zapis nobenega zapisa zelo izrecno in rečemo, da veste, vemo, čeprav je pretvorba bajtov zakonita, želimo izrecno pokazati, da jo predvajamo tako, da vanj vstavimo kratek zapis, lahko storimo to in to je povsem legalno.

Koda:

Izhod:

Zdaj pa si oglejmo drug scenarij. Ustvarili bomo drugo spremenljivko, ki jo bomo poimenovali rezultat2 in tudi rezultat2 je kratek. In to, kar želimo narediti tukaj, je, da bomo samo vzeli svoj byteVal in odšteli longVal. Zdaj vemo, da to ni zakonito, saj bo rezultat izraza velikost največjega celotnega števila v njem, to je dolžina.

Koda:

Če to zaženemo, dobimo napako, ki pravi, da ni veljavno pretvoriti dolge v kratke.

Recimo, da želimo iti naprej in ohraniti rezultat kot kratek. Moramo narediti igralsko zasedbo. Ampak želimo, da tokrat predamo, je vrednost celotnega rezultata tukaj. Torej, kar bomo storili, tu postavimo kratko igralsko zasedbo.

Tu postavite kratko igralsko zasedbo. In celotno zadevo zavijte v oklepaje. In teči.

Koda:

Uspešno bo tekel.

Izhod:

Zdaj prijavite še eno spremenljivko, imenovano rezultat3, vendar jo prijavite kot dolgo. Tako smo dobili rezultat 3, in kaj bomo naredili tukaj, bomo dodelili našemu longVal - floatVal. Torej, če to izvedemo, se napaka izgubi, pretvorba se pretvori iz float v dolgo, ker vsakič, ko imamo celo število in kateri koli tip s plavajočo vejico, bo rezultat tip s plavajočo vejico.

Koda:

Zato nadaljujmo in pretvorimo svoj rezultat zdaj v plovec. Tako da bi s tem plovcem morali iti naprej in ga voditi. In uspešno teči.

Koda:

Izhod:

Ampak zdaj, če vzamemo floatVal tukaj in pretvorimo to v doubleVal in če poskusimo to zagnati, dobimo napako, ker piše, da bo rezultat dvojnik, ker ko naredite celo število in plavajočo točko, je velikost največje plavajoče točke v enačbi.

Koda:

Torej, pojdimo naprej in naredimo ta rezultat dvojni, da ga lahko zdaj vodimo.

Koda:

Izhod:

Zaključek

1. Spremenljivke so močno vtipkane v Javi
2. Primitivne vrste

  • Tipi celih števil, tipi s plavajočo vejico, vrsta char, boolov tip

3. Vrsta pretvorbe

  • Pogosto se moramo premikati med različnimi vrstami, ker bodo naši programi, ko bodo postali bolj zapleteni, verjetno vključevali več vrst podatkov.
  • Prevajalnik lahko prenese pretvorbe vrst, ki se širijo in se premikajo od ene vrste do druge, ki lahko vsebujejo večje vrednosti,
  • Kasting lahko uporabite tudi za izrecno izvedbo tistih vrst pretvorb, ki jih prevajalnik ne more samodejno izvesti.

Priporočeni članki

To je vodnik za pretvorbo tipov v Javi. Tukaj razpravljamo o uvodu, pretvorbi tipa v javi, kot je implicitno in nazorno skupaj s primeri z uporabo različnih situacij. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Konstruktor v Javi
  2. Razvrščanje v Javi
  3. Konstruktor v Javi
  4. JCheckBox v Javi
  5. Vrzi proti metanju | Top 5 razlik, ki bi jih morali vedeti
  6. Kako implementirati potrditveno polje v začetnem sistemu
  7. Pretvorba v Javi s primeri