数值
数值
本节首先讨论 java.lang 包中的 Number 类及其子类,并说明在哪些情况下应使用这些类的实例化而非基本数值类型。
本节还介绍了 PrintStream 和 DecimalFormat 类,它们提供了用于写入格式化数值输出的方法。
本节首先讨论 java.lang 包中的 Number 类及其子类,并说明在哪些情况下应使用这些类的实例化而非基本数值类型。
本节还介绍了 PrintStream 和 DecimalFormat 类,它们提供了用于写入格式化数值输出的方法。
Java语言提供了多种创建不可变类的方法。最直接的方式可能是创建一个包含final字段和构造函数的final类,用于初始化这些字段。以下是一个此类类的示例。
public class Point {
private final int x;
private final int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
枚举是所有实例均被编译器所知的类。它们用于创建仅能取少数可能值的类型。
枚举的创建方式与类类似,但需使用枚举关键字(enum)替代类关键字(class)。枚举主体中包含一组称为枚举常量的实例列表,各常量以逗号分隔。除枚举常量之外,无法创建枚举的其他实例。
public enum DayOfWeek {
// enum constants are listed here:
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
所有枚举类型都隐式继承自 java.lang.Enum,且不能有任何子类。
Java 编程语言允许你在另一个类内部定义类。此类称为嵌套类,示例如下:
class OuterClass {
...
class NestedClass {
...
}
}
术语:嵌套类分为两类:非静态类和静态类。非静态嵌套类称为内部类。声明为静态的嵌套类称为静态嵌套类。
方法或构造函数的声明用于指定该方法或构造函数的参数数量和类型。例如,以下方法根据贷款金额、利率、贷款期限(期数)以及贷款的未来价值来计算住房贷款的月供:
public double computePayment(
double loanAmt,
double rate,
double futureValue,
int numPeriods) {
double interest = rate / 100.0;
double partial1 = Math.pow((1 + interest),
- numPeriods);
double denominator = (1 - partial1) / interest;
double answer = (-loanAmt / denominator)
- ((futureValue * partial1) / denominator);
return answer;
}