在劫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
大数值

如果基本的证书和浮点数不能满足需要,可以使用java.math包中的两个类BigInteger和BigDecimal。这两个类可以出来包含任意长度数字序列的数值。BigInteger实现任意精度的整数运算,BigDecimal实现任意精度的浮点数运算。

使用静态方法valueOf方法可以将普通的数值转换为大数值

BigInteger bi = BigInteger.value(..);

大数值不能使用普通的加减乘除,需要使用类中的方法进行运算

BigInteger a = BigInteger.valueOf(100);
BigInteger b = BigInteger.valueOf(200);
BigInteger c = a.add(b);    //加法
BigInteger d = a.multiply(b);    //乘法 
数组

数组是一种数据结构,用来存储统一类型值的集合

定义数组:
    int[] i;    //习惯使用这种
    int i[];

for each循环

for(variable : colletion){
    //statement
}

数组初始化以及匿名数组

//初始化
int[] arrayTest2 = {1, 2, 3, 4};
//初始化匿名数组
new int[]{...}

允许创建一个长度为0的数组,数组长度为0与null不同。

将一个数组变量拷贝给另一个变量,两个变量将引用统一数组

    public class ArrayTest1{
    public static void main(String[] args){
        int[] a = {1, 3, 4, 6};
        int[] b = a;
        for(int c : a){
            System.out.println("数组a: " + c);
        }
        for(int c : b){
            System.out.println("数组b: " + c);
        }
        
        System.out.println("--------------");
        
        //两个变量引用的是同一个数组,其中一个变量去改变数组的结果
        //另一个变量引用到的就是改变了的结果
        b[1] = 233;
        //a[1]和b[1]的值都为233,引用的是同一数组
        for(int c : a){
            System.out.println("数组a: " + c);
        }
        for(int c : b){
            System.out.println("数组b: " + c);
        }
    }
}

将一个数字中所有的值拷贝给另一个数组

import java.util.Arrays;
public class ArrayTest1{
    public static void main(String[] args){
        int[] a = {1, 3, 4, 6};
        //拷贝数组的所有值到另一个数组
        int[] b = Arrays.copyOf(a, 4);
        for(int c : a){
            System.out.println("数组a: " + c);
        }
        for(int c : b){
            System.out.println("数组b: " + c);
        }
        
        System.out.println("--------------");

        b[1] = 233;
        //b[1]的值改变了不影响a[1]的值,两个不属同一数组。
        for(int c : a){
            System.out.println("数组a: " + c);
        }
        for(int c : b){
            System.out.println("数组b: " + c);
        }
    }
}

数组元素是数值型,那么多余的元素被赋值为0;数组元素布尔型,赋值为false;如果长度小于原始数组长度,则只拷贝前面的元素。

如果要对数组元素进行排序,使用Arrays类中的sort方法

import java.util.Arrays;
public class ArrayTest1{
    public static void main(String[] args){
        int[] a = {11, 34, 443, 123, 421};
        //排序
        Arrays.sort(a);
        for(int c : a){
            System.out.println("数组a: " + c);
        }
    }
}

输出数组的三种方法:

import java.util.Arrays;
public class ArrayTest1{
    public static void main(String[] args){
        int[] a = {11, 34, 443, 123, 421};
        //for循环
        System.out.println("for循环");
        for(int c : a){
            System.out.println( c);
        }
        System.out.println("for迭代");
        for(int i = 0; i < a.length; i++){
            System.out.println(a[i]);
        }
        System.out.println("Arrays.toString(a)方法");
        System.out.println(Arrays.toString(a));
        
    }
}

 

posted on 2019-04-17 01:56  在劫  阅读(197)  评论(0编辑  收藏  举报