目录
一、包装类
1.1 概述
Java提供了8种基本数据类型,但它们的操作功能有限。因此,Java为每种基本类型提供了对应的包装类,这些包装类都位于java.lang
包下。
基本类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
1.2 常用API
-
自动装箱与拆箱
Java支持基本类型与其包装类之间的自动转换,称为自动装箱与拆箱。
@Test public void testInteger01() { Integer i = 1; // 自动装箱 System.out.println(i); // 输出:1 } @Test public void testInteger02() { Integer i = new Integer(1); int i2 = i; // 自动拆箱 System.out.println(i2); // 输出:1 }
-
字符串转基本类型
包装类提供了
parseXXX
静态方法将字符串转换为对应的基本类型。@Test public void testInteger03() { int i = Integer.parseInt("99"); System.out.println(i); // 输出:99 }
-
包装类转基本类型
@Test public void testInteger04() { Integer it = new Integer(100); int i = it.intValue(); System.out.println(i); // 输出:100 }
二、 BigInteger类
-
概述
BigInteger
用于处理任意精度的整数运算。 -
常用方法
@Test public void testBigInteger01() { // 创建两个 BigInteger 对象,b1 和 b2,初始值均为 "1000" BigInteger b1 = new BigInteger("1000"); BigInteger b2 = new BigInteger("1000"); // 使用 add() 方法将 b1 和 b2 相加,并输出结果 System.out.println(b1.add(b2)); // 输出:2000 // add() 方法用于对两个 BigInteger 对象执行加法操作 // 结果为 b1 + b2,即 1000 + 1000 = 2000 // 使用 subtract() 方法将 b2 从 b1 中减去,并输出结果 System.out.println(b1.subtract(b2)); // 输出:0 // subtract() 方法用于对两个 BigInteger 对象执行减法操作 // 结果为 b1 - b2,即 1000 - 1000 = 0 // 使用 multiply() 方法将 b1 和 b2 相乘,并输出结果 System.out.println(b1.multiply(b2)); // 输出:1000000 // multiply() 方法用于对两个 BigInteger 对象执行乘法操作 // 结果为 b1 * b2,即 1000 * 1000 = 1000000 // 使用 divide() 方法将 b1 除以 b2,并输出结果 System.out.println(b1.divide(b2)); // 输出:1 // divide() 方法用于对两个 BigInteger 对象执行除法操作 // 结果为 b1 / b2,即 1000 / 1000 = 1 }
三、 BigDecimal类
-
概述
BigDecimal
用于处理任意精度的浮点数运算。 -
常用方法
public static void main(String[] args) { // 创建两个 BigDecimal 对象,b1 和 b2 BigDecimal b1 = new BigDecimal("1000.05"); BigDecimal b2 = new BigDecimal("1000.05"); // 使用 add() 方法将 b1 和 b2 相加,并输出结果 System.out.println(b1.add(b2)); // 输出:2000.10 // add() 方法用于对两个 BigDecimal 对象执行加法操作 // 使用 subtract() 方法将 b2 从 b1 中减去,并输出结果 System.out.println(b1.subtract(b2)); // 输出:0.00 // subtract() 方法用于对两个 BigDecimal 对象执行减法操作 // 在这个例子中,b1 和 b2 的值相同,减法结果为 0.00 // 使用 multiply() 方法将 b1 和 b2 相乘,并输出结果 System.out.println(b1.multiply(b2)); // 输出:1000100.0025 // multiply() 方法用于对两个 BigDecimal 对象执行乘法操作 // 计算结果为 1000.05 * 1000.05 // 使用 divide() 方法将 b1 除以 b2,并输出结果 System.out.println(b1.divide(b2)); // 输出:1 // divide() 方法用于对两个 BigDecimal 对象执行除法操作 // 因为 b1 和 b2 相等,除法结果为 1 }
四、
DecimalFormat
类4.1 概述
java.text.DecimalFormat
是NumberFormat
的一个具体子类,用于格式化十进制数字。它提供了强大的功能,可以解析和格式化任意语言环境中的数值,支持西方、阿拉伯和印度数字,能够处理整数、定点数、科学记数法、百分数和货币等多种数值类型。DecimalFormat
的灵活性使其成为格式化数字的首选工具。4.2 代码演示
以下是一些
DecimalFormat
的典型用法示例:public static void main(String[] args) { double pi = Math.PI; // 圆周率 // 取一位整数 System.out.println(new DecimalFormat("0").format(pi)); // 输出: 3 // 取一位整数和两位小数 System.out.println(new DecimalFormat("0.00").format(pi)); // 输出: 3.14 // 取两位整数和三位小数,整数不足部分以0填补 System.out.println(new DecimalFormat("00.000").format(pi)); // 输出: 03.142 // 取所有整数部分 System.out.println(new DecimalFormat("#").format(pi)); // 输出: 3 // 以百分比方式计数,并取两位小数 System.out.println(new DecimalFormat("#.##%").format(pi)); // 输出: 314.16% long c = 299792458; // 光速 // 显示为科学计数法,并取五位小数 System.out.println(new DecimalFormat("#.#####E0").format(c)); // 输出: 2.99792E8 // 显示为两位整数的科学计数法,并取四位小数 System.out.println(new DecimalFormat("00.####E0").format(c)); // 输出: 29.9792E7 // 每三位以逗号进行分隔 System.out.println(new DecimalFormat(",###").format(c)); // 输出: 299,792,458 // 将格式嵌入文本 System.out.println(new DecimalFormat("光速大小为每秒,###米。").format(c)); // 输出: 光速大小为每秒299,792,458米。 }
这些示例展示了
DecimalFormat
在不同情境下的使用方法,显示了它在数值格式化中的强大功能。五、
Enum
类5.1 概述
在开发过程中,经常需要处理一组有限的常量,例如星期几、月份等。在JDK1.5之前,开发者通常通过一系列静态常量来实现,但这种方法存在一些操作上的不便。为此,Java在1.5版本引入了枚举类型
Enum
,用来更好地处理这类需求。5.2 枚举的使用
语法定义
枚举类型的定义语法非常简单:
enum 枚举名称 { 枚举常量, 枚举常量, 枚举常量... }
代码演示:
public enum Genders { MALE, FEMALE; }
在上述代码中,
MALE
和FEMALE
是枚举常量,且默认类型为Genders
。枚举变量的使用
定义枚举变量并为其赋值的示例:
@Test public void testEnum01() { Genders person = Genders.MALE; System.out.println(person); // 输出: MALE }
枚举不仅可以定义常量,还可以包含属性、构造方法、成员方法等。枚举的构造方法必须是
private
修饰的,且不能继承其它类,但可以实现接口。5.3 常用API
由于枚举类型继承自
Enum
类,因此所有枚举类型都可以使用Enum
类中的方法。常用的几个方法如下:@Test public void testEnum02() { Genders person = Genders.FEMALE; System.out.println(person.name()); // 输出: FEMALE System.out.println(person.ordinal()); // 输出: 1 Genders p1 = Enum.valueOf(Genders.class, "MALE"); System.out.println(p1.name()); // 输出: MALE System.out.println(p1.ordinal()); // 输出: 0 }
如果这篇文章对你有帮助可以给我一个免费的赞和关注,这是我持续更新的动力!