如果基本的整数和浮点数精度不能够满足,那么可以使用java.math包中的两个类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
使用静态的valueOf方法可以将普通的数值转换为大数值。
代码片段
BigInteger a = BigInteger.valueOf(100);
不可以使用算数运算符(+和*)处理大数值,而需要使用大数值类中的add和multiply方法
BigInteger b = BigInteger.valueOf(100);
BigInteger a = BigInteger.valueOf(100);
BigInteger c = a.add(b);
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));
System.out.println(a);//输出100
System.out.println(c);//输出200
System.out.println(d);//输出20400
数组
从书上定义上讲:用来存储同一类型值的集合。
在声明数组变量的时候,需要写出数组类型和数组变量的名字。
int[] a;//声明了整型数组a
int[] a = new int[100];//创建了一个可以存储100个整数的数组
其中数组长度未必一定是常量,也可以是n
一旦创建了数组,就可以给数组赋值
代码片段
int[] a = new int[100];
for(int i=0;i<=99;i++)
a[i] = i;
System.out.println(Arrays.toString(a));//输出1-99的数组
创建一个数组时,所有元素都初始化为0.boolean数组的元素会初始化为false。对象数组的元素则会初始化为null。想要获取数组中元素的个数:
代码片段
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
数组一旦创建,就不能改变其大小(可以改变其中单个的数组元素),如果需要在运行过程中扩展数组的大小,就应该使用另一种数据结构数组列表(array list)。
for each循环(可以用来依次处理数组中的每个元素)
代码片段
for ( 变量类型 变量名 : 数组名 ) {
需要执行的循环语句;
}
数组初始化
int[] data = {2,4,6,8,10,11,12,13,15,16,19,20};
int x = 0;
boolean found = false;
// for(int i=0;i<=99;i++)
// a[i] = i;
// System.out.println(Arrays.toString(a));
System.out.println("随便输入一个数");
Scanner in = new Scanner(System.in);
x=in.nextInt();
for(int k:data) {
if(k==x) {
found = true;
}
}
if(found) {
System.out.println("true");
}else {
System.out.println("false");
}in.close();