常量是什么:

常量是初始化值后不能再改变的值,可以理解为只能赋值一次的变量

创建常量的三种方式:

1. 在类中使用final修饰

定义:

public class Demo04 {

final int SUCCESS_STATE = 200;

final Double PI = 3.14;

}

使用:

public class Demo05Test {

public static void main(String[] args) {

System.out.println(Demo04.SUCCESS_STATE );

System.out.println(Demo04.PI);

}

}

2. 在接口中定义(注意修饰符,推荐使用)

定义:

public interface Demo05 {

int OK = 200;

String OK_MESSAGE = "成功";

public String UPDATE_MESSAGE = "修改成功";

}

使用:

public class Demo05Test {

public static void main(String[] args) {

System.out.println(Demo05.OK);

System.out.println(Demo05.OK_MESSAGE);

System.out.println(Demo05.UPDATE_MESSAGE);

}

}

3.在枚举中定义

定义:

public enum Demo07 {

OK(200,"成功");

private Integer state;

private String value;

// 重写构造方法

Demo07(Integer state, String value) {

this.state = state;

this.value = value;

}

public Integer getState() {

return state;

}

public void setState(Integer state) {

this.state = state;

}

public String getValue() {

return value;

}

public void setValue(String value) {

this.value = value;

}

}

使用:

public class Demo07Test {

public static void main(String[] args) {

System.out.println(Demo07.OK.getState());

System.out.println(Demo07.OK.getValue());

}

}

说明:常量命名一ban使用大写,多个单词中间用_分割

常量的使用场景:

1. 用于提示信息

2. 用于固定参数

3.用于正则验证

示例:

public static final String PWD_REGEX = "(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9-*/+.~!@#$%^&*()]{8,20}$";

public static final String MSG_EXCEEDING_LENGTH = "字段超出长度限制";

public static final String MSG_PARAMETER_ERROR = "参数有误";

public static final String MSG_NOT_EMPTY = "不能为空";

public static final String SMS_UPPER_LIMIT = "已发送上限";

public static final String MSG_FAIL_CODE = "验证码错误";

public static final String MSG_ERROR_MOBILE_NUMBER = "手机号错误";

public static final int ERROR_CODE = 500;

使用常量的好处:

1. 可以让难以记忆的状态使用便于记忆的语法来表示,比如1表示男,2表示女,则可以使用常量MALE,FEMALE表示

2.方便扩展,程序所所有固定的提示信息,都使用常量,便于修改和扩展

3.便于统一和标准化,比如手机验证,都使用同一个正则验证

常量和变量的区别:

常量是只能赋值一次,不可变的量

变量是可以多次赋值

总结:

1.变量可以多次赋值

2.常量只能赋值一次,多用于固定参数,避免魔法值等

java新建常量_【Java】常量 - 每日坚果的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. java 投票算法_摩尔投票算法 - woshixin的个人空间 - OSCHINA - 中文开源技术交流社区...

    摩尔投票算法(Moore majority vote algorithm) 这个在wiki的介绍在https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_m ...

  2. java遮罩层_页面遮罩层 - javaalex的个人空间 - OSCHINA - 中文开源技术交流社区

    一. 基于ajax请求的遮罩层: $.ajax({ type:'POST', url:url, data:obj, dataType:'json', beforeSend: function () { ...

  3. java 日程日历_日程日历示例 - voxer的个人空间 - OSCHINA - 中文开源技术交流社区...

    这是用户利用do_Gridview和do_ListView及其它组件绘制的日历和任务,基本实现一个完整的在线日程管理功能 先看图,android和ios上的效果图如下: 我们可以看到通过deviceo ...

  4. java io 读取配置文件_java读取配置文件 - tomzhao2008的个人空间 - OSCHINA - 中文开源技术交流社区...

    对于要打包成jar文件来运行来说,用file是会有问题的,下面的程序可以解决这样的问题 1.ReadPropsUtil /** * */ package readproperties; import ...

  5. java脚本项目_java项目部署脚本 - xixingzhe的个人空间 - OSCHINA - 中文开源技术交流社区...

    #!/bin/sh #java export JAVA_HOME=/root/java/jdk #日志目录 export LOG_HOME=`pwd`/ #项目名称 APP_NAME=xxx.jar ...

  6. java 图形 登录_java登录图形界面 - osc_994n5tsc的个人空间 - OSCHINA - 中文开源技术交流社区...

    编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验.对于每个用户名有三次密码输入机会. package beizi; impor ...

  7. java 递归死循环_Java递归 - 感觉太煽情的个人空间 - OSCHINA - 中文开源技术交流社区...

    树节点类: package cn.com.tree; public class Node { private Integer id; private Integer parentId; private ...

  8. java通讯方式_Java线程通讯方式 - osc_63rgy8af的个人空间 - OSCHINA - 中文开源技术交流社区...

    l  休眠唤醒方式: Object的wait.notify.notifyAll Condition的await.signal.signalAll l  CountDownLatch:用于某个线程A等待 ...

  9. emc存储java打开后报错_连接EMC存储系统 - osc_mk8rqvg4的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.准备一台笔记本电脑,一根网线即可. 2.将网线一头连接笔记本电脑,另一头连接存储.(连接存储的一头应连接到有扳手图标的那一网口上) 3.配置IP地址 IP:128.221.1.254 子网掩码:2 ...

最新文章

  1. python培训好学吗-人工智能“速成班”Python好学吗 小心别被忽悠了
  2. C#中多线程 委托的使用
  3. 13.while循环
  4. 代码补全_AI加持,Kite增加智能代码补全功能:减少一半操作,实时补全
  5. sql sever 2008基础知识
  6. 数学计算机学具制作,神奇的数学
  7. 单片机如何产生PWM信号
  8. php网页表格样式,分享7款颜色的CSS表格样式美化网页表格用户体验
  9. 矩阵分析与应用(二)————梯度分析与最优化
  10. 记一篇IT培训日记005-Hello Java
  11. 通过拉勾网分析数据分析职位现状
  12. python12306买票_Python 使用 selenium 实现半自动购买12306火车票
  13. 鲁豫有约怎么下载,怎么实现qlv转MP4
  14. 棋盘分割(区间DP)
  15. 人生进度条百分之20_1分钟get技能:缺了“进度条”,你注定和80%的失败者一样实现不了人生目标...
  16. 为什么微信小程序里的图片在电脑上显示在手机上不显示?
  17. 玩转Lenovo Idea pad 的音效功能
  18. 数据治理与数据安全研读开篇
  19. 三维空间的三角剖分( 3D Delaunay Triangulated graph)第二部分:剖分三维空间
  20. C语言函数体内无条件的大括号

热门文章

  1. CSDN Blog V3.0.0.2升级公告
  2. Jenkins+Github持续集成
  3. TypeScript--类
  4. 有关定时任务的表达式--cron 详细解
  5. 自测之Lesson6:文件I/O
  6. html5 兼容移动端参数设置的一些小细节
  7. SQL点滴12—SQL Server备份还原数据库中的小把戏
  8. [CTO札记]惊讶于警察尚未用LBS(手机定位服务)来追踪疑犯
  9. Linux系统下如何查看已经登录用户
  10. linux 命令输出 保存到文件 日志记录