首页 > 编程语言 >Java基础(四)

Java基础(四)

时间:2024-02-26 15:23:16浏览次数:19  
标签:Java BigDecimal 迭代 数据类型 基础 集合 public String

Java基础(四)

内容

  • BigInteger类
  • BigDecimal类
  • Arrays类
  • 包装类
  • String类的常用方法
  • 正则表达式
  • Collection集合

1.1 BigInteger类概述

  • 概述 : java.math.BigInteger类是一个引用数据类型 , 可以用于计算一些大的整数 , 当超出基本数据类型数据范围的整数运算时就可以使用BigInteger了。

1.2 构造方法

  • 构造方法 : 可以将整数的字符串 . 转成BigInteger类型的对象

1.3 成员方法

  • 方法声明 描述
    public BigInteger add (BigInteger value) 超大整数加法运算
    public BigInteger subtract (BigInteger value) 超大整数减法运算
    public BigInteger multiply (BigInteger value) 超大整数乘法运算
    public BigInteger divide (BigInteger value) 超大整数除法运算,除不尽取整数部分

2.1 BigDecimal类概述

  • 概述 : java.math.BigDecimal可以对大浮点数进行运算,保证运算的准确性。float,double 他们在存储及运算的时候,会导致数据精度的丢失。如果要保证运算的准确性,就需要使用BigDecimal。

2.2 构造方法

  • 构造方法 :
    • public BigDecimal(String val) : 将 BigDecimal 的字符串表示形式转换为 BigDecimal

2.3 成员方法

  • 成员方法 :

    • 方法声明 描述
      public BigDecimal add(BigDecimal value) 加法运算
      public BigDecimal subtract(BigDecimal value) 减法运算
      public BigDecimal multiply(BigDecimal value) 乘法运算
      public BigDecimal divide(BigDecimal value) 除法运算(除不尽会有异常)
      public BigDecimal divide(BigDecimal divisor, int roundingMode) 除法运算(除不尽,使用该方法)参数说明:scale 精确位数,roundingMode取舍模式 BigDecimal.ROUND_HALF_UP 四舍五入 BigDecimal.ROUND_FLOOR 去尾法 BigDecimal.ROUND_UP 进一法

