BigInteger класы. Барлық қарапайым типтердің мәндернің диапазоны шектелген.Java тілінің бүтін санды арифметикасында толып кету жоқ, бүтін сандар мәндерінің диапазонына тең модуль бойынша келтіріледі.
Java API құрамындағы java.math дестесінде кез келегн разрядтылық бойынша бүтін санды есептеулерге арналған BigInteger класы бар. Бұл класс Number класын кеңейтеді, сондықтан да BigInteger класында doubleValue(),floatValue(),intValue(),longValue() қайта анықталған. Ал byteValue() жәнеshortValue()әдістері қайта анықталмаған. Олар тікелей Number класынан туындайды.
BigInteger класымен жұмыс жасау ешқандай толып кетуге де,модуль бойынша келтіруге де әкелмейді. Егер арифметикалық операция нәтижесі аса үлкен сан болып шықса,онда разрядтар саны артады.
BigInteger класының әдістері : • abs()- берілген this обьектісінде сақталынатын санның абсолюттік мәні бар обьектті қайтарады.
• add(x) - берілген this обьектісіне орындалатын this + х операциясы.
•and(х) - берілген this обьектісіне орындалатын this & х операциясы.
BigDecimal класы. BigDecimal класы да java.math дестесінде орналасқан. BigDecimal класының әрбір объектісі екі бүтін мәнді BigIntger класының обьектісі түрінде нақты санның мантиссасын және санның Іnt типіндегі теріс емес ондық ретін сақтайды. Мысалы 7634862 санының мантиссасы BigIntger класының обьектісі түрінде 7634862 болып оның реті 5 Іnt типіндегі сан ретінде BigDecimal класының обьектісінде сақталады.
BigDecimal класының обьектілерімен орындалатын операцияның нәтижесі төмендегідей статистикалық бүтін тұрақтылармен анықталатын ережелердің бірі бойынша дөңгелектенеді:
• ROUND_CEILING – үлкен бүтін жағына қарай дөңгелектеу.
• ROUND_DOWN – нөлге қарай дөңгелектеу, модуль бойынша кіші бүтін мәнге қарай дөңгелектеу.
• ROUND_FLOOR- кіші бүтін мәнге қарай дөңгелектеу.