注释
注释 (comment) 是对代码的解释和说明,使够更加轻松地了解代码。因此。为代码添加注释是十分必须要的。
单行注释
// 这是一个单行注释
通过换行结束。
多行注释(块注释)
/* 这是一个
多行注释 */
以
*/
结束。
关键字、保留字与标识符
关键字(keyword)
Java 中已经定义好的、被保留的、具有特殊含义、不能再随意使用的字符。
全部都是小写字母、不含数字、符号等,在专业编辑器或 IDE 中往往有高亮着色。
true
、false
和null
是用于定义数据类型值的字面值。 关键字比较多,学到哪记到哪即可。
保留字(reserved word)
现有的 Java 版本尚未使用,但以后版本可能会作为关键字使用。命名标识符时要避免使用这些保留字。
如:
goto
、const
等。
标识符(identifier)
自己定义内容。如类名、变量名、方法名、接口名、包名等。
不遵守以下规则,将导致编译失败而无法生成字节码文件。
命名规则(要求)
- 可以包含 26 个英文字母(区分大小写)、数字(0~9)、
$
和_
; - 不能以数字开头;
-
命名规范(建议)
包名:多单词组成时,所有字母都小写;
- 类名、接口名:首字母大写,其后各单词首字母大写(大驼峰式);
- 变量名、方法名:第一个单词首字母小写,其后各单词首字母大写(小驼峰式);
- 常量名:所有字母都大写。单词间用下划线连接。
为了提高阅读性,尽量做到“见名知意”; Java 采用
Unicode
字符集,因此标识符也可以用汉字声明,但是不建议使用。
常量与变量
常量
常量是在 Java 程序运行期间,固定不变的数据。
类型 | 含义 | 示例 |
---|---|---|
整数常量 | 所有整数 | 0 、1 、567 、-9 |
浮点数常量 | 所有浮点数(小数) | 0.0 、-0.1 、2.55 |
字符常量 | 单引号引起来,只能写 1 个字符,必须有内容 | 'a' 、'好' 、' ' |
字符串常量 | 用双引号引起来,可以写多个字符(无长度限制),或留空 | "A" 、"Hello" 、"你好" 、"" |
布尔常量 | 只有true 和false 这 2 个值 |
true 、false |
空常量 | 只有一个值null 代表没有任何数据,且不可使用,如打印输出 |
null |
变量
区别于常量这种固定不变的数据,变量的值在程序执行过程中可以发生变化。Java 要求个变量每次只能保存一个数据,且必须明确数据的类型。
创建变量的方式
- 只要
<变量名>
前接有<数据类型>
即是创建新变量,而不同变量不可重名;<数据值>
不能超过<数据类型>
的表数范围,否则在编译时将出现“不兼容的类型”错误;<变量名>
应先赋值,后使用,否则在编译时将出现“变量尚未初始化”错误;<变量名>
的使用不能超过作用域 范围,否则在编译时将出现“找不到符号”错误;作用域:从定义变量的代码行开始,到直接所属的大括号
}
为止的范围。先于这个范围,变量尚未定义;超过这个范围,变量已被回收;
- 可在一个语句中一次性创建多个具有相同
<数据类型>
的<变量名>
,亦可同时赋值(int x, y, z;
或int a = 1, b = 2, c = 3;
但这是不被推荐的做法)。
创建变量后为变量赋值
创建并立即为变量赋值
数据类型
Java 的数据类型分为基本数据类型和引用数据类型 2 大类:
基本数据类型
基本数据类型包括整型(长整型、整型、短整型、字节型)、浮点型(单精度浮点型、双精度浮点型)、字符型和布尔型 4 类,共 8 种。
Java 各整数类型和浮点类型都有固定的表数范围 和字段长度 ,不受具体 OS 环境的影响,保证了 Java 程序的可移植性。
数据类型 | 关键字 | 内存占用 | 表数范围 | 表数范围可视化示意 |
---|---|---|---|---|
字符型 | char |
2 字节 | 0~65535 | |
字节型 | byte |
1 字节 | -128~127 | |
短整型 | short |
2 字节 | -32768~32767 | |
整型 | int |
4 字节 | -231~231-1 | |
长整型 | long |
8 字节 | -263~263-1 | |
单精度浮点型 | float |
4 字节 | 1.4013E-45~3.4028E+38 | |
双精度浮点型 | double |
8 字节 | 4.9E-324~1.7977E+308 | |
布尔型 | boolean |
1 字节 | true, false | - |
bit:最小存储单位;byte:基本存储空间;1 byte = 8 bit。
整型
整型 (int) 的表数范围大约在 ±21 亿左右。
整数的默认类型是 int,如果要使用 long 表示,需用后缀L
或l
修饰(long num01 = 300000000L;
)。
浮点型
浮点数可能无法在内存中被精确地表示,而只是近似值。
浮点数的默认类型是 double,如果要使用 float 表示,需用后缀F
或f
修饰(float num02 = 3.14F;
)。
表数范围与内存占用不一定相关:单精度浮点型 (float) 有比 8 字节占用的长整型 (long) 更广的表数范围,但只占用 4 字节——科学计数法表数更省空间。
字符型
char 型数据用来表示通常意义上的“字符”,Java 中的所有字符都使用的是Unicode
编码,故一个字符可以存储单个字母、汉字或其他书面语的字符,表数范围中的数字与具体的字符一一对应。
三种表现形式:
- 用单引号(
''
)表示的单个字符:char c = '字';
; 用转义字符(
\
)转义其后的字符为特殊字符型常量:char c = '\n';
。这些特殊字符常量有:退格符 (
\b
)、换行符 (\n
)、回车符 (\r
)、制表符 (\t
)、双引号 (\"
)、单引号 (\'
)、反斜线 (\\
)等用 Unicode 值表示字符型常量,值为十六进制整数:
\u000a
表示换行符\n
。由于 char 型对应有 Unicode 编码,故可以参与运算。 字符串不是基本数据类型,而是引用数据类型。
布尔型
引用数据类型
引用数据类型包括类 (class)、数组 (arrary) 和接口 (interface)。