变量: 指的是程序运行时可变的量. 相当于开辟一块内存空间来保存一些数据.
常量: 指的是运行时类型不能发生改变
类型: 则是对变量的种类进行了划分, 不同的类型的变量具有不同的特性
类型
1.int
在 Java 中, 一个 int 变量占 4 个字节. 和操作系统没有直接关系.
取值范围: -2^31 -> 2^31-1 , 也就大概是 -21亿 到 +21亿
2.long
Java 中 long 类型占 8 个字节. 表示的数据范围 -2^63 -> 2^63-1
3.double
Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范 围.
Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势 必会存在一定的精度误差.
4.float
float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准.
5.char
Java 中使用 Unicode 表示字符. 因此一 个字符占用两个字节, 表示的字符种类更多, 包括中文(一个汉字).
6.byte
字节类型表示的也是整数. 只占一个字节, 表示范围较小 (-128 -> +127 )
字节类型和字符类型互不相干
7.short
short 占用 2 个字节, 表示的数据范围是 -32768 -> +32767
8.boolean
boolean 类型的变量只有两种取值, true 表示真, false 表示假.
Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法
9.String
- Java 使用 双引号 + 若干字符 的方式表示字符串字面值.
- 和上面的类型不同, String 不是基本类型, 而是引用类型(后面重点解释).
- 字符串中的一些特定的不太方便直接表示的字符需要进行转义.
注意 字符串“+”表示拼接
String str = "result = ";
int a = 10; int b = 20;
String result = str + a + b;
System.out.println(result);
// 执行结果 result = 1020
变量的作用域:也就是该变量能生效的范围, 一般是变量定义所在的代码块 (大括号)
Java的命名规则:
硬性指标:
- 一个变量名只能包含数字, 字母, 下划线
- 数字不能开头.
- 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量.
注意: 虽然语法上也允许使用中文/美元符($)命名变量, 但是 强烈 不推荐这样做.
软性指标:
1.变量命名要具有描述性, 见名知意.
2. 变量名不宜使用拼音(但是不绝对).
3. 变量名的词性推荐使用名词.
4. 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大写.
常量
1. 字面值常量
2. final 关键字修饰的常量
final int a = 10;
a = 20; // 编译出错. 提示 无法为终变量a分配值
常量不能在程序运行过程中发生修改.