Java 学习笔记之标识符与数据类型基础
Java 的标识符可以包含数字、英文字幕、下划线及美元符号,传说标识符还可以是中文之类的宽字符。但是标识符不能以数字开始。Java 的标识符没有长度限制,并且区分大小写。
通常情况下,Java 标识符的命名是匈牙利命名法,与微软通常的风格不同的是,Java 程序员似乎不会把与数据类型有关的东西写在标识符上,比如 Java 中不会出现类似 lpszCmdLine 之类的标识符,当然这只是一个习惯问题。在 Java 中,对于函数,通常采用典型的匈牙利命名法;但是对于变量等,通常是将第一个单词小写,若有第二个单词,才会从第二个单词开始采用驼峰法。不过有时也有例外情况,Java 的常量也有可能被写成像 C 的宏的样子。
Java 程序通常采用 4 格缩进,是否将 Tab 替换为空格倒无所谓。Java 的开大括号一般不会独自占用一行,而闭大括号会独自占一行,并且与对应的开大括号所在行的行首对齐。
比如以下就是一个例子:
1 2 3 4 5 6 7 | public class DataTypeApp { protected int theValue; protected final int DEFAULT_VALUE = 1; public function GetValue() { return theValue; } } |
最后,Java 的标识符不能取用保留字。网上对 Java 保留字的描述比较混乱,在这里我本着宁可信其有不可信其无的态度,就取一个并集吧:
- 数据类型:boolean, int, long, short, byte, float, double, char, class, interface
- 流程控制:if, else, do, while, for, switch, case, default, break, continue, return, try, catch, finally
- 修饰符:public, protected, private, final, void, static, strictfp, abstract, transient, synchronized, volatile, native
- 动作:package, import, throw, throws, extends, implements, this, super, instanceof, new
- 保留字:true, false, null, goto, const
不过我们需要注意到,const 和 goto 在目前的 Java 里没有被使用,但一样不能作为标识符的名称。
Java 的数据类型分两类,一类是基本数据类型,一类是引用数据类型。我们可以列一个这样的表:
- 数据类型
- 基本数据类型
- 数值型
- 整数类型:byte(1), short(2), int(4), long(8)
- 浮点类型:float(4), double(8)
- 字符型:char
- 布尔型:boolean
- 数值型
- 引用数据类型
- 类:class
- 接口:interface
- 数组:[]
- 基本数据类型
括号内数字是数据类型所占字节数,目前没有发现 Java 允许无符号整数,就是说以上例举的都是有符号的整数。目前我还不知道整数数据所占字节数与 Java 虚拟机是 32 位还是 64 位是否有关联。默认的字面常量类型,整数为 int, 浮点为 double, 与 C 是类似的;如果需要其它类型的字面常量,方法与 C 一样:
1 2 3 4 | int i = 600; long j = 18446744073709551615l; double a = 3.1415926535897932; float b = 3.14159265f; |
Java 的 char 都是 Unicode 的,所以可以是中文字符,不像 C++ 需要 wchar_t . 并且 Java 的 char 支持转义符:
1 2 3 4 | char c1 = 'a'; char c2 = '中'; char c3 = '\u007f'; // 16 进制转义 char c4 = '\n'; |
