zoukankan      html  css  js  c++  java
  • Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器

    基本类型包装类

      8种基本类型对应的包装类如:

     

       将字符串转成基本类型

       将基本数值转成字符串有3种方式:

        基本类型直接与””相连接即可;34+" "

        调用String的valueOf方法;String.valueOf(34) 

       调用包装类中的toString方法:Integer.toString(11);

       自动装箱拆箱

        自动拆箱:对象自动直接转成基本数值

          自动装箱:基本数值自动直接转成对象

    Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
    i = i + 5;//等号右边:将i对象转成基本数值(自动拆箱) i.intValue() + 5; 加法运算完成后,再次装箱,把基本数值转成对象。

    System类

      currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值

      exit(int status) 用来结束正在运行的Java程序。参数传入一个数字即可。通常传入0记为正常状态,其他为异常状态

      gc() 用来运行JVM中的垃圾回收器,完成内存中垃圾的清除。

      getProperty(String key) 用来获取指定(字符串名称)中所记录的系统属性信息

      arraycopy方法,用来实现将源数组部分元素复制到目标数组的指定位置

    Math类

     

       使用方法:

    //abs方法,结果都为正数
    double d1 = Math.abs(-5); // d1的值为5
    double d2 = Math.abs(5); // d2的值为5
    //ceil方法,结果为比参数值大的最小整数的double值
    double d1 = Math.ceil(3.3); //d1的值为 4.0
    double d2 = Math.ceil(-3.3) ; //d2的值为 -3.0
    double d3 = Math.ceil(5.1); // d3的值为 6.0
    //floor方法,结果为比参数值小的最大整数的double值
    double d1 = Math.floor(3.3); //d1的值为3.0
    double d2 = Math.floor(-3.3); //d2的值为-4.0
    double d3 = Math.floor(5.1); //d3的值为 5.0
    //max方法,返回两个参数值中较大的值
    double d1 = Math.max(3.3, 5.5); //d1的值为5.5
    double d2 = Math.max(-3.3, -5.5); //d2的值为-3.3
    //min方法,返回两个参数值中较小的值
    double d1 = Math.min(3.3, 5.5); //d1的值为3.3
    double d2 = Math.max(-3.3, -5.5); //d2的值为-5.5
    //pow方法,返回第一个参数的第二个参数次幂的值
    double d1 = Math.pow(2.0, 3.0); //d1的值为 8.0
    double d2 = Math.pow(3.0, 3.0); //d2的值为27.0
    //round方法,返回参数值四舍五入的结果
    double d1 = Math.round(5.5); //d1的值为6.0
    double d2 = Math.round(5.4); //d2的值为5.0
    //random方法,产生一个大于等于0.0且小于1.0的double小数
    double d1 = Math.random();

    Arrays类

      此类包含用来操作数组(比如排序和搜索)的各种方法。需要注意,如果指定数组引用为 null,则访问此类中的方法都会抛出空指针异常NullPointerException

     

    //sort方法,用来对指定数组中的元素进行排序(元素值从小到大进行排序)
    //源arr数组元素{1,5,9,3,7}, 进行排序后arr数组元素为{1,3,5,7,9}
    int[] arr={1,5,9,3,7}
    Arrays.sort(arr);
    //toString方法,用来返回指定数组元素内容的字符串形式
    int[] arr = {1,5,9,3,7};
    String str=Arrays.toString(arr);/ str的值为[1, 3, 5, 7, 9]
    //binarySearch方法,在指定数组中,查找给定元素值出现的位置。若没有查询到,返回位置为-1。要求该数组必须是个有序的数组。
    int[] arr = {1,3,4,5,6};
    int index=Arrays.binarySearch(arr,4); //index的值为2
    int index=Arrays.binarySearch(arr,2); //index2的值为-1

    大数据运算

      javalong型为最大整数类型,对于超过long型的数据如何去表示呢.Java的世界中,超过long型的整数已经不能被称为整数了,

      它们被封装成BigInteger对象.BigInteger类中,实现四则运算都是方法来实现,并不是采用运算符.

     

      构造方法中,采用字符串的形式给出整数

      四则运算代码:

    public static void main(String[] args) {
            //大数据封装为BigInteger对象
              BigInteger big1 = new BigInteger("12345678909876543210");
              BigInteger big2 = new BigInteger("98765432101234567890");
              //add实现加法运算
              BigInteger bigAdd = big1.add(big2);
              //subtract实现减法运算
              BigInteger bigSub = big1.subtract(big2);
              //multiply实现乘法运算
              BigInteger bigMul = big1.multiply(big2);
              //divide实现除法运算
              BigInteger bigDiv = big2.divide(big1);
    }

      

       doublefloat类型在运算中很容易丢失精度,造成数据的不准确性,Java提供我们BigDecimal可以实现浮点数据的高精度运算

     

       实现加法减法乘法代码如下

    public static void main(String[] args) {
              //大数据封装为BigDecimal对象
              BigDecimal big1 = new BigDecimal("0.09");
              BigDecimal big2 = new BigDecimal("0.01");
              //add实现加法运算
              BigDecimal bigAdd = big1.add(big2);
              
              BigDecimal big3 = new BigDecimal("1.0");
              BigDecimal big4 = new BigDecimal("0.32");
              //subtract实现减法运算
              BigDecimal bigSub = big3.subtract(big4);
              
              BigDecimal big5 = new BigDecimal("1.105");
              BigDecimal big6 = new BigDecimal("100");
              //multiply实现乘法运算
              BigDecimal bigMul = big5.multiply(big6);

    集合

      ArrayList集合  ArrayList<Integer> list = new ArrayList<Integer>();

      集合的继承实现关系

        查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口。Collection接口为最顶层集合接口了

    源代码:
    interface List extends Collection {
    }
    public class ArrayList extends AbstractList implements List{
    } 

      这说明我们在使用ArrayList类时,该类已经把所有抽象方法进行了重写。那么,实现Collection接口的所有子类都会进行方法重写。  

      Collection接口常用的子接口有:List接口、Set接口

      List接口常用的子类有:ArrayList类、LinkedList

      Set接口常用的子类有:HashSet类、LinkedHashSet

      Collection接口是集合中的顶层接口

      Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。

      一些 collection 是有序的,而另一些则是无序的。

       创建集合的格式:

    方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();
    方式2:Collection 变量名 = new ArrayList();
    //创建集合
    Collection coll = new ArrayList();
    //1,往集合中添加对象元素。add(E e)方法,E代表创建集合时所指定的数据类型如<String>,那么,E就代表String类型;创建集合时若没有指定数据类型,那么,E就代表Object类型。
    coll.add("abc");
    coll.add("ef");
    coll.add("g");        
    //把集合打印一下。
    System.out.println(coll); //打印结果为:[abc, ef, g]
    System.out.println(coll.toString()); //打印结果为:[abc, ef, g]
    //2,从集合中删除元素。remove(Object o)方法
    coll.remove("ef");        
    //删除后,集合元素为[abc, g]
    //3,判断集合中是否包含指定元素。contains(Object o)方法
    System.out.println(coll.contains("abc"));
    //打印结果为true
    System.out.println(coll.contains("ef"));
    //打印结果为false
        
    //4,获取集合元素个数。size()方法
    System.out.println(coll.size());
    //打印结果为2
     
    //5,返回包含集合中所有元素的数组。toArray()方法
    String[] array = coll.toArray();
    //数组中的元素为{"abc", "g"}
     
    //6,清除集合元素。remove()方法
    coll.clear();
    //清空后,集合元素为[],代表没有元素

    Iterator迭代器

      hasNext()方法:用来判断集合中是否有下一个元素可以迭代。如果返回true,说明可以迭代。

      next()方法:用来返回迭代的下一个元素,并把指针向后移动一位。

      Collection接口描述了一个抽象方法iterator方法,所有Collection子类都实现了这个方法,并且有自己的迭代形式。

      进行代码演示:

    //1,创建集合对象。
    Collection<String> coll = new ArrayList<String>();
    coll.add("abc1");
    coll.add("abc2");
    coll.add("abc3");
    coll.add("abc4");
     
    //2.获取容器的迭代器对象。通过iterator方法。
    Iterator it = coll.iterator();
     
    //3,使用具体的迭代器对象获取集合中的元素。参阅迭代器的方法
    while(it.hasNext()){
        System.out.println(it.next());
    }
     
    /*
    迭代器for循环的形式的使用
    for (Iterator it = coll.iterator(); it.hasNext(); ) {
        System.out.println(it.next());
    }
    */

      注意:在进行集合元素取出时,如果集合中已经没有元素了,还继续使用迭代器的next方法,将会发生java.util.NoSuchElementException没有集合元素的错误。

     

  • 相关阅读:
    完全背包笔记
    渗透测试之信息收集常用网站
    结对项目-四则运算"软件"之升级版
    第三次作业:个人项目-小学四则运算“软件”之初版
    分布式版本控制系统Git的安装与使用
    第一次作业:准备
    爬虫综合大作业
    爬取全部校园新闻
    理解爬虫原理
    中文词频统计与词云生成
  • 原文地址:https://www.cnblogs.com/wode007/p/13294162.html
Copyright © 2011-2022 走看看