JAVA学习-DAY-02
JAVA学习-DAY-02
基础01:注释
1. 单行注释
特点:
- 从
//开始到行尾结束 - 适合简短说明和临时注释代码
2. 多行注释
特点:
- 以
/*开始,以*/结束 - 中间的所有内容都会被注释
- 不能嵌套(
/* 外层 /* 内层 */ 结束 */会报错)
3. 文档注释
常用Javadoc标签:
| 标签 | 用途 | 示例 |
|---|---|---|
@author |
作者信息 | @author 张三 |
@version |
版本信息 | @version 1.2 |
@param |
方法参数说明 | @param username 用户名 |
@return |
返回值说明 | @return 操作结果 |
@throws |
抛出的异常 | @throws IOException |
@see |
参考链接 | @see java.util.ArrayList |
@since |
引入版本 | @since 1.8 |
@deprecated |
已过时 | @deprecated 使用新方法代替 |
基础02:标识符
定义
标识符是程序员为程序元素(变量、方法、类、接口等)自定义的名称。
命名规则(必须遵守)
组成字符:
- 字母(A-Z, a-z)
- 数字(0-9)
- 下划线(_)
- 美元符号($)
- Unicode字符(支持中文,但不推荐)
首字符规则:
- 不能以数字开头
- 必须以字母、下划线(_)或美元符号($)开头
大小写敏感:
myVariable和myvariable是不同的标识符
不能是Java关键字或保留字
长度无限制(但应合理)
命名规范
这些不是语法要求,但被广泛接受为行业标准:
| 元素类型 | 命名规范 | 示例 |
|---|---|---|
| 类名、接口名 | 帕斯卡命名法(大驼峰) | Student, ArrayList, Runnable |
| 方法名、变量名 | 驼峰命名法(小驼峰) | getName(), calculateTotal(), studentAge |
| 常量名 | 全大写,下划线分隔 | MAX_SIZE, PI, DEFAULT_TIMEOUT |
| 包名 | 全小写,点号分隔 | com.example.project, java.util |
| 类型参数 | 单个大写字母 | T, E, K, V |
基础03:关键字
定义
关键字是Java语言预先定义的、具有特殊意义的保留字,不能用作标识符。
Java关键字列表
1. 数据类型相关
| 关键字 | 说明 |
|---|---|
byte |
8位整数类型 |
short |
16位整数类型 |
int |
32位整数类型 |
long |
64位整数类型 |
float |
单精度浮点型 |
double |
双精度浮点型 |
char |
字符类型 |
boolean |
布尔类型 |
void |
无返回值 |
2. 流程控制
| 关键字 | 说明 |
|---|---|
if else |
条件判断 |
switch case default |
多路分支 |
for while do |
循环控制 |
break continue |
循环中断/继续 |
return |
方法返回 |
3. 类与对象相关
| 关键字 | 说明 |
|---|---|
class |
定义类 |
interface |
定义接口 |
enum |
定义枚举 |
extends |
继承类 |
implements |
实现接口 |
new |
创建对象 |
this |
当前对象引用 |
super |
父类引用 |
instanceof |
类型检查 |
4. 访问控制
| 关键字 | 说明 |
|---|---|
public |
公开访问 |
protected |
受保护访问 |
private |
私有访问 |
default |
包级访问(隐式) |
5. 修饰符
| 关键字 | 说明 |
|---|---|
static |
静态成员 |
final |
不可修改 |
abstract |
抽象类/方法 |
synchronized |
线程同步 |
transient |
不序列化 |
volatile |
易变变量 |
native |
本地方法 |
strictfp |
严格浮点 |
6. 异常处理
| 关键字 | 说明 |
|---|---|
try catch finally |
异常捕获 |
throw |
抛出异常 |
throws |
声明异常 |
7. 包相关
| 关键字 | 说明 |
|---|---|
package |
声明包 |
import |
导入包 |
总结表
| 概念 | 定义 | 规则 | 示例 |
|---|---|---|---|
| 标识符 | 程序员定义的名称 | 1. 字母/数字/_/$组成 2. 不以数字开头 3. 不是关键字 | myVar, _count, $total |
| 关键字 | Java预定义的保留字 | 1. 全部小写 2. 不能用作标识符 3. 有特定语法意义 | class, if, public |
| 保留字 | 预留的特殊单词 | 不能用作标识符 | true, false, null |
| 命名规范 | 行业约定 | 1. 类名大驼峰 2. 变量小驼峰 3. 常量全大写 | Student, getAge(), MAX_SIZE |
基础04:数据类型
Java数据类型分为两大类:基本数据类型和引用数据类型。
Java是强类型语言。要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。
Java数据类型
├── 基本数据类型 (Primitive Types) - 8种
│ ├── 整型 (4种)
│ │ ├── byte (1字节)
│ │ ├── short (2字节)
│ │ ├── int (4字节) ← 默认整型
│ │ └── long (8字节)
│ ├── 浮点型 (2种)
│ │ ├── float (4字节)
│ │ └── double (8字节) ← 默认浮点型
│ ├── 字符型 (1种)
│ │ └── char (2字节)
│ └── 布尔型 (1种)
│ └── boolean (JVM依赖)
└── 引用数据类型 (Reference Types)
├── 类 (Class)
├── 接口 (Interface)
├── 数组 (Array)
└── 枚举 (Enum)
基础05:类型转换
类型转换指的是将一种原始数据类型的值赋给另一种类型。
在 Java 中,有两种类型的转换:
- 放大转换(Widening Casting)(自动) - 将较小的类型转换为较大的类型
byte->short->char->int->long->float->double - 缩小转换(Narrowing Casting)(手动) - 将较大的类型转换为较小的类型
double->float->long->int->char->short->byte
基础06:变量、常量、作用域
JAVA是一种强类型语言,每个变量都必须声明其类型。
JAVA变量是程序中最基本的存储单元,其要素包含变量名,变量类型和作用域。
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
常量:初始化后不能再改变值。不会变动的值。
常量名一般用大写字母
作用域
总结
| 作用域类型 | 声明位置 | 生命周期 | 访问规则 | 最佳实践 |
|---|---|---|---|---|
| 类作用域 | 类内部,方法外部 | 类/对象生命周期 | 整个类内部 | 使用合适的访问修饰符 |
| 方法作用域 | 方法内部 | 方法执行期间 | 方法内部 | 尽量延迟声明,缩小作用域 |
| 块作用域 | {}内部 |
块执行期间 | 块内部 | 避免过度使用 |
| 循环作用域 | 循环结构 | 循环执行期间 | 循环内部 | 每次迭代重新初始化 |
| 匿名类/Lambda | 匿名类/Lambda内部 | 与对象相同 | 自身+外部final变量 | 注意final要求 |
基础07:基本运算符
Java运算符
├── 算术运算符
│ ├── 基本算术运算符 (+ - * / %)
│ └── 自增自减运算符 (++ --)
├── 关系运算符(比较运算符)
│ └── (== != > < >= <=)
├── 逻辑运算符
│ ├── 逻辑与 (&& &)
│ ├── 逻辑或 (|| |)
│ ├── 逻辑非 (!)
│ └── 逻辑异或 (^)
├── 位运算符
│ ├── 位与 (&)
│ ├── 位或 (|)
│ ├── 位异或 (^)
│ ├── 位取反 (~)
│ ├── 左移 (<<)
│ ├── 右移 (>>)
│ └── 无符号右移 (>>>)
├── 赋值运算符
│ ├── 简单赋值 (=)
│ └── 复合赋值 (+= -= *= /= %= 等)
├── 条件运算符(三目运算符)
│ └── (?😃
├── instanceof运算符
└── 其他运算符
├── 成员访问运算符 (.)
├── 数组访问运算符 ([])
├── 方法调用运算符 (())
└── 类型转换运算符 ((type))
基础08:包机制
包(Package)是Java中组织类和接口的一种命名空间机制,类似于文件夹。
基础09:JAVADoc生成文档
# 使用引号包裹文件名
javadoc -d docs "Test.java"

浙公网安备 33010602011771号