基本类型包装类

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

  将字符串转成基本类型:

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

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

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

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

  自动装箱拆箱

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

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

  1. Integer i = 4;//自动装箱。相当于Integer i = Integer.valueOf(4);
  2. 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类

 

 使用方法:

  1. //abs方法,结果都为正数
  2. double d1 = Math.abs(-5); // d1的值为5
  3. double d2 = Math.abs(5); // d2的值为5
  4. //ceil方法,结果为比参数值大的最小整数的double值
  5. double d1 = Math.ceil(3.3); //d1的值为 4.0
  6. double d2 = Math.ceil(-3.3) ; //d2的值为 -3.0
  7. double d3 = Math.ceil(5.1); // d3的值为 6.0
  8. //floor方法,结果为比参数值小的最大整数的double值
  9. double d1 = Math.floor(3.3); //d1的值为3.0
  10. double d2 = Math.floor(-3.3); //d2的值为-4.0
  11. double d3 = Math.floor(5.1); //d3的值为 5.0
  12. //max方法,返回两个参数值中较大的值
  13. double d1 = Math.max(3.3, 5.5); //d1的值为5.5
  14. double d2 = Math.max(-3.3, -5.5); //d2的值为-3.3
  15. //min方法,返回两个参数值中较小的值
  16. double d1 = Math.min(3.3, 5.5); //d1的值为3.3
  17. double d2 = Math.max(-3.3, -5.5); //d2的值为-5.5
  18. //pow方法,返回第一个参数的第二个参数次幂的值
  19. double d1 = Math.pow(2.0, 3.0); //d1的值为 8.0
  20. double d2 = Math.pow(3.0, 3.0); //d2的值为27.0
  21. //round方法,返回参数值四舍五入的结果
  22. double d1 = Math.round(5.5); //d1的值为6.0
  23. double d2 = Math.round(5.4); //d2的值为5.0
  24. //random方法,产生一个大于等于0.0且小于1.0的double小数
  25. double d1 = Math.random();

Arrays类

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

 

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