3.1 Arrays类概述

  • 概述 : java.util.Arrays是数组的工具类,里面有很多静态的方法用来对数组进行操作(如排序和搜索),还包含一个静态工厂,可以将数组转换为List集合(后面会讲到集合知识

3.2 构造方法

  • 构造方法 : private Arrays(){}

  • public static void sort(int[] a) 按照数字顺序排列指定的数组
    public static String toString(int[] a) 返回指定数组的内容的字符串表示形式

4.1 包装类概述

  • 概述 :
    • Java中基本数据类型对应的引用数据类型

4.2 包装类的作用

  • 包装类的作用 :
    • 基本数据类型 , 没有变量 , 没有方法 , 包装类就是让基本数据类型拥有变量和属性 , 实现对象化交互
    • 基本数据类型和字符串之间的转换

4.3 基本数据类型和包装类对应

  • 基本数据类型和包装类的对应关系
    基本数据类型 包装类型
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean

4.4 自动装箱和自动拆箱

  • 自动转型和自动拆箱

    • 自动装箱和拆箱是JDK1.5开始的
    • 自动装箱 : 基本数据类型自动转成对应的包装类类型
    • 自动拆箱 : 包装类类型自动转成对应的基本数据类型
    Integer i1 = 10;
    int i2 = i1;
    

4.5 基本数据类型和字符串之间的转换

  • 使用包装类, 对基本数据类型和字符串之间的转换

    • 在开发过程中数据在不同平台之间传输时都以字符串形式存在的,有些数据表示的是数值含义,如果要用于计算我们就需要将其转换基本数据类型.

    • 基本数据类型--> String

      • 直接在数值后加一个空字符串
      • 通过String类静态方法valueOf()
    • String --> 基本数据类型

      • public static byte parseByte(String s):将字符串参数转换为对应的byte基本类型。
        public static short parseShort(String s):将字符串参数转换为对应的short基本类型。
        public static int parseInt(String s):将字符串参数转换为对应的int基本类型。
        public static long parseLong(String s):将字符串参数转换为对应的long基本类型。
        public static float parseFloat(String s):将字符串参数转换为对应的float基本类型。
        public static double parseDouble(String s):将字符串参数转换为对应的double基本类型。
        public static boolean parseBoolean(String s):将字符串参数转换为对应的boolean基本类型。
  • 注意事项 :

    • 包装类对象的初始值为null(是一个对象)

    • Java中除了float和double的其他基本数据类型,都有常量池

      • 整数类型:[-128,127]值在常量池
      • 字符类型:[0,127]对应的字符在常量池
      • 布尔类型:true,false在常量池
    • 在常量池中的数据 , 会进行共享使用 , 不在常量池中的数据会创建一个新的对象

5.1 String类的常用方法

img

6.1 集合和数组的区别

  • 长度区别
    • 数组 : 长度固定
    • 集合 : 长度可变
  • 存储数据类型
    • 数组 : 可以存储基本数据类型, 也可以存储引用数据类型
    • 集合 : 只能存储引用数据类型 , 要想存储基本数据类型 , 需要存储对应的包装类类型

img

6.3 Collection集合常用的方法

  • 在学习集合体系,一般先学习顶层接口。学习了顶层接口的方法,子类型继承而来的方法,就可以不用重复学习。
    • public boolean add(E e): 把给定的对象添加到当前集合中 。
    • public void clear() :清空集合中所有的元素。
    • public boolean remove(E e): 把给定的对象在当前集合中删除。
    • public boolean contains(Object obj): 判断当前集合中是否包含给定的对象。
    • public boolean isEmpty(): 判断当前集合是否为空。
    • public int size(): 返回集合中元素的个数。
    • public Object[] toArray(): 把集合中的元素,存储到数组中

6.4 迭代器

  • 概述 :
    • 迭代器就是对Iterator的称呼 , 专门用来对Collection集合进行遍历使用的。学习迭代器的目的就是为了遍历集合
  • 注意 :
    • 只有继承/实现Iterable接口才具有迭代的能力
    • Collection接口继承了Iterable接口所以 , Collection及其子类都具备迭代的能力
  • 获取迭代器对象的方式
    • 通过Collection集合对象调用Iterable接口中的iterator方法 , 就可以获取迭代器对象
  • Iterator(迭代器)中的方法
    boolean hasNext() 如果迭代具有更多元素,则返回 true 。
    E next() 返回迭代中的下一个元素。
    default void remove() 从底层集合中删除此迭代器返回的最后一个元素(可选操作)。
  • 迭代器的注意事项
    • 当迭代器迭代元素完成后,不能继续next获取元素,否则会报:NoSuchElementException
    • 当迭代器在使用的过程中,不能使用集合对象直接增删元素。会导致报错ConcurrentModificationException。如果要删除可以使用迭代器来删除

6.5 增强for循环

  • 增强for循环(foreach),专门用来遍历集合或者数组,底层实现使用迭代器

  • 定义格式 :

    for(元素的类型 变量名 : 数组/单列集合 ){
        变量代表的就是集合或者数组的元素
    }
    

标签:Java,BigDecimal,迭代,数据类型,基础,集合,public,String
From: https://www.cnblogs.com/qianyuzz/p/18034405

相关文章

  • 基础知识-GO语言部分
    (240226)资料参考Go语言教程|runoobgolang的类型推断|jb51Golang-100-Days|Github|rubyhanGo语言基础之Context详解|zhihu|程序员祝融基础基本语法Go程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。fmt.Println("Hello,World!")6个标记......
  • Java 基础变量
    基本数据类型:字符型:char,数字类型:整数型:Byte,short,int,long(long 类型的数据一定要在数值后面加上 L,否则将作为整型解析)         浮点型:float,double布尔型:boolean引用类型:String定义变量,变量作用域包装类型:八种基本类型都有对应的包装类分别为:Byte、Sh......
  • JavaSE的第八步 —— 循环语句
    一、循环循环在Java中主要是依靠两个关键字进行 一个是for关键字有关的,另一个是while关键字有关的循环二、for循环for(初始化条件;判断条件语句;迭代因子){语句块};在for循环执行的时候,首先需要执行第一个分号之前的语句,对判断条件进行初始化,之后对判断条件进行比较,如果判断为......
  • Java对接微信V3支付
    微信支付(V3版本)微信支付前期准备:(官方接口文档)获取商户号:微信商户平台 ->我有PC网站 ->接入微信支付->填写资料,提交微信审核(1-2个工作日)->审核通过后,返回微信支付首页,扫码登录->账户中心 ->个人信息,登录账户(商户号) 获取AppID:申请微信公众号(账号类型:服务号)->申请......
  • 【HarmonyOS开发】案例-签名板基础上开发移动白板
    【HarmonyOS开发】案例-签名板基础上开发移动白板:https://mp.weixin.qq.com/s?__biz=MzI0MzQ5NTgxOQ==&mid=2247485266&idx=1&sn=15b550a8141cff0572ae828e8c75cd41&chksm=e96d61b6de1ae8a0963f7eafb47b04a654594b9d04415443a4b85904b5ed0adaaae1480adec5&mpshare=1&sc......
  • JavaScript中的包装类型详解
    JavaScript中的包装类型详解在JavaScript中,我们有基本类型和对象类型两种数据类型。基本类型包括String,Number,Boolean,null,undefined和Symbol。然而,当我们需要在这些基本类型上调用方法时,就需要用到JavaScript的包装类型。什么是包装类型?包装类型是JavaScript中的......
  • Java 使用 itext 向PDF插入数据和图片
    Java使用itext向PDF插入数据和图片一、下载AdobeAcrobatDC二、制作模板1、准备一个word模板,并转换成PDF格式2、使用AdobeAcrobatDC打开PDF文档,并在右侧搜索框搜索表单,点击准备表单 3、点击开始,制作PDF表单 4、扫描完成后如下图,蓝白色框就是可编辑表单......
  • Excelize 开源基础发布 2.8.1 版本,2024 年首个更新
    Excelize是Go语言编写的用于操作电子表格办公文档的开源基础库,基于ISO/IEC29500、ECMA-376国际标准。可以使用它来读取、写入由MicrosoftExcel、WPS、ApacheOpenOffice、LibreOffice等办公软件创建的电子表格文档。支持XLAM/XLSM/XLSX/XLTM/XLTX等多种文档格......
  • 万字Java进阶笔记总结
    JavaApi字符串String注意:Java中“==”操作符的作用:基本数据类型:比较的是内容。引用数据类型比较的是对象的内存地址。StringBuffer/StringBuilder由于String是字符串是常量,它们的值在创建之后不能更改。如果我们使用这个String频繁进行操作,会有性能问题,这个时候就需要......
  • 卡码java基础课 | 4.A+B问题IV
    学习内容:累加操作算术运算符赋值运算符三元运算符重点归纳:三元运算符:c=a>b?a:b;a>b是expresssion表达式,如果这个表达式的判定结果是true的话,则取得?后面第一个值,即a的值,如果判断结果为false的话,则取得:后面的值,即b的值。例题:解:点击查看代码imp......