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

java中的常量与变量

参考链接: Java程序检查三个布尔变量中的两个是否为真 常量  常量:在程序运行期间,固定不变的量。  常量的分类: 1.字符串常量:凡是用双引号引起来的部分,叫做字符串常量。...2.整数常量:直接写上数字,没有小数点。例如:100,200,0,-250。 3.浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0。...4.字符常量:凡是用单引号引起来的单个字符,就是字符常量。例如:‘A’、‘b’、‘9’、‘中’。 5.布尔常量:只有两种取值。true、false。 6.空常量:null。代表没有任何数据。 ...3.空常量不能直接用来打印输出。  例如:System.out.println(’’);这是错误的。 例如:Syetem.out.println(‘AB’);这是错误的。...zifu3; //左侧是int类型,右边是char类型,char => int ,确实是从小到大发生了自动类型转换 System.out.println(num);//99  char zifu4 = ‘中’

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

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

    1、概述 在编码过程中,避免不了维护一些常量。而通过这么多的项目中发现,使用方式都不尽相同。...因为我在阅读《Effective Java》这本书中提到过: 如果某个实现了常量接口的类被修改不再需要常量了,也会因为序列化兼容原因不得不保持该实现,而且非final类实现常量接口会导致所有子类被污染...而应当用在与之相关的类中。这样能保持很好的层级关系和隔离性,方便分包和扩展,具体请参考spring中对常量维护的原则。...《Effective Java》中也是推荐使用枚举代替int常量的。...而常量类可以收集管理一些比较杂的一些常量。而接口的中的常量,在遵循开闭原则的基础上,向上抽象管理自己的内聚的常量 4、最后 写代码也是一种艺术,结构层次好的代码可以少出bug,提高效率。

    4.7K21

    彻底弄懂java中的常量池

    0、Class文件常量池 class文件是一组以字节为单位的二进制数据流,在java代码的编译期间,我们编写的java文件就被编译为.class文件格式的二进制数据存放在磁盘中,其中就包括class文件常量池...,创建在Java堆中。...先说结论: 在执行ldc指令时,该指令表示int、float或String型常量从常量池推送至栈顶。...首先是1个字节的tag,表示这是一个CONSTANT_Utf8_info结构的常量,然后是两个字节的length,表示要储存字节的长度,之后是一个字节的byte数组,表示真正的储存的length个长度的字符串...在 JDK6 下 str1、str2 指向的是新创建的对象,该对象将在 Java Heap 中创建,所以 str1、str2 指向的是 Java Heap 中的内存地址;调用 intern 方法后将尝试在常量池中查找该对象

    1.4K01

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

    Classfile /Users/gaotengfei/Desktop/Test.class Last modified 2022-5-11; size 405 bytes MD5 checksum f1726f37e72972ae216e51eef3a0d281...运行时常量池存在于内存中,是方法区的一部分。它是Class常量池被加载到内存之后的版本。...字符串常量池 字符串常量池在Java内存区域的哪个位置? 在JDK6.0及之前的版本,字符串常量池是放在Perm Gen区(也就是方法区)中; 在JDK7.0版本,字符串常量被移到了堆中。...在之前版本中,里放的都是字符串常量 在中,由于发生了改变,因此中也可以存放放置在堆内的字符串对象的引用。...在JDK1.7字符串常量池和静态变量被从方法区拿到了堆中,运行时常量池剩下的还在方法区,也就是HotSpot的永久代中。

    2.6K20

    彻底弄懂java中的常量池

    0、Class文件常量池 class文件是一组以字节为单位的二进制数据流,在java代码的编译期间,我们编写的java文件就被编译为.class文件格式的二进制数据存放在磁盘中,其中就包括class文件常量池...,创建在Java堆中。...先说结论: 在执行ldc指令时,该指令表示int、float或String型常量从常量池推送至栈顶。...首先是1个字节的tag,表示这是一个CONSTANT_Utf8_info结构的常量,然后是两个字节的length,表示要储存字节的长度,之后是一个字节的byte数组,表示真正的储存的length个长度的字符串...在 JDK6 下 str1、str2 指向的是新创建的对象,该对象将在 Java Heap 中创建,所以 str1、str2 指向的是 Java Heap 中的内存地址;调用 intern 方法后将尝试在常量池中查找该对象

    23.6K119

    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 代码 /* 常量: 在程序运行过程中,其值不可以发生改变的量。 常量分类: 字符串常量: 用双引号括起来的内容。"...A','0','我' 布尔常量: 布尔值,表示真假。true,false 空常量: 一个特殊的值,空值。

    96820

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

    八进制数形式:Java 中的八进制常数的表示以 0 开头,如 0125 表示十进制数 85,-013 表示十进制数 -11。...十六进制数形式:Java 中的十六进制常数的表示以 0x 或 0X 开头,如 0x100 表示十进制数 256,-0x16 表示十进制数 -22。...长整型类型则要在数字后面加 L 或 1, 如 697L,表示一个长整型数,它在内存中占 64 位。实型常量值Java 的实型常量值主要有如下两种形式。...布尔型常量值Java 的布尔型常量只有两个值,即 false(假)和 true(真)。字符型和字符串常量值Java 的字符型常量值是用单引号引起来的一个字符,如 'e'、E'。...需要注意的是,Java 字符串常量值中的单引号和双引号不可混用。双引号用来表示字符串,像 "11"、"d" 等都是表示单个字符的字符串。

    31710

    Java中的字符串常量池

    字符串常量池实现的前提条件就是Java中String对象是不可变的,这样可以安全保证多个变量共享同一个对象。...如果Java中的String对象可变的话,一个引用操作改变了对象的值,那么其他的变量也会受到影响,显然这样是不合理的。 引用 or 对象 字符串常量池中存放的时引用还是对象,这个问题是最常见的。...字符串常量池存放的是对象引用,不是对象。在Java中,对象都创建在堆内存中。 更新验证,收到的很多评论也在讨论这个问题,我简单的进行了验证。...{ e.printStackTrace(); } catch (IOException e) { e.printStackTrace();...} 由于字符串常量池存在于堆内存中的永久代,适用于Java8之前。

    1.7K20

    java变量、常量

    Java是一种面向对象的编程语言,其中变量和常量是构建程序的基础。变量可以用来存储数据值,而常量是不能被修改的值。在本文中,我们将深入探讨Java中变量和常量的概念、类型、声明、作用域和示例等方面。...它们通常用于保存程序中需要反复使用的值,以便在需要时可以轻松地访问这些值。在Java中,每个变量都有一个类型和一个名称。变量的值可以在程序执行过程中更改。...常量概念常量是指在程序执行过程中不能更改的值。在Java中,常量通常用来存储一些固定的值,例如π的值或常量字符串。常量的值不能被修改或重新分配。在Java中,使用关键字final来定义常量。...由于x是一个常量,我们无法在后续的代码中修改其值。常量命名规范在Java中,通常使用大写字母表示常量,以便区分变量和常量。...void main(String[] args) { System.out.println(PI); }}在这个例子中,我们使用全大写字母PI表示常量。

    1.8K10

    【Java学习笔记之三】java中的变量和常量

    由于Java语言是一种强类型的语言,所以变量在使用以前必须首先声明,在程序中声明变量的语法格式如下:     数据类型 变量名称;     例如:int x;     在该语法格式中,数据类型可以是...Java语言中任意的类型,包括基本数据类型和复合数据类型。...常量     常量代表程序运行过程中不能改变的值。     常量在程序运行过程中主要有2个作用:          1. 代表常数,便于程序的修改(例如:圆周率的值)          2....在Java编码规范中,要求常量名必须大写。    ...final double PI = 3.14;     final char MALE=‘M’,FEMALE=‘F’;     在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次

    1.2K60

    Java中定义常量(Constant) 的几种方法

    常量使用目的 1,为什么要将常亮提取出来? 2,提取出来怎么定义,定义在interface中,还是class中?有什么区别?...不过我觉得提取出来并不会有利于代码性能提升,因为常量分配在内存的常亮池中,所以内存不会出现多个相同常量字符串。总的来说提取常量主要是为了避免魔法数字和提高代码可读性。...2)常亮定义在final的class中,防止被其它类继承和实例化。定义在interface中性质也是一样,static final属性。但是interface看起来就是会被继承的。...interface中定义常量 采用接口(Interface)的中变量默认为static final的特性。...ConstantEnum { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 普通类中定义常量

    4.2K50

    教你如何在Java中更好的定义常量

    关于Java中常量的话题似乎有很多困惑。有些人使用整数或字符串来定义常量,而另一些人则使用枚举。我还遇到了在它们自己的接口中定义的常量——在接口中,使用常量的类必须实现接口。...这种策略通常被称为接口常量设计模式。在本文中,我们将了解在Java中存储常量的两种最常见的策略:整数和枚举。...假设我们有一个表示在线商店中订单的类,我们希望在其中跟踪订单发生在一周中的哪一天。看起来是这样的:请注意,该类暂时不会编译-[数据类型]只是我们将使用的常量类型的占位符。...用整数定义常数在Java中,定义常量最常用的方法之一是通过整数,其中整数变量是静态的。定义整数常量时要问的第一个问题是将它们放置在何处。我们是否将它们直接放在班级中?还是给他们上课?...用枚举定义常量在Java中定义常量的另一种方法是使用枚举。当使用枚举时,常量类将如下所示:注意,没有私有构造函数-不需要程序员(你!)强制该类是不可实例化的,因为枚举在默认情况下是不可实例化的!

    56210

    go常量中的无类型常量

    Go语言的常量有个不同寻常之处。虽然一个常量可以有任意一个确定的基础类型,例如int或float64,或者是类似time.Duration这样命名的基础类型,但是许多常量并没有一个明确的基础类型。...math.Pi就是无类型的浮点数常量 const ( E = 2.71828182845904523536028747135266249775724709369995957496696763...,当赋值给特定类型时精度会有影响 只有常量可以是无类型的。...当一个无类型的常量被赋值给一个变量的时候,或者出现在有明确类型的变量声明的右边,无类型的常量将会被隐式转换为对应的类型 对于常量面值,不同的写法可能会对应不同的类型。...例如0、0.0、0i和\u0000虽然有着相同的常量值,但是它们分别对应无类型的整数、无类型的浮点数、无类型的复数和无类型的字符等不同的常量类型。

    2.3K20

    触摸Java常量池

    虚拟机栈是jvm执行java代码所使用的栈。 方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。 虚拟机堆是jvm执行java代码所使用的堆。...Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。...所谓静态常量池,即*.class文件中的常量池,class文件中的常量池不仅仅包含字符串(数字)字面量,还包含类、方法的信息,占用class文件绝大部分空间。...而运行时常量池,则是jvm虚拟机在完成类装载操作后,将class文件中的常量池载入到内存中,并保存在方法区中,我们常说的常量池,就是指方法区中的运行时常量池。...前文提到过,class文件中存在一个静态常量池,这个常量池是由编译器生成的,用来存储java源文件中的字面量(本文仅仅关注字面量),假设我们有如下java代码: 1 String s = "hi"; 为了方便起见

    1.5K10

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

    今天说一说Java常量池(静态常量池与运行时常量池)[通俗易懂],希望能够帮助大家进步!!! 1、什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变!...final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。...在java的class文件中,这个数是0xcafebabe。接下来就是class文件的版本号,第5、6个字节是@次版本号@,第7、8个字节是@主版本号@。...,包括了如下三种类型的常量: 类和接口的全限定名; 字段名称和描述符; 方法名称和描述符 Java中八种基本类型的包装类的大部分都实现了常量池技术,它们是Byte、Short...如果类存在父类,则除非子类覆盖了父类的字段定义,否则在子类中不会列出从超类或父接口中继承而来的字段,但有可能列出原来java代码中不存在的字段,譬如在内部类为了保持对外部类的访问性,会自动添加指向外部类实例的字段

    3.3K21
    领券