使用final定义符号常量

符号常量:NUM、PI

在这个例子中,使用符号的好处是:如果此时要将圆周率3.14的值修改为3.14159,如果没有使用符号常量,那么至少要修改两次PI的地方,而现在定义了符号常量PI,只要PI一个位置即可。如果在一个大型的项目当中出现这种情况,有成千上万个,难道要逐个去修改吗?那会相当的麻烦。Final取自于finally表示最终的,表示不能再被改变的,在C语言中用CONST来代表常量,这个词取自于CONSTANT。可以结合英文单词来记忆这些关键词。

在Java语言中,主要是利用final关键字来定义常量。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个在Java语言中,主要是利用final关键字来定义常量。当常量被设定后,一般情况下就不允许再进行更改。如可以利用如下的形式来定义一个常量:final double PI=3.1315。在定义这个常量时,需要注意如下内容:

一是常量在定义的时候,就需要对常量进行初始化。也就是说,必须要在常量声明时对其进行初始化。都跟局部变量或者成员变量不同。当在常量定义的时候初始化过后,在应用程序中就无法再次对这个常量进行赋值。如果强行赋值的话,会跳出错误信息,并拒绝接受这一个新的值。

二是final关键字使用的范围。这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。如数组就是一个对象引用。为此可以使用final关键字来定义一个常量的数组。这就是Java语言中一个很大的特色。一旦一个数组对象被final关键字设置为常量数组之后,它只能够恒定的指向一个数组对象,无法将其改变指向另外一个对象,也无法更改数组中的值。

三是需要注意常量的命名规则。不同的语言,在定义变量或者常量的时候,都有自己一套编码规则。这主要是为了提高代码的共享程度与提高代码的易读性。在Java语言中,定义常量的时候,也有自己的一套规则。如在给常量取名的时候,一般都用大写字符。在Java语言中,大小写字符是敏感的。之所以采用大写字符,主要是跟变量进行区分。虽然说给常量取名时采用小写字符,也不会有语法上的错误。但是,为了在编写代码时能够一目了然的判断变量与常量,最好还是能够将常量设置为大写字符。另外,在常量中,往往通过下划线来分隔不同的字符。而不想对象名或者类名那样,通过首字符大写的方式来进行分隔。这些规则虽然不是强制性的规则,但是为了提高代码友好性,方便开发团队中的其他成员阅读,这些规则还是需要遵守的。没有规矩,不成方圆。

总之,Java开发人员需要注意,被定义为final的常量需要采用大写字母命名,并且中间最好使用下划线作为分隔符来进行连接多个单词。在定义final的数据不论是常量、对象引用还是数组,在主函数中都不可以改变。否则的话,会被器拒绝并提示错误信息。

java中符号常量_Java中符号常量相关推荐

  1. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  2. java synchronized 使用_Java中Synchronized的用法

    synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码 ...

  3. java synchronized静态_Java中Synchronized的用法(简单介绍)

    简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...

  4. java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信

    你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...

  5. java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园

    1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...

  6. java中组合_java中组合模式详解和使用方法

    组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式, ...

  7. java 序列化实例_Java中的序列化与反序列化实例

    创建的字节流与平台无关.因此,在一个平台上序列化的对象可以在另一个平台上反序列化. 为了使Java对象可序列化,我们实现java.io.Serializable可序列化接口. ObjectOutput ...

  8. java 数据类型分为_JAVA中分为基本数据类型及引用数据类型

    byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768~32717,默认值 ...

  9. java 代码锁_Java中的Lock锁

    Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...

  10. mysql java 获取周_Java中获取Mysql中datetime类型的数据

    由于Java中的日期类型只有Date类型,而Mysql中即有date型,又有datetime型,当我们想要在java中获取Mysql中datetime类型的数据或向Mysql数据库中插入datetim ...

最新文章

  1. 阿里达摩院再造AI抗疫技术:20秒判读CT影像,识别准确率达96%
  2. 国内IT图书出版的未来之路
  3. android动态显示键盘,动态修改EditText输入键盘并隐藏或显示密码
  4. mysql is null走索引_Mysql数据库索引IS NUll ,IS NOT NUll ,!= 是否走索引
  5. esxi usb插口_酷暑大作战 | USB-C风扇新体验
  6. 语法分析-C语言程序
  7. Flash Socket通信的安全策略问题
  8. 决策树:ID3和C4.5
  9. imp遇到重复数据_oracle的imp导入时覆盖目标数据库
  10. 自然语言处理总复习(五)—— 词义消歧
  11. Debug---Eclipse断点调试基础
  12. SSH攻击ip列表【不定时更新】
  13. win10网络 计算机终止,win7换win10系统总是断网的几种原因和解决方法
  14. OpenGL地球(自转+贴图)
  15. 电脑下载了谷歌浏览器,设置无法默认选用谷歌浏览器
  16. Java中string字符串和char字符之间的千丝万缕
  17. 如今银行多open?百信银行百度云AI+Bank金融科技思享会告诉你!
  18. 什么是弱类型的语言,什么是强类型的语言。
  19. C#面向对象Chatbot智能版
  20. 以手机为基础的移动互联网对我们生活的影响

热门文章

  1. Python 之下划线
  2. matplotlib设置x轴和y轴 设置
  3. luffcc项目-04-登录防水墙认证(滑动图片验证码)、在登录认证中接入防水墙、前端获取显示并校验验证码
  4. android 多个基站信息吗,Android模拟器模拟基站信息,并将wifi伪造成4g数据信息
  5. python如何爬有道翻译_python爬取有道翻译
  6. HANA 数据库备份还原总结
  7. 电脑迷你世界,迷你世界电脑版
  8. 【研一周小结】第八-九周个人学习总结
  9. 手机应用程序的可用性研究数据的获取、过滤、分析
  10. 【算法】Aho-Corasick多模式匹配算法