程序中存在大量表示程序状态的数据。 其中,有些数据在程序执行过程中值会发生变化,有些数据在程序执行过程中值不会发生变化。 这些数据分别在程序中称为变量和常数。
在实际程序中,可以根据数据在程序运行过程中是否发生了更改,来选择是应该用变量表示还是用常数表示。
变量
程序运行过程中,该值在某个范围内可以变化的量就是变量。
为了在程序中使用存储器内的某个存储块而保留,其内容是可变的。
变量范围:
范围从定义变量的位置开始,以包含该变量的大括号对结束。
或者可以说变量定义在哪个级别的大括号中,哪个大括号的范围就是这个变量的范围。
变量生命周期:
变量从定义的位置开始在内存中活动;
到达变量存在的范围后,将消失在内存中。
什么时候定义变量?
仅在数据不确定时定义变量。
开拓变量空间需要什么要素?
1 )在此空间中保存什么数据? 数据类型。
2 )这个空间叫什么名字? 变量名。
3 )这个空间的第一个数据是什么? 变量的初始化值。
声明变量
因为Java语言是一种强大的语言,所以变量必须先声明,然后才能使用。 在程序中声明变量的语法格式如下:
数据类型变量名称;
数据类型和变量名称之间用空格分隔,声明语句为“; 中选择所需的墙类型。 空间数量没有限制,但至少需要一个。作为结尾。 也可以在声明变量的同时设置变量的值。 语法如下:
数据类型变量名称=值;
在程序中,变量值表示程序的状态,在程序中,可以用变量名引用变量中存储的值,也可以重新代入变量中。
int a=10; 如果需要声明多个相同类型的变量,将值重新分配给声明aa=20并初始化的//变量a,也可以使用以下格式:
数据类型变量名1=值1,变量名2=值2,……变量名n=值n;
int a、b、c;//声明三个int型整数: a、b、cint d=3、e=4、f=5;//在声明三个整数并给出初始值的实际开发过程中,需要声明什么类型的变量,需要声明多少变量,需要给变量分配什么数值,都需要根据程序逻辑来决定。 这里列举的只是表达的格式。
注意:
1 )不能在同一个范围内定义两个同名的变量。
2 ) java中的每个变量必须在声明后才能使用。
3 )一行可以定义多个变量,但建议只定义一个变量。
4 )变量一次只能分配一个值,但可以多次修改
常量
常量表示在程序运行过程中不能更改的数据。
我们可以把它当成特别的变量。 但是,设置该值后,不允许在程序运行过程中进行更改。
tyle="text-indent:0;">常量在程序运行过程中主要作用:1)代表常数,便于程序的修改(例如:圆周率的值)
2)增强程序的可读性(例如:常量UP、DOWN、LEFT和RIGHT分辨代表上下左右,其数值分别是1、2、3和4)
3)提高代码的可维护性。例如,在项目开发时需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。
常量分类:字面值常量 和 自定义常量
字面值常量
之所以称之为字面值是因为只能用它的值来称呼它,称之为常量是因为它的值不能修改。
只有内置类型存在字面值,没有类类型的字面值。因此,也没有任何标准库类型的字面值。
对于字面值常量我们分为以下五种:
类别示例说明整型10、12主要是有进制的区别,默认是十进制,当表示二进制时用0b10(表示二进制用0b或0B爱投)、010(表示八进制用0开头)、0x10(表示十六进制用0x或0X开头)浮点型3.1415浮点字面值常量当没有任何的标志时会存储成double类型,当要使用float类型时,可在后面加上f或F,例如3.14f 表示该数为float类型字符型‘c’、’1’用两个单引号括起来,一个字符占2byte。如’A’、’b’ 、’t’字符串型“changliang”该类型不是基本数据类型,在Java中被称为引用数据类型布尔型true、false只有这两个值注意:
1)默认情况下,整形字面值是int类型,如果要表示一个long类型的常量,就要在整数的后面加上l或L。例如10L,342L。
2)byte和short没有常量形式。他们都是接收一个不超过他们取值范围的int常量(隐式转换);如果这个int常量超过了他们的取值范围必须使用强制转换。
3)从JDK7开始,可以在整数或浮点数字面值中嵌入一个或多个下划线,以方便阅读。例如:129_51_782。
转义字符
Java中允许使用转义字符‘’来将其后的字符转变为特殊字符型常量。
转义字符
描述
转义字符
描述
转义字符
描述
f
换页
\
反斜线
b
倒退一格
’
单引号
r
归位
n
换行
”
双引号
t
制表符Tab
public class Test { public static void main(String[] args) { char ch1 = '"'; // 定义转义字符 char ch2 = '\'; // 定义转义字符 System.out.println("ch1 = " + ch1); // 打印输出 System.out.println("ch2 = " + ch2); // 打印输出 System.out.println(""Hello World|"") ; // 直接输出转义字符}}
执行结果:
ch1 = "ch2 = "Hello World|"
自定义常量
常量的语法格式和变量类似,只需要在变量的语法格式前面添加个关键字 final 即可。在Java编码规范中,要求常量名必须大写。常量的语法格式如下:
final 数据类型 常量名称 = 值;
final 数据类型 常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;
final double PI = 3.14; // 声明单个double类型的常量并赋值final char SEX_MALE='男',SEX_FEMALE=‘女’; // 声明两个char类型的常量并分别赋值在Java语法中,常量也可以首先声明,然后再进行赋值,但是只能赋值一次,语法格式如下:
final 数据类型 常量名称;
常量名称 = 值;
final double PI; // 先声明常量PI = 3.14; // 给已声明的常量赋值