【零基础学Java知识梳理超详细版】第一章-Java概述与基本知识

序言

【写在前面的话】我的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特点

  1. Java 语言是面向对象的(oop)

    简单来说,面向对象是一种程序设计技术。其重点放在数据(对象)和对象的接口上。

  2. Java 语言是健壮的。其强类型机制、异常处理、垃圾自动收集是健壮性的保证。

    Java 强调早期问题检测、后期动态检测,及消除易出错的情况。其编译器能检测很多其他语言仅在运行时才会发现的问题。

  3. Java 语言是跨平台性的:一个编译好的 .class 文件可以在多个不同系统下直接运行。

    Java 中没有 “依赖具体实现” 的地方。其基本数据类型大小、有关运算的行为等都有明确说明。其绝大多数库都能很好地支持平台独立性,而不用担心操作系统。

  4. Java 语言是解释型的:解释型语言编译后需要解释器才能运行。相对的,编译型语言可以被直接执行。

    Java 解释器能在任何移植了解释器的机器上直接执行 Java 字节码。

1.3 Java的开发工具

  • javac:Java 编译器。将 Java 程序编译成字节码
  • java:Java 解释器。执行已经转换为字节码的文件
  • jdb:Java 调试器。调试 Java 程序
  • javap:反编译。将类文件还原回方法和变量
  • javadoc:文档生成器。创建 HTML 文件

1.4 Java运行基础

  1. JVM:Java虚拟机
    • JVM 是–跨平台性的基础。被包含在 JDK 中。
    • 不同平台有各自对应的不同 JVM
    • JVM 屏蔽了底层平台的区别。能做到 ”一次编译,到处运行”
  2. JDK:Java Development Kit(Java开发工具包)
    • JDK = JRE + Java 的开发工具(Java,Javac,Javadoc 等等)
    • 这是给开发人员使用的,包含 JRE
  3. 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开发注意事项

  1. 源文件以 .java 为扩展名,源文件的基本组成部分是类(class)

  2. Java 应用程序的执行入口是 main() 方法。其有固定的书写格式:

    public static void main(string[]args){…}
    
  3. Java 语言严格区分大小写。

  4. Java 方法由一条条语句构成,每个语句都以 ; 结束。

  5. 大括号 { } 是成对出现的,缺一不可。习惯先写 {} 再写代码

  6. 一个源文件中最多只有一个 public 类,其余类不限。

  7. 如果文件中包含 public 类,则文件名必须按该类命名。

  8. 也可以把 main 方法写在非 public 类中,然后运行指定非 public 类,这样入口方法是非 public 类的主方法。

  9. 在控制台按tab键可以实现代码补齐。按方向键 ↑ 或 ↓ 可以调用历史代码。

1.7 代码规范

  1. 类、方法的注释要以 Javadoc 的方式来写

  2. 非 Javadoc 的注释,往往是给维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等。

  3. 不要用 a、b,这种名称命名变量,尽量写得清楚 int age = 10;

    另外,Java 源代码使用的是 Unicode 码,因此汉语也能作为标识符。但不推荐使用汉语做标识符。

  4. 使用tab键操作,使代码右移。使用 shift+tab 键,使代码左移。

  5. 运算符两边各加入空格。注意排版规范。

  6. 源文件使用 UTF-8 编码。

  7. 代码行宽度不要超过 80 个字符。超过时通过换行保持简洁。

  8. 代码编写次行风格及行尾风格。

    次行风格:换行输入{ },使其总在行头
    行尾风格:在一行的末尾输入 {,换行输入 }

  9. 一段代码完成一个小功能,尽量不要混合。这样更加灵活。

1.8 Java转义字符

  1. \t: 一个制表位,实现对齐功能
  2. \n:换行符
  3. \\:一个 \
  4. \":一个 "
  5. \':一个 ’
  6. \r:一个回车(不是换行)
  7. \.:一个小圆点 .
  8. \b:退格键
  9. \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 "一段文本"
      	*/
      
      1. 只提供类、方法或变量的名字。那个场合,使用 # 来分隔类名和方法名
      2. @see 后有一个 < 字符的场合,需要指定超链接。可以指向任何URL
      3. @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命令

查看帮助:helphelp 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 文件名 目录

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eric天哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值