Java常量案例怎么声明使用

wen java案例 29

本文目录导读:

Java常量案例怎么声明使用

  1. 基本语法
  2. 不同位置的常量声明
  3. 完整案例:计算圆形面积
  4. 常量与枚举结合使用
  5. 常见常量类型示例
  6. 使用常量的最佳实践

在Java中,常量是指在程序运行过程中值不能被改变的变量,Java中通常使用final关键字来声明常量。

以下是常量声明和使用的完整案例:

基本语法

final 数据类型 常量名 = 初始值;

命名规范:常量名通常使用全大写字母,单词之间用下划线分隔。

不同位置的常量声明

局部常量(方法内部)

public class ConstantDemo {
    public void testLocalConstant() {
        // 方法内部的常量
        final double PI = 3.14159;
        final int MAX_COUNT = 100;
        System.out.println("PI = " + PI);
        System.out.println("MAX_COUNT = " + MAX_COUNT);
        // PI = 3.14;  // 编译错误!常量不能被重新赋值
    }
}

成员常量(实例变量)

public class Circle {
    // 实例常量:每个对象都有自己的常量,但一旦创建就不能修改
    public final double PI = 3.14159;
    public final int SIDES;
    // 构造方法中初始化空白final变量
    public Circle(int sides) {
        this.SIDES = sides;  // 可以在构造方法中赋值一次
    }
}

静态常量(类级别,最常用)

public class MathConstants {
    // 静态常量:类的所有对象共享,使用static final
    public static final double PI = 3.1415926535;
    public static final int MAX_VALUE = 1000;
    public static final String APP_NAME = "MyApplication";
    // 复杂类型的常量
    public static final int[] DAYS = {1, 2, 3, 4, 5};
}

完整案例:计算圆形面积

public class CircleCalculator {
    // 1. 声明类常量
    public static final double PI = 3.1415926535;
    private static final String UNIT = "平方厘米";
    // 2. 实例常量
    private final double radius;
    // 构造方法初始化radius
    public CircleCalculator(double radius) {
        this.radius = radius;
    }
    // 计算面积
    public double calculateArea() {
        return PI * radius * radius;
    }
    public void displayResult() {
        double area = calculateArea();
        System.out.println("半径为 " + radius + " 的圆面积为: " 
                         + area + " " + UNIT);
    }
    // 测试
    public static void main(String[] args) {
        // 使用类常量
        System.out.println("PI值: " + PI);
        // 创建对象
        CircleCalculator circle1 = new CircleCalculator(5.0);
        circle1.displayResult();
        CircleCalculator circle2 = new CircleCalculator(10.0);
        circle2.displayResult();
        // PI = 3.14;  // 编译错误!不能修改常量
    }
}

常量与枚举结合使用

// 使用枚举定义常量组
enum Color {
    RED("#FF0000"),
    GREEN("#00FF00"),
    BLUE("#0000FF");
    private final String hexCode;
    Color(String hexCode) {
        this.hexCode = hexCode;
    }
    public String getHexCode() {
        return hexCode;
    }
}
public class ColorExample {
    public static final String DEFAULT_COLOR = "#FFFFFF";
    public static void main(String[] args) {
        System.out.println("默认颜色: " + DEFAULT_COLOR);
        System.out.println("红色: " + Color.RED.getHexCode());
        System.out.println("绿色: " + Color.GREEN.getHexCode());
    }
}

常见常量类型示例

public class ConstantTypes {
    // 整数常量
    public static final int MAX_USERS = 1000;
    public static final byte MIN_AGE = 0;
    // 浮点数常量
    public static final float TAX_RATE = 0.13f;
    public static final double PI = 3.1415926;
    // 字符常量
    public static final char NEW_LINE = '\n';
    public static final char SPACE = ' ';
    // 布尔常量
    public static final boolean DEBUG = true;
    // 字符串常量
    public static final String GREETING = "Hello, World!";
    public static final String EMPTY_STRING = "";
    // 对象常量(引用不可变,但对象内容可变)
    public static final StringBuffer LOG = new StringBuffer();
}

使用常量的最佳实践

  1. 命名:全大写,下划线分隔
  2. 位置:通常放在类的最前面
  3. 访问修饰符:通常使用public,除非有特殊封装需求
  4. 组合修饰符public static final 是最常见的组合
// 好的实践
public class Constants {
    // 成组定义相关常量
    public static final int STATUS_SUCCESS = 200;
    public static final int STATUS_NOT_FOUND = 404;
    public static final int STATUS_ERROR = 500;
    // 接口常量(推荐使用类常量)
    public interface Status {
        int SUCCESS = 200;
        int NOT_FOUND = 404;
    }
}
  • 使用final关键字声明常量
  • 类级别常量通常使用public static final
  • 常量命名使用大写+下划线
  • 常量一旦赋值就不能修改
  • 在编译器和代码可读性方面都有好处

这样可以提高代码的可维护性,避免魔数(magic numbers)的出现。

抱歉,评论功能暂时关闭!