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. VS2013配置curl

    http://blog.csdn.net/totodum/article/details/51059380 安装完成之后,要注意url的传值, curl中需要传char*

  2. java游戏服务器--简单工厂模式

    先来学习下简单工厂模式! 我们知道在游戏里有很多的场景,例如:帮派场景,副本场景,野外场景... 现在我们有这样的需求: 1.我们需要进入帮派场景时---开始执行帮派任务. 2.我们需要进入副本场景时 ...

  3. flum到kafka 收集数据 存储到redis 案例 (ip.txt)

    ip.scala package ip import org.apache.kafka.clients.consumer.ConsumerRecord import org.apache.kafka. ...

  4. Day03:运算符和表达式 / 分支结构

    Java 运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 字符串运算符 ...

  5. PTA(Basic Level)1011.A+B和C

    给定区间 [−231,231] 内的 3 个整数 A.B 和 C,请判断 A+B 是否大于 C. 输入格式: 输入第 1 行给出正整数 T (≤10),是测试用例的个数.随后给出 T 组测试用例,每组 ...

  6. 洛谷P1600 天天爱跑步——题解

    题目传送 首先要考虑入手点.先考虑一个一个玩家处理,显然不加优化的话,时间复杂度是O(n)的.发现对于玩家路径上的点都有一个观察员,一个都不能忽视,看起来是很难优化了.在做题时,发现一个思路很难想,就 ...

  7. 创建一个py文件并运行

    在 Linux 中,可以直接用vim 或者 vi 来编辑一个 python 文件 vim hello.py 进入编辑页面 #coding:utf-8 print("你好") (因为 ...

  8. List<HashMap<String,String>> list, 根据hashmap中的某个键的值排序

    来源https://blog.51cto.com/zhaodan/1725249 //可以使用Collections.sort(List list, Comparator c)来实现 这里举例hash ...

  9. python 链接mysql

    下载对应版本   安装 https://dev.mysql.com/downloads/connector/python/ 创建链接 # python 链接mysqlimport mysql.conn ...

  10. Jade学习(四)之结合node如何编译执行

    1.首先安装node 2.新建一个文件夹并进入该文件夹 3.安装jade 4.在新建的文件夹下新建js文件,写nodejs代码 5.在vscode中利用插件code runner直接执行js文件,输出 ...