Kaip „Java“ konvertuoti ilgą į int

Kaip Java Konvertuoti Ilga I Int



„Java“ gali būti tam tikrų situacijų, kai kūrėjas turi efektyviai taupyti atmintį. Pavyzdžiui, duomenų tipo paskirstymas, turintis santykinai mažesnį reikšmių diapazoną, arba papildomų reikšmių pašalinimas. Tokiais atvejais „konvertavimas“ ilgai 'į' int“ Java veikia supaprastinant aritmetines operacijas, kodo sudėtingumą ir užtrunka palyginti mažiau vykdymo laiko.

Šiame straipsnyje bus paaiškinta, kaip „ilgą“ konvertuoti į „int“ programoje „Java“.

Kas yra „ilgas“ ir „int“ Java?

ilgai “ tipas Java svyruoja nuo “ -9223372036854775808 'į' 922337203685477580 “ ir yra paskirta „ 64 “ bitai. „ tarpt 'tipas, tačiau užima' 32 “ bitai nuo “ -2147483648 'į' 2147483647 “. Tai reiškia, kad bet koks skaičius „ tarpt “ tipai gali būti lengvai palaikomi „ ilgai “ tipo, bet taip būna ne visada.







Kaip konvertuoti „ilgą“ į „int“ naudojant „Java“?

Konvertuoti ' ilgai 'į' tarpt “ Java, taikykite šiuos metodus:



1 metodas: „Java“ konvertuoti ilgą į int naudojant „Math.toIntExact()“ metodą

Math.toIntExact() ' metodas Java suteikia ' tarpt “ vertė iš pateiktos “ ilgai “ argumentas. Šis metodas gali būti taikomas norint tiesiog perduoti „ ilgai “ reikšmę kaip savo argumentą ir grąžinkite ją kaip sveikąjį skaičių.



Sintaksė





Matematika . ikiTiksliai ( ilgai val )

Šioje sintaksėje „ ilgas val “ reiškia reikšmę, kurią reikia grąžinti kaip „ tarpt “.

Pavyzdys
Apžvelgsime šį pavyzdį:



viešas klasė longtoint2 {
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
ilgai pasirinkimas1 = 8624675L ;
ilgai val2 = 3482398L ;
tarpt atnaujinimasVal1 = Matematika . ikiTiksliai ( pasirinkimas1 ) ;
tarpt updVal2 = Matematika . ikiTiksliai ( val2 ) ;
Sistema. išeiti . println ( 'Sveikasis skaičius yra: ' + atnaujinimasVal1 ) ;
Sistema. išeiti . println ( 'Sveikasis skaičius yra: ' + updVal2 ) ;
}
}

Šiame kodo fragmente atlikite šiuos veiksmus:

  • Pirmiausia inicijuokite du ilgai “ vertybes.
  • Pastaba: Nurodytas ' L “ vertėse reiškia ir išskiria “ ilgai “ vertės iš “ tarpt “ vertybes.
  • Po to pritaikykite „ Math.toIntExact() ” metodą du kartus ir sukaupti abi inicijuotas ilgas reikšmes kaip parametrą, kad jas konvertuotų į sveikuosius skaičius.
  • Galiausiai konsolėje užregistruokite konvertuotas sveikųjų skaičių reikšmes.

Išvestis

Aukščiau pateiktame rezultate galima išanalizuoti, kad rodomos atitinkamos sveikųjų skaičių reikšmės.

Pastaba: Konvertavimo (ilgo į int) procesas veikia gerai, kai „ ilgai “ yra mažesnė arba lygi maksimaliai „“ reikšmei tarpt “, t.y., (2147483647). Kitu atveju įvyksta klaida ir gali būti prarasti duomenys.

Demonstracija
Pažvelkime į aptartą koncepciją, lemiančią apribojimą:

Aukščiau pateiktame pavyzdyje tiesiog padidinkite pastarąjį ' ilgai “ vertę ir atlikti konversiją. Dėl to susidursite su „ Sveikojo skaičiaus perpildymas ' apribojimas, nes konvertuota vertė viršija ' tarpt “ maksimali riba.

