4-变量及使用
常量
程序运行过程中,值一定不会发生改变的量
字面值常量
在Java代码中,所有直接写值的量都是字面值常量
整数常量:
直接写在代码中的整数都是。例如1、2、3等。
小数常量:
直接写在代码中的小数都是。例如1.1、1.2、1.3等。
字符常量:
直接写在代码中的,使用单引号引起来的字符都是。例如'A'、'a'等。
布尔常量:直接写在代码中的布尔值,只有true和false两个。
字符串常量:直接写在代码中的,使用双引号引起来的字符串都是。
例如"HelloWorld"、"hello"等
空常量:空常量是引用数据类型独有的一种取值,只有null一个。
自定义常量
通过语法自由地定义一个常量在代码中使用
整数常量的特殊性
// 等价于 byte b = 3;
byte b = 1 + 2;
int a = 1;
/*
a是一个变量
当表达式中存在任何一个变量参与运算时
表达式的结果要遵循表达式的类型提升
结果一定是取值范围最大的数据类型
*/
// byte b2 = a + 2;
int num = a + 2;
-
通过这个现象,我们其实可以发现编译器是很"聪明"的:
-
对于整数字面值常量(包括常量的运算)而言,因为它的值一定不会发生变化,而且整型数据值的位数十分容易判断,所以编译器能够自动判断整型常量是否在接收数据类型的范围内。
-
体现在语法上就是:将一个整型字面值(包括常量的运算)赋值给整型时,如果该常量在整型数据类型的取值范围内,是可以赋值成功的。
变量
程序运行过程中,值可能会发生改变的量(注重变化的可能性而不是确定性)
声明
声明变量的目的是告诉编译器,变量的数据类型和变量的名字
变量声明的语法: 数据类型 变量名;
注:
- 这个变量指的是写在方法内部,被一个大括号限制了作用域的一个变量
- 这种变量称之为"局部变量"
- 局部变量仅在定义该变量的作用域内部生效,一般就是那个"{}"
- 相对应的定义局部变量的代码位置,就被称之为"局部位置"
- 仅仅声明的局部变量没有任何意义,相当于代码中根本没这个东西,编译器在编译代码时,会自动忽略掉代码中的未初始化局部变量
初始化
声明后的变量还没有值无法使用,给变量赋初始值的过程就是初始化
初始化变量的语法:
- 变量名 = 变量值;
一般情况下声明和初始化都合起来使用
- 数据类型 变量名 = 变量名;
注意事项
-
Java当中的整数字面值常量,默认当作int处理。
-
假如你想使用字面值整数定义一个long类型变量,那么该字面值常量的后面应该加上一个"L"区分(禁止使用小写"l")。
-
Java当中的小数字面值常量,默认当作double处理。假如你想使用字面值小数定义一个float类型变量,那么该字面值常量的后面应该加上一个"F"或"f"区分。
-
定义一个变量是有它的作用范围的,这个范围通常用{}来界定,同样一个{}不能有同名变量。
-
虽然Java语法允许一行定义多个相同数据类型的变量,但规范的Java代码禁止这样做!

浙公网安备 33010602011771号