Š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 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 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.