大数据运算

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

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

 

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

  四则运算代码:

  1. public static void main(String[] args) {
  2. //大数据封装为BigInteger对象
  3. BigInteger big1 = new BigInteger("12345678909876543210");
  4. BigInteger big2 = new BigInteger("98765432101234567890");
  5. //add实现加法运算
  6. BigInteger bigAdd = big1.add(big2);
  7. //subtract实现减法运算
  8. BigInteger bigSub = big1.subtract(big2);
  9. //multiply实现乘法运算
  10. BigInteger bigMul = big1.multiply(big2);
  11. //divide实现除法运算
  12. BigInteger bigDiv = big2.divide(big1);
  13. }

  

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

 

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

  1. public static void main(String[] args) {
  2. //大数据封装为BigDecimal对象
  3. BigDecimal big1 = new BigDecimal("0.09");
  4. BigDecimal big2 = new BigDecimal("0.01");
  5. //add实现加法运算
  6. BigDecimal bigAdd = big1.add(big2);
  7.  
  8. BigDecimal big3 = new BigDecimal("1.0");
  9. BigDecimal big4 = new BigDecimal("0.32");
  10. //subtract实现减法运算
  11. BigDecimal bigSub = big3.subtract(big4);
  12.  
  13. BigDecimal big5 = new BigDecimal("1.105");
  14. BigDecimal big6 = new BigDecimal("100");
  15. //multiply实现乘法运算
  16. BigDecimal bigMul = big5.multiply(big6);

集合

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

  集合的继承实现关系

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

  1. 源代码:
  2. interface List extends Collection {
  3. }
  4. public class ArrayList extends AbstractList implements List{
  5. } 

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

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

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

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

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

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

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

  创建集合的格式:

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

Iterator迭代器

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

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

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

  进行代码演示:

  1. //1,创建集合对象。
  2. Collection<String> coll = new ArrayList<String>();
  3. coll.add("abc1");
  4. coll.add("abc2");
  5. coll.add("abc3");
  6. coll.add("abc4");
  7.  
  8. //2.获取容器的迭代器对象。通过iterator方法。
  9. Iterator it = coll.iterator();
  10.  
  11. //3,使用具体的迭代器对象获取集合中的元素。参阅迭代器的方法
  12. while(it.hasNext()){
  13.     System.out.println(it.next());
  14. }
  15.  
  16. /*
  17. 迭代器for循环的形式的使用
  18. for (Iterator it = coll.iterator(); it.hasNext(); ) {
  19.     System.out.println(it.next());
  20. }
  21. */

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

Java—包装类/System类/Math类/Arrays类/大数据运算/Collection接口/Iterator迭代器的更多相关文章

  1. java基础(17):包装类、System、Math、Arrays、大数据运算

    1. 基本类型包装类 大家回想下,在第三篇文章中我们学习Java中的基本数据类型时,说Java中有8种基本的数据类型,可是这些数据是基本数据,想对其进行复杂操作,变的很难.怎么办呢? 1.1 基本类型 ...

  2. 7、包装类、System、Math、Arrays、大数据运算

    基本类型封装 基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字 ...

  3. 常用API(包装类、System、Math、Arrays、大数据运算)

    常用API 今日内容介绍 u 基本类型包装类 u System u Math u Arrays u BigInteger u BigDecimal 第1章 基本类型包装类 大家回想下,在第二天我们学习 ...

  4. 17_常用API_第17天(包装类、System、Math、Arrays、大数据运算)_讲义

    今日内容介绍 1.基本类型包装类 2.System类 3.Math类 4.Arrays类 5.大数据运算 01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 ...

  5. JAVA基础之基本类型包装类、System类、Math类、Arrays类及大数据运算

    个人理解: 为了方便运算及调用一些方法,我们需要将基本类型的数值转换为对象:不过转换的时候需要特别注意好它们的类型到底是什么,需要调用方法的类名是哪个!特别注意是Byte常量池的相关问题(==):gc ...

  6. 基本类型包装类、System类、Math类、Arrays类、大数据运算

    1 基本类型包装类 Java中想对8种基本数据类型进行复杂操作很困难. 实际程序界面上用户输入的数据都是以字符串类型进行存储的. 程序开发中,需要把字符串转换成指定的基本数据类型. 1.1基本数据类型 ...

  7. Java常用类:包装类,String,日期类,Math,File,枚举类

    Java常用类:包装类,String,日期类,Math,File,枚举类

  8. [Day17]常用API(System、Math、Arrays、BigInteger、BigDecimal)

    1.基本类型包装类 1.1 8种基本类型对应的包装类 字节型 byte Byte 短整型 short Short 整型 int Integer 长整型 long Long 字符型 char Chara ...

  9. java 基本类型包装类,system类,Math类,Assrays类,大数据运算

    实现字符串与基本数据之间转换 将字符串转成基本数据类型方法 例如:将字符串转成成int类型 String str ="123"; int a =Integer.parseInt(s ...

随机推荐

  1. day6 python while,for 循环控制

    1.1双向循环控制流程 i = 0 while i > 10: #外层循环 j = 10 while j < 0: #内层循环 j -= 1 i += 1 1.1.1 双向循环练习---- ...

  2. C#中的类与对象

    类:说白了就是类型,是对具体事物的一种抽象总结. 对象:一个具体的事物. 类与对象的关系,类实例化就会得到一个对象,同样一个对象也应该属于某一个类.例如张三这个人,他是一个对象,同时他属于人类,在程序 ...

  3. Cooperative Groups

    Cooperative Groups 目录 Cooperative Groups 简介 块内组 thread_block tiled_partition Thread Block Tiles Coal ...

  4. scratch编程体感游戏

    体感游戏有很多种,最常见的就是摄像头和声控了,今天我们要用scratch编写一系列的体感游戏!!!是不是很激动呢? 首先我们来编摄像头类的: No.1拳头打幽灵 挥动头就能打到幽灵了哟! 具体程序如下 ...

  5. Redis Desktop Manager安装

    Windows安装: 1.下载安装包 官网下载地址:https://redisdesktop.com/pricing 官网下载需要付费使用 再此附上一个免费的破解版本,绿色安全可用 链接:https: ...

  6. web自动化 -- HTMLreport(三)测试报告输出log日志

    一.需求痛点 1.HTMLreport没法看到log日志,经过封装的框架不可能走一步就print() 2. 希望可以在HTMLreport中输出log日志 3.痛点截图 二.解决办法 1.既然是HTM ...

  7. 【C++】初次学习C++指针时的一些易混或疑惑的地方

    C++中的指针是一个比较复杂的知识概念,最近我有在学习这一方面的知识,就借此文章记录一下在学习时容易产生的混淆.本人初次发技术类的分享,可能会有纰漏,欢迎诸位指正^_^! 1.*在两种语境下的含义 先 ...

  8. Mysql 的数据导入导出

    一. mysqldump工具基本用法,不适用于大数据备份   1. 备份所有数据库: mysqldump -u root -p --all-databases > all_database_sq ...

  9. smartSVN9.2.2 for mac 安装与破解

    原文链接:https://www.jianshu.com/p/bb87154e0459 近段时间使用svn进行项目管理,开始使用的是cornerstone,但是用过程中出现一个操作Bug,一.在xco ...

  10. 学习python的几个资料网站

    菜鸟教程 https://www.runoob.com/python3/python3-tutorial.html https://www.runoob.com/python/python-tutor ...