使用包

Java 的数据类型与异常

Jim White

Java Developer

什么是 Java 包?

  • 包用于组织 Java 代码
    • 包就像文件夹/目录
    • 将相关代码(类、接口、枚举等)组合在一起
  • 类似文件夹
    • 每个包都有名称

Java 包就像用于组织代码的文件夹和文件柜

1 图片来自 https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Java 的数据类型与异常

包的类型

  • 内置包
    • Java 自带
    • 名称以 "java" 或 "javax" 开头
  • 自定义包
    • 我们自己定义的包
    • 来自第三方的包
Java 的数据类型与异常

包名

  • 包名有约定
    • 全小写
    • 用句点(.)分隔各部分
  • 内置包
    • javajavax 开头
    • 其余部分表明用途
  • 自定义包名
    • 以组织域名的反写开头
    • 其余部分表明功能
  • 内置包示例

    java.security
    java.time
    
  • 自定义包名示例

    com.mycompany.myproject
    com.mycompany.myproject.account
    com.mycompany.myproject.controller
    com.mycompany.myproject.ui
    
Java 的数据类型与异常

内置包

一些常用的内置包

包含/提供
java.lang 基础语言支持类
java.io 输入/输出操作
java.util.logging 日志框架
java.math 高精度整数与小数运算
java.net 网络操作
java.util 日期/时间与数据结构(如 LinkedList、Dictionary)及支持
java.security 安全框架
Java 的数据类型与异常

java.math

  • java.math 提供算术相关的类
    • 用于密码学、科学计算和货币/金额应用
  • BigInteger 表示大整数
    • 处理超出 intlong 的整数
    • 处理几乎不限位数的整数
  • BigDecimal 表示非常大或非常小的浮点数
    • 解决 floatdouble 的舍入误差
Java 的数据类型与异常

使用包

  • 在文件顶部使用 import + 包名
import java.math.BigInteger;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
}
  • 包可包含多个类型。
    • 使用 * 导入包内所有类型
import java.math.*;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
  BigDecimal pi = new BigDecimal("3.14");
}
Java 的数据类型与异常

java.math 中的 BigInteger 与 BigDecimal

  • BigIntegerBigDecimal 是大数的封装类
  • String 或数字构造
  • 提供 addsubtractmultiplydivide 方法
  • 还有如 pow(幂)等方法
// 导入放在类的顶部
import java.math.BigInteger;
import java.math.BigDecimal;

// 用字符串创建 BigInteger 或 BigDecimal
BigInteger big = new BigInteger("1000");
BigInteger ten = new BigInteger("10");
BigDecimal pi = new BigDecimal("3.14");
// 用基元创建 BigDecimal
BigDecimal one = new BigDecimal(1.0);
BigInteger x = big.add(ten); // = 1010
BigDecimal y = pi.add(one); // = 4.14
BigInteger bigSqr = big.pow(2); // = 1000000
BigDecimal piCubed = pi.pow(3); // = 30.959144
Java 的数据类型与异常

BigInteger 与 BigDecimal 的方法

方法 说明
abs() 取绝对值
add(x) 将 x 加到整数或小数上
divide(x) 用 x 去除该整数或小数
multiply(x) 将该整数或小数乘以 x
negate() 取相反数
pow(int x) 该整数或小数的 x 次幂
subtract(x) 从该整数或小数中减去 x
1 参见 https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html 和 https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html
Java 的数据类型与异常

无需导入的情况

  • 重要:java.lang 包会自动导入。
    • 使用 java.lang 中的任何内容都无需显式导入
  • java.lang 包含 SystemString、包装类和 Exception
    • 这就是我们能在未见导入时学习和使用基础语法元素的原因。
Java 的数据类型与异常

¡Vamos a practicar!

Java 的数据类型与异常

Preparing Video For Download...