注释

注释 (comment) 是对代码的解释和说明,使够更加轻松地了解代码。因此。为代码添加注释是十分必须要的。

单行注释

// 这是一个单行注释

通过换行结束。

多行注释(块注释)

/* 这是一个
多行注释 */

*/结束。

关键字、保留字与标识符

关键字(keyword)

Java 中已经定义好的、被保留的、具有特殊含义、不能再随意使用的字符。
全部都是小写字母、不含数字、符号等,在专业编辑器或 IDE 中往往有高亮着色。

truefalsenull是用于定义数据类型值的字面值。 关键字比较多,学到哪记到哪即可。

保留字(reserved word)

现有的 Java 版本尚未使用,但以后版本可能会作为关键字使用。命名标识符时要避免使用这些保留字。

如:gotoconst等。

标识符(identifier)

自己定义内容。如类名、变量名、方法名、接口名、包名等。

不遵守以下规则,将导致编译失败而无法生成字节码文件。

命名规则(要求)

  • 可以包含 26 个英文字母(区分大小写)、数字(0~9)、$_
  • 不能以数字开头;
  • 不能和关键字重名。

    命名规范(建议)

  • 包名:多单词组成时,所有字母都小写;

  • 类名、接口名:首字母大写,其后各单词首字母大写(大驼峰式);
  • 变量名、方法名:第一个单词首字母小写,其后各单词首字母大写(小驼峰式);
  • 常量名:所有字母都大写。单词间用下划线连接。

    为了提高阅读性,尽量做到“见名知意”; Java 采用Unicode字符集,因此标识符也可以用汉字声明,但是不建议使用。

常量与变量

常量

常量是在 Java 程序运行期间,固定不变的数据。

类型 含义 示例
整数常量 所有整数 01567-9
浮点数常量 所有浮点数(小数) 0.0-0.12.55
字符常量 单引号引起来,只能写 1 个字符,必须有内容 'a''好'' '
字符串常量 用双引号引起来,可以写多个字符(无长度限制),或留空 "A""Hello""你好"""
布尔常量 只有truefalse这 2 个值 truefalse
空常量 只有一个值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 表示,需用后缀Ll修饰(long num01 = 300000000L;)。

浮点型

浮点数可能无法在内存中被精确地表示,而只是近似值。
浮点数的默认类型是 double,如果要使用 float 表示,需用后缀Ff修饰(float num02 = 3.14F;)。

表数范围与内存占用不一定相关:单精度浮点型 (float) 有比 8 字节占用的长整型 (long) 更广的表数范围,但只占用 4 字节——科学计数法表数更省空间。

字符型

char 型数据用来表示通常意义上的“字符”,Java 中的所有字符都使用的是Unicode编码,故一个字符可以存储单个字母、汉字或其他书面语的字符,表数范围中的数字与具体的字符一一对应。
三种表现形式:

  1. 用单引号('')表示的单个字符:char c = '字';
  2. 用转义字符(\)转义其后的字符为特殊字符型常量:char c = '\n';

    这些特殊字符常量有:退格符 (\b)、换行符 (\n)、回车符 (\r)、制表符 (\t)、双引号 (\")、单引号 (\')、反斜线 (\\)等

  3. 用 Unicode 值表示字符型常量,值为十六进制整数:\u000a表示换行符\n

    由于 char 型对应有 Unicode 编码,故可以参与运算。 字符串不是基本数据类型,而是引用数据类型。

布尔型

用布尔判断逻辑条件,实现程序的流程控制。

引用数据类型

引用数据类型包括类 (class)、数组 (arrary) 和接口 (interface)。