Java基础语法
注释、标识符、关键字
注释
注释通常用来表达意图,在《重构》中则推荐用各类名称(函数名、类名、变量名)来表达意图,故,注释中可以多加入细节描述、注意事项等内容来避免犯错
注释类型
-
单行注释(Line Comment):使用"//"开头,该行之后内容为注释,不会被执行
//这是单行注释
-
多行注释(Block Comment):使用/* 注释内容 */这种结构,注释内容不会被执行
/* 这 是 多 行 注 释 */
-
文档注释:使用/** 注释内容 */这种结构
/** * @Description 这是文档注释 */
关键字
关键字 | 释义 | 用途 |
---|---|---|
abstract | 抽象 | 类、方法 |
assert | 断言 | 判断 |
boolean | 布尔 | 声明布尔类型 |
break | 打断 | 跳出for、while循环 |
byte | 字节 | 声明字节类型,一字节是八位 |
case | 情况 | case…switch条件选择 |
catch | 捕获 | try…catch捕获异常 |
char | 字符 | 声明字符类型,Java中16位 |
class | 类 | 声明类 |
const | 常量 | 声明常量 |
continue | 继续 | 进入下一轮循环 |
default | 默认 | |
do | 执行 | do…while循环首次执行 |
double | 双精度 | 定义双精度类型 |
else | 否则 | if…else条件选择 |
enum | 枚举 | 定义枚举类型 |
extends | 继承 | 继承 |
final | 最终 | 定义不可变量 |
finally | 最后 | try…catch…finally最后执行 |
float | 浮点数 | 定义浮点数 |
for | 循环 | 定义for循环 |
goto | 跳转 | 跳转命令 |
if | 如果 | if条件判断 |
implements | 实现 | 实现接口 |
import | 导入 | 导包 |
instanceof | 类实例 | 判断是否为类的实例 |
int | 整型 | 定义整型 |
interface | 接口 | 定义接口 |
long | 长整型 | 定义长整型 |
native | ||
new | 调用构造器 | |
package | 包 | |
private | 私有 | 私有的方法、成员变量不可见 |
protected | 保护 | 子类可见 |
public | 公有 | 所有类可见 |
return | 返回 | 返回值 |
strictfp | ||
short | 短整型 | 短整型 |
static | 静态 | 静态方法 |
super | 超类、父类 | 调用直接父类 |
switch | 选择 | 配合case |
synchronized | 锁 | 数据一致性 |
this | 当前对象 | 调用当前对象 |
throw | 抛出异常 | 向上抛异常 |
throws | 声明异常 | 声明可能抛出的异常 |
transient | ||
try | 尝试 | try…catch执行体 |
void | 无返回 | 无需返回值 |
volatile | ||
while | while循环 | while循环 |
标识符
必须以字母、$、_开头,否则不合法;
不能使用关键字;
区分大小写;
不建议使用中文命名;
不建议使用拼音命名;
最好使用峰驼命名,做到见名知意;
数据类型
Java是强类型语言,必须先定义再使用!
Java的数据类型
整型进制表示方法
0b 二进制;
0 八进制;
0x 十六进制;
System.out.println("0b10"); //输出2
System.out.println("010"); //输出8
System.out.println("10"); //输出10
System.out.println("0x10"); //输出16
浮点数舍入误差
涉及金钱计算,最好采用BigDecimal类。
字符编码
字符本质仍是数字。
System.out.println((int)'a'); //97
System.out.println('\u0061'); //a Unicode编码
类型转换
强制类型转换
(类型)变量名
从高到低,可能导致内存溢出,精度损失
int a = 128;
byte b = (byte)a; //输出-128
float c = 3.14;
int d = (int)c; //输出3
自动类型转换
从低到高,计算时取高类型
变量、常量
变量
存储在内存中的可以变化的量,由变量类型、变量名、变量值构成。可以理解为把东西放在盒子中,盒子的尺寸就是变量类型,盒子的标签就是变量名,盒子内装的东西就是变量值。变量根据作用域分为类变量、实例变量、局部变量。
- 类变量:声明在类中,带static修饰符,可通过类名.变量名直接调用
- 实例变量:声明在类中,方法外,无static修饰符,通过类实例调用
- 局部变量:声明在方法中,只有方法执行时可用
常量
特殊的变量。被final修饰,其值不允许被改变。
运算符
算数运算符
+、-、*、/、%、++、–
赋值运算符
=
关系运算符
<、<=、>、>=、==、!=
逻辑运算符
&&、||、!
位运算符
&、|、~、^、>>、<<、>>>
条件运算符
?: if else的简化
int a = 3;
int b = 4;
int c = a>b?a:b;
if(a>b){
c = a;
}else{
c = b;
}
包机制、JavaDoc
包
命名空间
使用package声明包路径
使用import关键字导包
JavaDoc
/**
* @author 作者
* @version 版本
* @since 初始版本
* @param 参数
* @deprecated 描述
* @create 2021-01-06 22:51
*/
dos命令javadoc生成对应的api文档