首页
学习
活动
专区
圈层
工具
发布

Java常量:Java常量的定义和分类

下面我们来系统地认识一下 Java 中的常量值,以及定义常量的方法。常量值常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。下面一一介绍这些常量值。...整型常量值Java 的整型常量值主要有如下 3 种形式。十进制数形式:如 54、-67、0。...实型常量值Java 的实型常量值主要有如下两种形式。十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34、-98.0。...Java 实型常量默认在内存中占 64 位,是具有双精度型(double)的值。...布尔型常量值Java 的布尔型常量只有两个值,即 false(假)和 true(真)。字符型和字符串常量值Java 的字符型常量值是用单引号引起来的一个字符,如 'e'、E'。

40310

JAVA 常量

常量 3.1 常量概述 常量 : 在程序运行过程中,其值不可发生改变的量 3.2 Java中的常量分类: ​ 字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如”a”、”abc”、...”中国”等 ​ 整数常量 整数,例如:-10、0、88等 ​ 小数常量 小数,例如:-5.5、1.0、88.88等 ​ 字符常量 用单引号括起来的一个字符,例如:’a’、’5’、’B’、’中’等 ​...布尔常量 布尔值,表示真假,只有两个值true和false ​ 空常量 一个特殊的值,空值,值为null 除空常量外,其他常量均可使用输出语句直接输出。...3.3 代码 /* 常量: 在程序运行过程中,其值不可以发生改变的量。 常量分类: 字符串常量: 用双引号括起来的内容。"...HelloWorld","黑马程序员" 整数常量: 不带小数的数字。666,-88 小数常量: 带小数的数字。13.14,-5.21 字符常量: 用单引号括起来的内容。'

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java变量、常量

    Java是一种面向对象的编程语言,其中变量和常量是构建程序的基础。变量可以用来存储数据值,而常量是不能被修改的值。在本文中,我们将深入探讨Java中变量和常量的概念、类型、声明、作用域和示例等方面。...在Java中,每个变量都有一个类型和一个名称。变量的值可以在程序执行过程中更改。类型在Java中,变量可以分为两种类型:基本类型和引用类型。基本类型基本类型是指不依赖于任何其他类型的数据类型。...常量概念常量是指在程序执行过程中不能更改的值。在Java中,常量通常用来存储一些固定的值,例如π的值或常量字符串。常量的值不能被修改或重新分配。在Java中,使用关键字final来定义常量。...由于x是一个常量,我们无法在后续的代码中修改其值。常量命名规范在Java中,通常使用大写字母表示常量,以便区分变量和常量。...示例下面是一个示例,演示了如何在Java中使用变量和常量:public class MyClass { int x = 5; // 全局变量 final int y = 10; // 全局常量

    1.9K10

    触摸Java常量池

    java常量池是一个经久不衰的话题,也是面试官的最爱,题目花样百出,这次好好总结一下。 理论 先拙劣的表达一下jvm虚拟内存分布: ?...本地方法栈是jvm调用操作系统方法所使用的栈。 虚拟机栈是jvm执行java代码所使用的栈。 方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。...虚拟机堆是jvm执行java代码所使用的堆。 Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。...程序运行时,除非手动向常量池中添加常量(比如调用intern方法),否则jvm不会自动添加常量到常量池。...前文提到过,class文件中存在一个静态常量池,这个常量池是由编译器生成的,用来存储java源文件中的字面量(本文仅仅关注字面量),假设我们有如下java代码: 1 String s = "hi"; 为了方便起见

    1.5K10

    Java常量池(静态常量池与运行时常量池)

    今天说一说Java常量池(静态常量池与运行时常量池)[通俗易懂],希望能够帮助大家进步!!! 1、什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变!...final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。...常量池主要用于存放两大类常量:字面量(Literal)和符号引用量(SymbolicReferences),字面量相当于Java语言层面常量的概念,如文本字符串,声明为final的常量值等,符号引用则属于编译原理方面的概念...运行时常量池相对于CLass文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只有编译期才能产生,也就是并非预置入CLass文件中常量池的内容才能进入方法区运行时常量池,运行期间也可能将新的常量放入池中...,在constant pool里创建了一个共享的"abc" 然后,当调用到new String("abc")的时候,会在heap里创建这个new String("abc"); 考虑类加载阶段和实际执行时

    3.3K21

    Java中的常量

    4.1 概述 常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。通常是指在Java程序中固定不变的数据。...4.2 分类 image.png 整型常量值 Java 的整型常量值主要有如下 3 种形式。 十进制数形式:如 54、-67、0。...实型常量值 Java 的实型常量值主要有如下两种形式。 十进制数形式:由数字和小数点组成,且必须有小数点,如 12.34、-98.0。...Java 实型常量默认在内存中占 64 位,是具有双精度型(double)的值。...布尔型常量值 Java 的布尔型常量只有两个值,即 false(假)和 true(真)。 4.3 定义 常量不同于常量值,它可以在程序中用符号来代替常量值使用,因此在使用前必须先定义。

    1.7K20

    【小家java】java中维护常量使用常量类?接口?还是枚举呢?

    因为我在阅读《Effective Java》这本书中提到过: 如果某个实现了常量接口的类被修改不再需要常量了,也会因为序列化兼容原因不得不保持该实现,而且非final类实现常量接口会导致所有子类被污染...这样能保持很好的层级关系和隔离性,方便分包和扩展,具体请参考spring中对常量维护的原则。 当然,刚才说了不建议把一般的常量放在接口里,所以我们可以放在常量类了,但建议常量类是final的。...《Effective Java》中也是推荐使用枚举代替int常量的。...枚举当然是首选,另如果不用枚举,在《Effective Java》一书中,作者建议使用一般类加私有构造方法的方式,至于为什么不用接口,那就要上升到语言哲学问题了(可参考上面通俗易懂的话)。...而常量类可以收集管理一些比较杂的一些常量。而接口的中的常量,在遵循开闭原则的基础上,向上抽象管理自己的内聚的常量 4、最后 写代码也是一种艺术,结构层次好的代码可以少出bug,提高效率。

    4.8K21

    Java基础-常量和变量

    (例如:常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4) 在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代 表还是常量代表。...备注 Java是一种强类型语言,每个变量都必须声明其类型。 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。...内存中变量好比旅馆的房间,内存中常量好比住旅馆房间的人 ?...可以将变量的声明和初始化放在同一行中,例如: int age = 18; float e = 2.718281828f; final 常量 使用final修饰的变量,只能被初始化一次,变成了常量。...final常量是有名称的 package com.cwl.base.day01; /** * @program: java_base * @description: 测试常量 * @author

    1K20

    Java Class文件常量池

    Class文件的存在使得不同语言编写的程序都可以运行在Java虚拟机上,只需要这些语言经过编译器编译后的Class文件符合Java虚拟机定义的规范,Java虚拟机就可以加载执行这些Class文件。...Java的魔数固定为0xCAFEBABE,接下去的两个字节代表次要版本号,再下去的两个字节是主版本号,主版本号为0x0034(十进制是52,也就是JDK1.8),高版本的JDK能够运行以前版本的Class...常量池 走过了魔数和版本,接下去是Class文件中最关键的部分常量池,常量池由一个计数池和具体的常量项来组成,在我们代码中常量池数量为0x0013(十进制是19),关于常量池的计数池有一个比较特殊的地方就是他是从...1开始计数的,也就是说如果我们计数池的值是19,实际上是只有18个常量项。...常量池中主要存放两大类常量: 字面量 符号引用 字面量主要指的是文本字符串、声明为final的常量值等 符号引用主要包含三类常量: 类和接口的全限定名 字段的名称和描述符 方法的名称和描述符 Java代码在编译的时候不存在连接时

    1.1K20

    【Java入门】常量和变量

    ✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1 个人主页:hacker707的csdn博客 系列专栏:Java入门 个人格言:不断的翻越一座又一座的高山...这一马平川,一眼见底的活,我不想要,我的人生,我自己书写,余生很长,请多关照,我的人生,敬请期待 常量和变量 常量 常量的含义 常量分类 变量 变量的含义 如何定义变量 变量的使用 变量使用注意事项...常量分类 常量类型 说明 举例 字符串常量 用双引号括起来的内容 “HelloWorld” , “但行好事莫问前程” 整数常量 不带小数的数字 777,-999 小数常量 带小数的数字 13.14,-5.21...System.out.println(a); } } 解决方法 浮点数默认为double类型,转化为float类型在值后加F即可 float a = 13.14F; 结束语 以上就是Java...入门之常量和变量,如有任何问题欢迎在评论区留言 在下一章节会讲解Java数据类型相关内容 你们的支持就是hacker创作的动力

    61220

    Java源码解读 – 常量52429

    52429作为常量经常出现在openjava中openjdk8-b132的java.lang.Integer类的456行为例子: // Fall thru to fast mode for smaller...除法是很慢的,而乘法和以为却相对较快,所以为了优化这一点点的速度,java采用了乘52429再移19位的方法。...原因很简单:首先就是,java中整型占32位,而52429的二进制是1100110011001101(16位),65535的二进制是111111111111111(16位),相乘结果为31位。...后记 Sun公司的程序员对java的性能优化是非常仔细且彻底的,这一点在阅读openjdk的时候相信肯定会体会到。对于本文中除法的优化,按照现今计算平台来看,说实在的,几乎是没有效果的。...但是java还是做了优化。在阅读openjdk的时候,还会遇到很多类似的东西,这时候就应该多多思考:这些代码有什么用?能不能换成别的?这样,相信对java也会有更深的理解。

    74620

    Java当中的常量池

    Java当中的常量池 在Java虚拟机jvm中,内存分布为:虚拟机堆,程序计数器,本地方法栈,虚拟机栈,方法区。...而new String("dashu"),有关键字new的存在,就表示它一定会创建一个新的对象,然后调用接收String参数的构造器进行初始化。...)); } // 源码 protected native Object clone() throws CloneNotSupportedException; 有native修饰符修饰的是通过JNI来调用...常量池: Class文件中存储所有常量 在Java中说过常量池可以分两种形态,静态常量池和运行时常量池。...运行时常量池是java虚拟机在完成类加载后的操作,将class文件中的常量池加载到内存中,并保证在方法区,我们口中的常量池是在方法区中运行的常量池,运行时常量池具有动态性,在运行期间也能产生新的常量放入池中

    74110

    Java中的常量池【Class常量池、运行时常量池、字符串常量池】

    Class常量池 什么是Class常量池?...我们写的每一个Java类被编译后,就会形成一份Class文件;Class文件除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池表(Constant Pool Table),用于存放编译期生成的各种字面量与符号引用...运行时常量池相对于Class文件常量池的另一个重要特征是具备动态性,Java语言并不要求常量一定只在编译期才能产生,也就是说,并非预置入Class文件中常量池的内容才能进入方法区运行时常量池,运行期间也可以将新的常量池放入池中...字符串常量池 字符串常量池在Java内存区域的哪个位置? 在JDK6.0及之前的版本,字符串常量池是放在Perm Gen区(也就是方法区)中; 在JDK7.0版本,字符串常量被移到了堆中。...在JDK6.0中,StringTable的长度是固定的,长度就是1009,因此如果放入String Pool中的String非常多,就会造成hash冲突,导致链表过长,当调用String.intern(

    2.7K20

    Java基础——变量和常量

    1.变量 标识符 标识符就是为程序代码中的变量,常量,方法,类,接口等指定的含有一定特殊含义的名称。跟我们世界万物的所拥有的名称或者我们每个人的姓名类型。...name _name user1 $test 关键字 关键字不能是标识符,JAVA语言中50个关键字 ?...常量 常量的实质就是不能被修改值的变量 final 数据类型 常量名称 = 值; final修饰符加在类型前面 final的属性表示当前变量一旦初始化就不能再修改了 。...Java编程命名采用驼峰法 文件名 采用大驼峰法 BlockOperation.java 包的命名 全小写字母,中间用点分开, 作为命名空间,包名应该具有唯一性,推荐采用公司或者组织域名的倒置...,如com.apple.quicktime.v2 但是Java核心库包名不采用域名的倒置命名,如java.awt.event 类和接口 采用大驼峰法,如SplitViewConntroller

    1.1K10
    领券