在java培训的过程中,我们会接触到关于java常量的概念,对此,java课程培训机构做了如下这些介绍。
成都创新互联是网站建设专家,致力于互联网品牌建设与网络营销,专业领域包括网站制作、网站建设、电商网站制作开发、小程序制作、微信营销、系统平台开发,与其他网站设计及系统开发公司不同,我们的整合解决方案结合了恒基网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供全方位的互联网品牌整合方案!
常量是java语言中的一种标识符,它的值被设定后,就不允许再进行更改。
在使用常量时,需要注意到如下这些问题:
1、在java中,一般使用static和final关键字结合来声明一个常量;
2、必须在常量声明时对其进行初始化;
3、在java中给常量取名是一般都用大写字符,便于跟变量区分;
在Java语言中,主要是利用final关键字(在Java类中灵活使用final关键字)来定义常量。
Java的基本数据类型也叫做内置类型是java语言本身提供的数据类型,是引用其他类型的基础。Java的基本数据类型分为:整数类型、浮点类型、字符类型、布尔类型这四个类型。
final关键字使用的范围。这个final关键字不仅可以用来修饰基本数据类型的常量,还可以用来修饰对象的引用或者方法。
扩展资料
Java的基本数据类型分为:
1、整数类型
整数类型变量用来表示整数的数据类型。整数类型又分为字节型(byte)、短整型(short)、整型(int)、长整型(long)这四种。
2、浮点类型
浮点类型用来表示小数的数据类型。浮点类型分为float(单精度型)和double(双精度类型)这两种。float(单精度型)一般在精度要求不高的时候使用。double(双精度类型)一般在数值精度高的时候使用。
3、字符类型
字符类型的关键字是“char”。
4、布尔类型
布尔类型是表示逻辑值的基本数据类型。boolean常量有“真”和“假”这两个状态。一般用true表示“真”、false表示“假”。它的定义方法是在变量名前加上类型关键字boolean。
Java 常量,有2种意思,我分别说明:
第1种意思,就是一个值,这个值本身,我们可以叫它常量,举几个例子:
整型常量: 123
实型常量:3.14
字符常量: 'a'
逻辑常量:true、false
字符串常量:"helloworld"
这只是说法的问题,比如7这个数,我们就可以说“一个int类型的常量7 ”
-------
还有另一种,就是楼主问的这种:
第2种意思,表示不可变的变量,这种也叫常量,从语法上来讲也就是,加上final,使用final关键字来修饰某个变量,然后只要赋值之后,就不能改变了,就不能再次被赋值了,据个例子:
final int i = 0;
那么这个i的值是绝对不能再被更改了,只能是0,所以说是 不可变的变量,这句话看似矛盾,其实不矛盾,这句话这样理解:
i就是一个int类型的变量,变量本身是可变的(可被更改值),但是现在加了final,所以不可变了,所以是不可变的变量。
java没有叫全局变量的东西(有全局变量还叫OO吗?);原因:Java将所有设计都基于对象的基础上。Java的全局变量只能对一个类内部而言。能够在类内的任何地方使用的变量就是全局变量,而只在某个特定的函数或者局部的程序块内使用的变量则是局部变量。
所以:声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
使用:java中只有static和非static变量,这个属于每个类的,如果需要全局变量比如PI(3.14...),可以写一个类Math,定义static变量PI,调用Math.PI就可以使用了,这样就达到我们使用全局变量的目的了。
1、将一个 package 中需要的常量集中到一个 XyzConstants 之类的 interface 里声明,
就像普通的 field 那样声明就行了。
复制代码代码如下:
public interface SomeConstants {
public intPORT = 80;
public String IP = "166.111.16.1";
public boolean test = true;
}
就可以。
用到常量的类 implements 这个接口 .. 简单情况这样就行乐。
2、更 formal 的做法是写一个类维护所有的常量,负责从配置文件(例如properties文件或xml文件)读取所有的常量的值。
可以在一个 static {} 块里从配置文件中初始化所有 static 的变量。 这样有利于提高软件的可配置性。改些东东不用动代码,比较好。
最好要有 config Tool 负责写配置文件。
3.其他说明:
定义一个公开类,在里面加static 变量。
复制代码代码如下:
public class infos{
private infos(){
}
public static int PORT = 80;
public static String IP = "166.111.166.111";
public static boolean test = true;
public static final String MYNAME="zzz"; //定义中用了final,就是不能改变的。
}
在别的class中调用这些变量就是: infos.PORT,infos.IP,infos.test,infos.MYNAME
多个class交互时可以通过改变这些变量的值来传递信息。比如 infos.test被别的class改成了false,可能表示某一件事已经失败或已经做过,其它class就可以提前知道这些信息。
其中infos.MYNAME被定义为了final,即成为常量。用final修饰的成员变量表示常量,值一旦给定就无法改变!
常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
常量在程序运行过程中主要有2个作用:
代表常数,便于程序的修改(例如:圆周率的值)
增强程序的可读性(例如:常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4)
常量的语法格式和变量类型,只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。
则常量的语法格式如下:
final 数据类型 常量名称 = 值;
final 数据类型 常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;
例如:
final double PI = 3.14;
final char MALE=‘M’,FEMALE=‘F’;
在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次,示例代码如下:
final int UP;
UP = 1;
在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变而有些不能发生改变,这些数据在程序中分别被叫做变量和常量。下面小编跟大家讲讲Java中变量和常量之间的区别,一起来看看。
Java中变量和常量区别
常量:其值不变即为常量。
语法:
数据类型 常量名 = 值;
double PI = 3.14;
备注:
一般默认常量名大写。
变量与常量之间关系(量间关系)
先来一个简单的实例,好了解 Java 里变量与常量之间的关系。
下面的程序里声明了两种 Java 经常使用到的变量,分别为整型变量 num 与字符变量 ch。为它们赋值后,再把它们的值分别显示在控制台上:
下面的程序声明了两个变量,一个是整型,一个是字符型
输出结果:
3 是整数!
z 是字符!
说明:
声明了两种不同类型的变量 num 与 ch,并分别将常量 3 与字符“z”赋值给这两个变量,最后再将它们显示在显示器上。声明一个变量时,编译程序会在内存里开辟一块足以容纳此变量的内存空间给它。不管变量的值如何改变,都永远使用相同的内存空间。因此,善用变量将会是一种节省内存的方式。
常量是不同于变量的一种类型,它的值是固定的,例如整数常量、字符串常量。通常给变量赋值时,会将常量赋值给它,在程序 TestJava 中,第 6 行 num 是整型变量, 而 3 则是常量。 此行的作用是声明 num 为整型变量, 并把常量 3 这个值赋给它。
相同的,第 7 行声明了一个字符变量 ch,并将字符常量'z'赋给它。当然,在程序进行的过程中,可以为变量重新赋值,也可以使用已经声明过的变量。
变量的介绍
变量代表程序的状态。程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑。
为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名。例如在2D游戏程序中,需要代表人物的位置,则需要2个变量,一个是x坐标,一个是y坐标,在程序运行过程中,这两个变量的值会发生改变。
由于Java语言是一种强类型的语言,所以变量在使用以前必须首先声明,在程序中声明变量的语法格式如下
数据类型 变量名称;
例如:int x;
在该语法格式中,数据类型可以是Java语言中任意的类型,包括前面介绍到的基本数据类型以及后续将要介绍的复合数据类型。变量名称是该变量的标识符,需要符合标识符的命名规则,在实际使用中,该名称一般和变量的用途对应,这样便于程序的阅读。
数据类型和变量名称之间使用空格进行间隔,空格的个数不限,但是至少需要1个。语句使用“;”作为结束。
也可以在声明变量的设定该变量的值,语法格式如下
数据类型 变量名称 = 值;
例如:int x = 10;
在该语法格式中,前面的语法和上面介绍的内容一致,后续的“=”代表赋值,其中的“值”代表具体的数据。在该语法格式中,要求值的类型需要和声明变量的数据类型一致。
也可以一次声明多个相同类型的变量,语法格式如下:数据类型 变量名称1,变量名称2,…变量名称n;例如:int x,y,z;在该语法格式中,变量名之间使用“,”分隔,这里的变量名称可以有任意多个。
也可以在声明多个变量时对变量进行赋值,语法格式如下
数据类型 变量名称1=值1,变量名称2=值2,…变量名称n=值n;
例如:
int x = 10,y=20,z=40;
也可以在声明变量时,有选择的进行赋值,例如:int x,y=10,z;以上语法格式中,如果同时声明多个变量,则要求这些变量的类型必须相同,如果声明的变量类型不同,则只需要分开声明即可,例如
int n = 3;
boolean b = true;
char c;
在程序中,变量的值代表程序的状态,在程序中可以通过变量名称来引用变量中存储的值,也可以为变量重新赋值。例如:
int n = 5;
n = 10;
在实际开发过程中,需要声明什么类型的变量,需要声明多少个变量,需要为变量赋什么数值,都根据程序逻辑决定,这里列举的只是表达的格式而已。
常量的介绍
常量代表程序运行过程中不能改变的值。
常量在程序运行过程中主要有2个作用。
分别为代表常数,便于程序的修改和增强程序的可读性。
常量的语法格式和变量类型,只需要在变量的语法格式前面添加关键字final即可。在Java编码规范中,要求常量名必须大写。
则常量的语法格式如下
final 数据类型 常量名称 = 值;
final 数据类型常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;
例如:
final double PI = 3.14;
final char MALE=‘M’,FEMALE=‘F’;
在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次,示例代码如下:
final int UP;
UP = 1;
常量的两种用途对应的示例代码分别如下:
代表常数
final double PI = 3.14;
int r =5;
double l = 2 * PI * r;
double s = PI * r * r;
在该示例代码中,常量PI代表数学上的∏值,也就是圆周率,这个是数学上的常数,后续的变量r代表半径,l代表圆的周长,s代表圆的面积。
则如果需要增加程序计算时的精度,则只需要修改PI的值3.14为3.1415926,重新编译程序,则后续的数值自动发生改变,这样使代码容易修改,便于维护。
增强程序的可读性
int direction;
final int UP = 1;
final int DOWN = 2;
final int LEFT = 3;
final int RIGHT = 4;
在该示例代码中,变量direction代表方向的值,后续的四个常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4,这样在程序阅读时,可以提高程序的可读性。