V tomto programu se naučíme převádět dlouhou proměnnou na celé číslo (int) v Javě.
Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:
- Datové typy Java (primitivní)
Příklad 1: Program Java k převodu dlouhého na int pomocí 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 ) )
Ve výše uvedeném příkladu máme long
proměnné typu a a b. Všimněte si řádků,
int c = (int)a;
Zde je vyšší datový typ long
převeden na nižší datový typ int
. Proto se tomu říká zužující se typcasting . Další informace najdete na webu Java Typecasting.
Tento proces funguje dobře, když je hodnota long
proměnné menší nebo rovna maximální hodnotě int
(2147483647). Pokud je však hodnota long
proměnné větší než maximální int
hodnota, dojde ke ztrátě dat.
Příklad 2: Dlouhá konverze na int pomocí toIntExact ()
Můžeme také použít toIntExact()
metodu Math
třídy k převodu 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 ) )
Zde Math.toIntExact(value1)
metoda převede long
proměnnou value1 na int
a vrátí ji.
toIntExact()
Způsob výjimku pokud je vrácená int
hodnota není v rozmezí od int
datového typu. To znamená
// value out of range of int long value = 32147483648L // throws the integer overflow exception int num = Math.toIntExact(value);
Další informace o toIntExact()
metodě najdete v Java Math.toIntExact ().
Příklad 3: Převést objekt třídy Long na int
V Javě můžeme také převést objekt třídy wrapper Long
na int
. K tomu můžeme použít intValue()
metodu. Napří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 ) )
Zde jsme vytvořili objekt Long
třídy s názvem obj. intValue()
Metodu jsme poté použili k převodu objektu na int
typ.
Další informace o třídě wrapper najdete na stránce Java Wrapper Class.