2.基本数据类型数据的包装类

局部变量中基本数据类型直接分配在栈中,而对象分配在堆中

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法来操作该数据

包装类主要功能:用于基本数据类型与字符串之间的转换

2.1 Integer类

2.1.1构造方法

Integer 类在对象中包装了一个基本类型 int 的值。
此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

2.1.2包装类和基本数据类型和字符串的转化

        Interger i1=5;//自动装箱
        Interger i2=new Interger(1);
        Interger i3=Interger.valueOf(3);

        int i4 = i1;//自动拆箱
        int i5 = i2.intValue();

        String s1 = 5+"";自动装箱
        String s2 = String.valueOf(3);

String转换成int值的几种方式:
1.int i1 = Integer.parseInt("12");
2.int i2 = new Integer("12").intValue();
推荐第一种方式,这也是包装类的最常用的场景

字符串转换为其它基本数据类型
byte b = Byte.parseByte("15");
float f = Float.parseFloat("1.5");
double d = Double.parseDouble("3.14");

      .toString方法

    Integer i8 = new Integer("3");

2.1.3版本说明

2.1.4int值转换成String

  int值转换成String的4种方式:

  1. String s1 = "" + 10;
  2. String s2 = String.valueOf(10);
  3. String s3 = new Integer(10).toString();
  4. String s4 = Integer.toString(10);

  推荐使用第一,二种方式

2.1.5 debug自动装箱

查看一下拥有调用这个方法所在这个类:

2.1.6练习题

/*
* 不使用构造方法去创建Integer对象(自动装箱)
* 当值在-128 到 +127之间时,实际返回的是缓冲区中的对象的引用.
*
* 反之调用的是valueOf方法-->new Integer(int value)
*
*/
public class IntegerDemo5 { public static void main(String[] args) {
Integer i1 = new Integer(10);
Integer i2 = new Integer(10);
System.out.println(i1 == i2);//比较的是内存地址 false Integer i3 = 200;
Integer i4 = 200;
System.out.println(i3 == i4);//false Integer i5 = 100;
Integer i6 = 100;
System.out.println(i5 == i6);//true
} }

2.2BigInteger类

针对超出Integer表数范围的大数场景,Java提供了BigInteger类,用于大整型数的计算(加减乘除余

BigInteger add(BigInteger val)
  返回其值为 (this + val) 的 BigInteger
BigInteger subtract(BigInteger val)
  返回其值为 (this - val) 的 BigInteger。
BigInteger multiply(BigInteger val)
  返回其值为 (this * val) 的 BigInteger。
BigInteger divide(BigInteger val)
  返回其值为 (this / val) 的 BigInteger。
BigInteger[] divideAndRemainder(BigInteger val)
  返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。

2.3BigDecimal类

针对精确计算的场景,Java提供了BigDecimal类,用于浮点数的精确计算

构造方法:
BigDecimal(double value)
  直接使用double参数的构造方法有一定的不预支性
BigDecimal(String value)
  必须把他转成String类型才会准确

2.4Character类

Character 类在对象中包装一个基本类型 char 的值。

构造方法(只有一个):
Character(char value)
构造一个新分配的 Character 对象,用以表示指定的 char 值。

此外,该类提供了几种方法,

  1. 以确定字符的类别(小写字母,数字,等等),
  2. 并将字符从大写转换成小写,反之亦然。

都是静态方法
boolean isUpperCase(char ch)
boolean isLowerCase(char ch)
boolean isDigit(char ch)
char toUpperCase(char ch)
char toLowerCase(char ch)

java常用类与包装类--包装类的更多相关文章

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

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

  2. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  3. Java 常用类总结(SE基础)

    本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...

  4. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  5. Java常用类之要点总结

    Java常用类之要点总结

  6. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  7. Java常用类归纳(Object、System、Properties、包装类和工具类等等)

    Object类 Object 是类层次结构的根类.每个类都使用 Object 作为超类,所有对象(包括数组)都实现这个类的方法.了解Object的方法是很有必要的. protected Object ...

  8. Java工具类之:包装类

    Java工具类--包装类 我们都知道,JDK 其实给我们提供了很多很多 Java 开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工 ...

  9. java常用类-上

    一,常用类之一包装类 java开发中习惯把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lan ...

  10. 第十四章 Java常用类

    14.常用类 14.1 字符串相关的类 1课时 14.2 JDK 8之前时间日期API 1课时 14.3 JDK8中新时间日期API 1课时 14.4 JDK8中的Optional类 1课时 14.5 ...

随机推荐

  1. 嵌套的JsonObject与JSONArray的取值---JSON中嵌套JSONArray

    在复杂的JSON数据的格式中,往往会对JSON数据进行嵌套,这样取值会比之前的取值稍微复杂一点,但是只要思路清晰,其实取法还是一样的.就跟if else语句一样,如果if中套if,if中再套if,写的 ...

  2. 在webpack搭建的vue项目中如何管理好后台接口地址

    在最近做的vue项目中,使用了webpack打包工具,以前在做项目中测试环境和生产环境的接口地址都是一样的,由于现在接口地址不一样,需要在项目打包的时候手动切换不同的地址,有时候忘记切换就要重新打包, ...

  3. python基本成分

    一.常量 常量即代表不变的量,其实在python里不存在真正不变的量,只不过潜规则在我们想定义一个常量的时候变量名为大写即为常量: 比如:一个人的年纪不断的增长,那么年纪就叫常量,如果这个人死了,那么 ...

  4. 小型自动化运维工具pssh和传输工具rsync

    一.简单介绍 1.pssh全称是parallel-ssh,基于Python编写的并发在多台服务器上批量执行命令的工具.包括pssh,pscp,prsync,pnuke和pslurp.该项目包括pssh ...

  5. 配置java开发环境,存在多个版本JDK时,怎样让所需版本生效

    我本地有个1.7.0的java版本,后来我新装了一个13的版本,但是命令行查java版本的时候,生效的还是1.7.0的版本,经过资料查询以及自身亲测,现将过程记录如下: 1.电脑右键选择--属性--高 ...

  6. 【OpenCV开发】OpenCV:使用VideoCapture类进行视频读取和显示

    原文来自:http://blog.csdn.net/thefutureisour/article/details/7530344 -------------以下为原文---------------这次 ...

  7. 【VS开发】【图像处理】GigE和USB3 vision选择?

    [VS开发][图像处理]GigE和USB3 vision选择? 具体得看你现场的应用吧,如 现场需要的工作距离,网线可达到100m以内,USB3.0一般般的5m以内: GigE双端都有卡扣,保证了与相 ...

  8. 【嵌入式开发】用 VLC 显示 树莓派摄像头 H264 裸流

    首先树莓派连上网络,并和电脑在同一网段. 树莓派的IP是: 192.168.3.13 电脑的IP是: 192.168.3.6 1.在树莓派上采集 H264裸流,并用UDP发送到电脑. pi@Neil- ...

  9. java script 的注释与分号

    // 单行注释 /**/多行注释 在js 中 变量.函数和操作符都是区分大小写的 什么是标识符 变量.函数.属性的名字.或者函数的参数. 变量的命名规范:不能以数字开头. 变量声明: var  nam ...

  10. C语言博客作业06

    一.表格 问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/988 ...