V tomto programe sa naučíme prevádzať dlhú premennú na celé číslo (int) v Jave.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Dátové typy Java (primitívne)
Príklad 1: Program Java na dlhú konverziu na int pomocou Typecastingu
class Main ( public static void main(String() args) ( // create long variables long a = 2322331L; long b = 52341241L; // convert long into int // using typecasting int c = (int)a; int d = (int)b; System.out.println(c); // 2322331 System.out.println(d); // 52341241 ) )
Vo vyššie uvedenom príklade máme long
premenné typu a a b. Všimnite si riadky,
int c = (int)a;
Tu sa vyšší dátový typ long
prevedie na nižší dátový typ int
. Preto sa tomu hovorí zúženie obsadenia . Ak sa chcete dozvedieť viac, navštívte Java Typecasting.
Tento proces funguje dobre, ak je hodnota long
premennej menšia alebo rovná maximálnej hodnote int
(2147483647). Ak je však hodnota long
premennej väčšia ako maximálna int
hodnota, dôjde k strate údajov.
Príklad 2: konverzia typu long to int pomocou toIntExact ()
Môžeme tiež použiť toIntExact()
metódu Math
triedy na prevod long
hodnoty na int
.
class Main ( public static void main(String() args) ( // create long variable long value1 = 52336L; long value2 = -445636L; // change long to int int num1 = Math.toIntExact(value1); int num2 = Math.toIntExact(value2); // print the int value System.out.println(num1); // 52336 System.out.println(num2); // -445636 ) )
Tu je Math.toIntExact(value1)
metóda prevádza long
variabilný VALUE1 do int
a vráti.
toIntExact()
Spôsob výnimku pokiaľ je vrátená int
hodnota nie je v rozmedzí od int
dátového typu. To znamená,
// value out of range of int long value = 32147483648L // throws the integer overflow exception int num = Math.toIntExact(value);
Ak sa chcete dozvedieť viac o toIntExact()
metóde, navštívte stránku Java Math.toIntExact ().
Príklad 3: Preveďte objekt triedy Long na int
V Jave môžeme tiež previesť objekt triedy wrapper Long
na int
. Na to môžeme použiť intValue()
metódu. Napríklad,
class Main ( public static void main(String() args) ( // create an object of Long class Long obj = 52341241L; // convert object of Long into int // using intValue() int a = obj.intValue(); System.out.println(a); // 52341241 ) )
Tu sme vytvorili objekt Long
triedy s názvom obj. Potom sme pomocou intValue()
metódy previedli objekt na int
typ.
Ak sa chcete dozvedieť viac o triede wrapper, navštívte triedu Java Wrapper.