序言
【写在前面的话】我的Java基础知识梳理和笔记基于jdk1.8,并且参考了韩顺平老师的java基础课程。老韩b站的这套免费视频课程很适合0基础的小伙伴们学习,强烈推荐!!!他的vip课程我听说貌似性价比不高,就见仁见智了,以下是b站课程链接,感兴趣的初学java的小伙伴可以看看。
【零基础 快速学Java】韩顺平 零基础30天学会Java
https://www.bilibili.com/video/BV1fh411y7R8/?share_source=copy_web&vd_source=a77ccc6c65bb45b5d255a60b791fc454
以下是知识梳理和笔记,使用markdown编写。
1.1 java历史
- Java语言由Gosling创造
- 目前Java版权属于Oracle甲骨文公司
- 长期支持的版本有 Java8 与 Java11(后面的17和21也是LTS长期支持版本,但这两个版本是使用最多的版本)
- Java SE:标准版
Java EE:企业版
Java ME:小型版
1.2 Java特点
-
Java 语言是面向对象的(oop)
简单来说,面向对象是一种程序设计技术。其重点放在数据(对象)和对象的接口上。
-
Java 语言是健壮的。其强类型机制、异常处理、垃圾自动收集是健壮性的保证。
Java 强调早期问题检测、后期动态检测,及消除易出错的情况。其编译器能检测很多其他语言仅在运行时才会发现的问题。
-
Java 语言是跨平台性的:一个编译好的 .class 文件可以在多个不同系统下直接运行。
Java 中没有 “依赖具体实现” 的地方。其基本数据类型大小、有关运算的行为等都有明确说明。其绝大多数库都能很好地支持平台独立性,而不用担心操作系统。
-
Java 语言是解释型的:解释型语言编译后需要解释器才能运行。相对的,编译型语言可以被直接执行。
Java 解释器能在任何移植了解释器的机器上直接执行 Java 字节码。
1.3 Java的开发工具
- javac:Java 编译器。将 Java 程序编译成字节码
- java:Java 解释器。执行已经转换为字节码的文件
- jdb:Java 调试器。调试 Java 程序
- javap:反编译。将类文件还原回方法和变量
- javadoc:文档生成器。创建 HTML 文件
1.4 Java运行基础
- JVM:Java虚拟机
- JVM 是–跨平台性的基础。被包含在 JDK 中。
- 不同平台有各自对应的不同 JVM
- JVM 屏蔽了底层平台的区别。能做到 ”一次编译,到处运行”
- JDK:Java Development Kit(Java开发工具包)
- JDK = JRE + Java 的开发工具(Java,Javac,Javadoc 等等)
- 这是给开发人员使用的,包含 JRE
- JRE:Java Runtime Environment(Java运行环境)
- JRE = JVM + Java SE 标准类库(Java 的核心类库)
- 是运行一个 Java 程序的基本条件
1.5 Java执行流程分析
.Java 文件(源文件) --> javac(编译)--> .class 文件(字节码文件) --> java(运行)--> 结果
1.5.1 编译
javac [选项] 源文件名.java //[] 中是可选项
- 通过编译器将 Java 源文件编译成 JVM 可识别的字节码文件。字节码文件是二进制格式的,其格式是统一的。在源文件目录下使用 Javac 编译工具对 Java 文件进行编译。
- 如果没有错误将没有提示,当前目录会对应其中每一个类生成对应名称的 .class 文件,即字节码文件,也是可执行的 Java 程序。
1.5.2 运行
java [选项] 程序名 [参数列表] //[] 中是可选项
- 有了可执行的 Java 程序(字节码文件)
- 通过运行工具 Java.exe 对字节码文件进行执行,本质是将 .class 文件装载到 JVM 运行。
- 修改后的 .Java 源文件需要重新编译
1.6 Java开发注意事项
-
源文件以 .java 为扩展名,源文件的基本组成部分是类(class)
-
Java 应用程序的执行入口是 main() 方法。其有固定的书写格式:
public static void main(string[]args){…}
-
Java 语言严格区分大小写。
-
Java 方法由一条条语句构成,每个语句都以 ; 结束。
-
大括号 { } 是成对出现的,缺一不可。习惯先写 {} 再写代码
-
一个源文件中最多只有一个 public 类,其余类不限。
-
如果文件中包含 public 类,则文件名必须按该类命名。
-
也可以把 main 方法写在非 public 类中,然后运行指定非 public 类,这样入口方法是非 public 类的主方法。
-
在控制台按tab键可以实现代码补齐。按方向键 ↑ 或 ↓ 可以调用历史代码。
1.7 代码规范
-
类、方法的注释要以 Javadoc 的方式来写
-
非 Javadoc 的注释,往往是给维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等。
-
不要用 a、b,这种名称命名变量,尽量写得清楚 int age = 10;
另外,Java 源代码使用的是 Unicode 码,因此汉语也能作为标识符。但不推荐使用汉语做标识符。
-
使用tab键操作,使代码右移。使用 shift+tab 键,使代码左移。
-
运算符两边各加入空格。注意排版规范。
-
源文件使用 UTF-8 编码。
-
代码行宽度不要超过 80 个字符。超过时通过换行保持简洁。
-
代码编写次行风格及行尾风格。
次行风格:换行输入{ },使其总在行头
行尾风格:在一行的末尾输入 {,换行输入 } -
一段代码完成一个小功能,尽量不要混合。这样更加灵活。
1.8 Java转义字符
\t
: 一个制表位,实现对齐功能\n
:换行符\\
:一个 \\"
:一个 "\'
:一个 ’\r
:一个回车(不是换行)\.
:一个小圆点 .\b
:退格键\u????
:一个具体的 Unicode 字符。其中 ??? 是 4 位 16 进制数
\???
:一个具体的 Unicode 字符。其中 ??? 是 3 位 8 进制数
1.9 注释
注释:用于注解说明程序的文字。其提高了代码的可读性,是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。
被注释的文字不会被 JVM 解释执行。
1.9.1 注释类型
-
单行注释
//这是一条单行注释
-
多行注释
/* 这 是一段 多行注释 */
-
文档注释
/** *@auther Melody *@version 3.2.0 */
以下写法也同样合法:
/** 每行开头不加星号 */
1.9.2 文档注释
文档注释梳理
文档注释的注释内容可被 JDK 中的 Javadoc 工具解析,生成一套以 HTML 形式体现的说明文档。
抽取注释:javadoc -d 生成目录 -author -... 文档名.java
文档注释包含 标记 和紧随其后的自由格式文本:
-
标记:
以
@
开始,如@author
一些通用注释:
-
@since 始于
:创建一个 始于 条目。其后文本可以是引入该特性的版本的任何描述 -
@author 作者
:产生一个 作者 条目。可以使用多个@author
标记 -
@version 版本
:产生一个 版本 条目。这里的文本可以是对当前版本的任意描述 -
@link 超链接
:产生一个 超链接,链接到 javadoc 相关部分或外部文档 -
@see 引用
:在 see also 部分增加一个超链接。可以添加多个@see
标记,但必须放在一起。这里的引用有以下选择:
/** *@see com.test.Example#act() *@see <a herf="../../../../../../">Melody's Box</a> *@see "一段文本" */
- 只提供类、方法或变量的名字。那个场合,使用 # 来分隔类名和方法名
@see
后有一个 < 字符的场合,需要指定超链接。可以指向任何URL@see
后有一个 " 字符的场合,文本会显示在 see also 部分
-
-
自由格式文本:
第一句应该是一个概要性的句子。javadoc 会自动抽取这些语句生成概要页
自由格式文本中,可以使用 HTML 修饰符
注释的插入
javadoc 工具抽取文档注释时,会从以下位置抽取:
- 模块
- 包(包注释)
要想产生包注释,必须在每个包目录中添加一个单独的文件。
有 2 种方法:- 提供一个名为 package-info.java 的文件。其中 只能 包含文档注释,以及后面的一个 package 语句。不能包含更多的代码或注释。
- 提供一个名为 package.html 的 HTML 文件。此时会抽取
<body>...</body>
间的所有文本
- 公共类和接口(类注释)
类注释必须放在 import 语句后,类定义之前 - 公共的和受保护的字段
只需要对公共字段(通常是静态常量)建立文档 - 公共的和受保护的构造器和方法
方法注释必须放在所描述的方法之前。除了通用标记外,还能使用如下标记:-
@param 变量描述
:该标记能给当前方法的 参数 部分添加一个条目。该描述可以占据多行。一个方法的所有 @param 标记必须放在一起
-
@return 返回值描述
:该标记能给当前方法的 返回值 部分添加一个条目。该描述可以占据多行。 -
@throws 异常描述
:该标记能给当前方法的可能抛出的 异常 添加一个条目。
-
1.10 DOS基础知识
DOS:Disk Operating System(磁盘操作系统)
1.10.1 DOS基本原理
-
在 cmd(控制台)输入指令 --> DOS系统接受指令 --> 解析指令 --> 执行指令
-
相对路径和绝对路径(举例从 JDK8\bin 访问到 JDK8\jre\bin\LICENSE)
相对路径:从当前目录开始定位,形成的路径
..\jre\bin\LICENSE
返回上一级:..\
绝对路径:从顶级目录开始定位,形成的路径d:\Program\JDK8\jre\bin
1.10.2 常用DOS命令
查看帮助:
help
或help cd
等查看目录内容:
dir
查看当前目录 或
dir d:\Program\JDK8\bin
查看指定目录切换到其他盘:
cd /D d:
从 C盘 切换至 D盘切换到当前盘的其他目录:
cd d:\Program\JDK8\jre\bin
返回上级目录:
cd ..
切换至根目录:
cd \
查看子集目录:
tree 当前目录
或
tree d:/Program 指定目录
清屏:
cls
退出:
exit
创建/删除目录:
md 目录名
rd 目录名
拷贝/删除文件:
copy 文件名 目录
del 文件名
移动文件:
move 文件名 目录