前言
JAVA 语言提供了很多符号,包括:注释、分隔符、运算符、修饰符等。
# 关键字和标识符
关键字
JAVA 语言中有一些具体特殊用途的单词被称为关键字。
标识符
标识符,用于给变量、类、方法命名,有以下要求:
- 可以由
字母、_ 、$
开头 - 可以由
字母、_ 、$ 、数字
组成 - 不能包含空格
- 不能是 JAVA 的关键字
标识符命名约定
小驼峰命名法
- 首个单词的首字母小写
- 其余单词的首字母大写
提示
适用于:方法、变量
大驼峰命名法
- 所有单词的首字母均大写
提示
适用于:类
# 注释
单行注释
// 这是注释
多行注释
/*
这是注释
*/
2
3
文档注释
可以通过 JDK 提供的 javadoc 工具将源代码中的文档注释提取成一份 API 文档。
# 分隔符
分号 ;
JAVA 采用分号作为语句的分割。允许一行书写多个语句,也允许一个语句跨越多行,只需要在合适的位置放置分号以分割语句即可。
花括号 {}
花括号的作用是定义一个代码块,代码块在逻辑上是一个整体。
方括号 []
主要用于访问数组元素。
圆括号 ()
- 在定义方法是包含形参;在调用方法时包含实参
- 在表达式中适当添加括号可以保证运算的正确顺序
(类型)
强制类型转换
空格
适当地在代码中使用空格,可以提升代码的可读性。
点
类/对象 . 成员变量/方法/内部类
表名调用某个类或某个实例的指定成员。
# 运算符
算术运算符
加、减、乘、除、取余、自增、自减
赋值运算符
变量 = 值;
将值赋给变量,需要注意的是,这个表达式本身也有值,其值等于所赋的值。
扩展的赋值运算符
算术运算符可以和等号结合,实现简化代码的作用。
a += 5;
// 等价于
a = a + 5;
2
3
扩展的赋值运算符隐含了强制类型转换
short s = 10;
s += 20;
// 等价于
short s = 10
s = (short)(s + 20)
2
3
4
5
比较运算符
比较运算符用于判断两个值的大小,其结果是一个 boolean 值。
逻辑运算符
符号 | 解释 | 备注 |
---|---|---|
&& | 与 | A && B ,当 A 为假时,结果必定为假,不会再判断 B。 |
& | 不短路的与 | A & B,无论 A 是什么情况,都会判断 B。 |
|| | 或 | A || B,当 A 为真时,结果必定为真,不会再判断 B。 |
| | 不短路的或 | A | B,无论 A 是什么情况,都会判断 B。 |
! | 非 | 取反 |
三目运算符
表达式1 ? 表达式2 : 表达式3
若表达式1为真,则执行表达式2,且整个条件表达式的值为表达式2的值。
若表达式1为假,则执行表达式3,且整个条件表达式的值为表达式3的值。
# 访问修饰符
private修饰符
常用于修饰成员变量,将成员变量隐藏在类的内部,当前类访问权限,仅能在当前类的内部被访问
default修饰符
即不加任何访问修饰符
protected修饰符
子类访问权限,既可以被同一个包下的其他类访问,也可以被不同包中的子类访问
通常情况下,使用 protected 修饰方法,是希望其子类重写这一方法
public修饰符
公共访问权限,可以被所有类访问
修饰成员
可以使用 private、default、protected、public 修饰成员,被修饰后的成员:
- private:只能在当前类中被访问
- default:可以被同一个包下的其它类访问
- protected:可以被同一个包下的其它类,和不同包中的子类访问
- pubilc:可以被所有类访问
# 非访问修饰符
static
使用 static 修饰的变量和方法被称为类变量、类方法。
final
final表示 “最后的、最终的”,用于表示它修饰的变量、方法和类不可改变。
abstract
抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供
abstract 返回值类型 方法名();