您的位置:首页 > 编程语言 > Java开发

JAVA包装类、BigDecimal类、BigInteger类

2013-11-20 05:12 337 查看
一、包装类:包装类的作用是让基本类型数据以对象的形式存在和使用,使得基本类型也可以以面向对象的思想进行开发。
包装类和基本类型对应关系:
基本类型 包装类
int java.lang.Integer
char java.lang.Character
byte java.lang.Byte
short java.lang.Short
long java.lang.Long
double java.lang.Double
float java.lang.Float
boolean java.lang.Boolean

包装类一些常用的变量和方法:
常量:MAX_VALUE:最大值,int最大值+1变成int最小值
MIN_VALUE: 最小值,int最小值-1变成int最大值
方法:int intValue(); 拆箱
Integer valueOf(int a);装箱
parseXXX(String str),将字符串表示的基本数据类型内容转换为这个基本类型数据,转换之前一定要确保字符串是基本数据类型兼容的数据,否则会转换异常报错numberformatException。
将一个数字变成字符串有两种方法:
4+"";
Integer.valueOf(4).toString();
Integer的两个方法:
可以将数字以2进制字符串的形式返回 Integer.toBinaryString(int n);
可以将数字以16进制字符串的形式返回 Integer.toHexString(int n);
public class Demo {
private static Object[] arrays = new Object[10];
private static int index = 0;
public static void add(Object obj){
if(index<arrays.length){
			 arrays[index++] = obj;
}
}
public static void main(String[] args){
String name = "hello";
add(name);
//使用包装类,可以使用add方法了
Integer a = new 	Integer(10);//从基本数据类型到引用类型的过程叫“装箱”
add(a);
int c = a.intValue();//从引用数据类型到基本数据类型的过程叫“拆箱”,拆箱方法为XXXValue(),xxx是引用类型所			    代表的基本类型名
//在java1.5版本以后,推出了自动拆装箱,编译器在编译期做的预处理工作。基本类型和引用类型可以直接的相互赋值

int b= 10;
Integer d =10;//它这里的自动装箱并不是new Integer(10),而是使用Integer.valueOf(10)这种方法装箱,这种方法效		      率高点
int f = d;
add(b);
System.out.println(Integer.MAX_VALUE);
String numStr = "456";
int i = Integer.parseInt(numStr);

i+=1;
String str = i+"";//string str = Integer.valueOf(i).toString();
}
}
二、BigDeciaml类:
java在计算浮点类型时会有舍入误差,java.math.BigDecimal类可以用于计算和描述非常精确的浮点数。
构造方法:BigDecimal(String num)
支持常用的加减乘除运算。
当我们对计算有严格要求时会使用该类,不过在正常开发中double一般都能满足我们的需求。
[code] public class TestBigDecimal {
public static void main(String[] args){
BigDecimal d1 = new BigDecimal("3.0");
BigDecimal d2 = new BigDecimal("2.9");
BigDecimal d3 = d1.subtract(d2);//减法运算
System.out.println(d3);//0.1
/*
* add
* subtract
* multiply
* divide除法,要使用舍入原则,否则当遇到无线小数时,会一直除到溢出
* BigDecimal.ROUND_HALF_UP    四舍五入
*/
BigDecimal d4 = d1.divide(d2,10,BigDecimal.ROUND_HALF_UP);
System.out.println(d4);//1.0344827586
}
}
三、BigInteger类:

java提供的整型中int long 都是有范围的。我们可以使用BigInteger 表示一个范围更大的数字,理论上该值的最大值与内存有关。它也支持加减乘除,和BigDecimal的方法一样使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