2 metodas: „Java“ konvertuokite ilgą į int naudodami „Siaurą rašymą“

Tipų siuntimas ” atitinka vieno primityvaus duomenų tipo reikšmės priskyrimą kitam. Šiuo atveju „ siaurėjantis tipo liejimas “ įsigalioja nuo aukštesnio tipo duomenų, t. y. „ ilgai “ yra transformuojamas į žemesnį duomenų tipą “ tarpt “. Tai galima pasiekti tiesiog įterpiant reikšmę, kurią reikia transformuoti, po jos nurodant norimą tipą skliausteliuose.

Pavyzdys
Šis pavyzdys paaiškina aptartą koncepciją:

viešas klasė longtoint {
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
ilgai pasirinkimas1 = 647467L ;
ilgai val2 = 348 239L ;
tarpt atnaujinimasVal1 = ( tarpt ) pasirinkimas1 ;
tarpt updVal2 = ( tarpt ) val2 ;
Sistema. išeiti . println ( 'Sveikasis skaičius yra: ' + atnaujinimasVal1 ) ;
Sistema. išeiti . println ( 'Sveikasis skaičius yra: ' + updVal2 ) ;
}
}

Aukščiau pateiktose kodo eilutėse:

  • Taip pat inicijuokite du ilgai “ vertybes.
  • Kitame veiksme pritaikykite „ siauras tipo liejimas “ metodą, įvesdami vertę, kurią reikia konvertuoti, po to norimą tipą, t. y. „ tarpt “.
  • Galiausiai parodykite konvertuotą „ tarpt “ vertės konsolėje.

Išvestis

Šiame išvestyje matyti, kad „ ilgai “ reikšmės konvertuojamos į “ tarpt “ vertybes, tinkamai.

3 metodas: konvertuokite ilgą objektą į int „Java“ naudodami „intValue()“ metodą

intValue() ' metodas Java grąžina susieto skaičiaus reikšmę ' forma ' tarpt “. Šis metodas gali būti įgyvendintas norint tiesiog pakeisti susietą ilgą ' objektų “ į sveikuosius skaičius.

Pavyzdys
Norėdami atlikti konversiją, peržiūrėkite toliau pateiktą pavyzdį:

viešas klasė longtoint3 {
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
Ilgas val1 = naujas Ilgai ( 8624675L ) ;
Ilgas val2 = naujas Ilgai ( 3482398L ) ;
tarpt atnaujinimasVal1 = pasirinkimas1. intValue ( ) ;
tarpt updVal2 = val2. intValue ( ) ;;
Sistema. išeiti . println ( 'Sveikasis skaičius yra: ' + atnaujinimasVal1 ) ;
Sistema. išeiti . println ( 'Sveikasis skaičius yra: ' + updVal2 ) ;
}
}

Aukščiau esančiame kodo bloke:

  • Pirmiausia sukurkite du „ ilgai “ objektus per „ naujas “ raktažodis ir „ Ilgai() “ konstruktorius, atitinkamai.
  • Konstruktoriaus parametruose nurodykite ilgas reikšmes, kurias reikia transformuoti į ' tarpt “.
  • Dabar susiekite „ intValue() “ metodą su abiem sukurtais objektais ir konvertuoti sukauptą “ ilgai “ reikšmės į “ sveikieji skaičiai “ ir parodyti juos.

Išvestis

Aukščiau pateiktas rezultatas reiškia, kad objekto reikšmės konvertuojamos į sveikieji skaičiai “ tinkamai.

Išvada

Jei norite konvertuoti ilgą į int „Java“, taikykite „ Math.toIntExact() “ metodas, „ Siauras tipas “ požiūris arba „ intValue() “ metodas. Šie metodai paverčia inicijuotą ilgąją reikšmę ir objektą į sveikąjį skaičių, jei „ ilgai “ vertė, kurią reikia konvertuoti, neviršija didžiausios „“ vertės tarpt “. Šis tinklaraštis yra skirtas konvertuoti long į int naudojant Java.