从01开始 从01开始
首页
  • 计算机简史
  • 数字电路
  • 计算机组成原理
  • 操作系统
  • Linux
  • Docker
  • 计算机网络
  • 计算机常识
  • MySQL
  • Git
  • JavaSE
  • Java高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC基础
  • SpringBoot

    • SpringBoot基础
  • Windows使用技巧
  • 输入法
  • 浏览器
  • 终端软件
  • 装机
  • 校招
  • 五险一金等
  • 职场规划
  • 关于离职
  • 杂谈
  • 教程简介
  • 英语学习方法论
  • 字母
  • 音标
  • 单词
  • 语法
  • 英语兔的相关视频
  • Larry想做技术大佬的相关视频
  • 住房相关
  • 关于税
  • 睡眠
  • 皮肤
  • 口腔健康
  • 三国杀
  • 网站介绍
  • 网站动态
  • 友人帐
  • 如何搭建一个博客
  • 关于邮件服务器
  • 本站的分享资料
  • 归档
  • 年度总结

    • 2022年度总结
    • 2023年度总结
GitHub (opens new window)

peterjxl

人生如逆旅,我亦是行人
首页
  • 计算机简史
  • 数字电路
  • 计算机组成原理
  • 操作系统
  • Linux
  • Docker
  • 计算机网络
  • 计算机常识
  • MySQL
  • Git
  • JavaSE
  • Java高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC基础
  • SpringBoot

    • SpringBoot基础
  • Windows使用技巧
  • 输入法
  • 浏览器
  • 终端软件
  • 装机
  • 校招
  • 五险一金等
  • 职场规划
  • 关于离职
  • 杂谈
  • 教程简介
  • 英语学习方法论
  • 字母
  • 音标
  • 单词
  • 语法
  • 英语兔的相关视频
  • Larry想做技术大佬的相关视频
  • 住房相关
  • 关于税
  • 睡眠
  • 皮肤
  • 口腔健康
  • 三国杀
  • 网站介绍
  • 网站动态
  • 友人帐
  • 如何搭建一个博客
  • 关于邮件服务器
  • 本站的分享资料
  • 归档
  • 年度总结

    • 2022年度总结
    • 2023年度总结
GitHub (opens new window)
  • JavaSE

  • JavaSenior

  • JavaEE

  • JavaWeb

  • Spring

  • 主流框架

  • SpringMVC

  • SpringBoot

  • 韩顺平

    • 第1章 内容介绍
    • 第2章 Java概述
      • 程序举例
      • Java故事
      • Java特性
      • Java的开发工具
      • JDK介绍
      • 下载和安装JDK
      • 快速入门
      • Java运行机制
      • 开发细节
      • 学习方法
      • 转义字符
      • 易犯错误
      • 注释
      • 文档注释
      • Java代码规范
      • DOS相关命令
      • 本章作业
      • 最后
    • 第3章变量
    • 第4章 运算符
  • Java
  • 韩顺平
2022-11-14
目录

第2章 Java概述

# 第2章 Java概述

本章讲解的内容:

  • Java历史
  • Java特点
  • Java运行机制及运行
  • Java开发环境搭建
  • DOS常用指令

‍

# 程序举例

对应第7讲

在正式讲解之前,给零基础的同学科普下什么是程序。如果有基础,可以跳过。

程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。举例:

换言之,程序就是指令的集合

换言之,程序就是指令的集合,是为了完成某些功能而写的。我们举一个生活的案例,再讲一个非常简单的程序。老师让一个小同学完成1+1的题目,直接去黑板上写答案即可; 而如果是程序员,首先是写一个程序(其实就是文件,类似我们在Word文档写内容,只不过我们这里写的是代码语句),然后在里面计算1+1,然后输出即可,计算机会去执行这个程序,然后输出结果,也很简单,大家不用想的太复杂。

‍

‍

‍

‍

我们演示下,大家不用跟着走,看看就行,有个大概的印象:

  1. 新建Java文件(改文件后缀名,得设置打开文件扩展名)

  2. 用记事本打开该文件

  3. 编写一个最简单的程序(有很多看不懂,没关系,很正常,只是为了让大家体验)

  4. 输入以下代码,并保存

    //老师写的最简单的程序,完成1+1
    public class Test{
      public static void main(String[] args){
        int res = 1+1;
        //显示结果
        System.out.print(res);
      }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
  5. 打开CMD

  6. 编译代码,因为代码是我们人写的,计算机是看不懂的,将代码转换为计算机能看懂的语言(相当于计算机只认识英语,而我们写的代码是外国语言,得翻译为英文,计算机才认识),这个过程就是编译。

  7. 执行

‍

总结:要让计算机执行某个任务,首先是编写代码,然后编译,让计算机认识这个文件。如果看不懂也没关系,有个大概的印象即可。

‍

‍

‍

# Java故事

对应第8讲

本节课讲讲Java的历史,诞生的故事,不是重点,了解下就可以了(不用背,因为很多我们目前都听不懂,没必要花太多篇幅讲解)

‍

1992:oka被创建,但商标已经被注册了,因此更名为Java

1994:gosling使用Applet,在网页上显示动态的图片,震惊了世界

‍

‍

我们打开网页看看:Oracle Java SE Support Roadmap (opens new window),第一列是Java的版本,第二列是Java发布的日期,第三列是支持维护的日期(如果该版本有问题,需要修复,那么就会在这个版本上进行更新,等到了2022年后,如果有bug就不会维护了)

Release GA Date Premier Support Until Extended Support Until Sustaining Support
7 (LTS) July 2011 July 2019 July 2022 Indefinite
8 (LTS) March 2014 March 2022 December 2030 Indefinite
9 (non‑LTS) September 2017 March 2018 Not Available Indefinite
10 (non‑LTS) March 2018 September 2018 Not Available Indefinite
11 (LTS) September 2018 September 2023 September 2026 Indefinite
12 (non‑LTS) March 2019 September 2019 Not Available Indefinite
13 (non‑LTS) September 2019 March 2020 Not Available Indefinite
14 (non‑LTS) March 2020 September 2020 Not Available Indefinite
15 (non‑LTS) September 2020 March 2021 Not Available Indefinite
16 (non-LTS) March 2021 September 2021 Not Available Indefinite
17 (LTS) September 2021 September 2026**** September 2029 Indefinite
18 (non-LTS) March 2022 September 2022 Not Available Indefinite
19 (non-LTS) September 2022 March 2023 Not Available Indefinite
20 (non-LTS) March 2023 September 2023 Not Available Indefinite
21 (LTS) September 2023 September 2028 September 2031 Indefinite

可以看到2014年,Java8发布了,也是目前使用最广泛的版本。为什么14年发布的,现在还有很多人用呢?因为Java8是长期支持版,LTS(Long-Term-Support),相当于只要有bug,就会修复;而如果不是LTS版,有bug的话等到了维护期限就不管了;那我们肯定就是使用长期支持版,不然有问题谁解决呢,是吧 😅

Java 9和10都是Not Available,不可获得了;而Java11是LTS版,所以目前市面上要么用Java8,要么用Java11,我们也主要是学Java8,因为Java11也只是加强了Java8的特性

我们主要记住Java的第一个版本是1995年发布的,目前是属于甲骨文公司的产品(英文名为Oracle),由Oracle维护


接下来我们讲Java技术体系平台,Java其实分为3个版本:

  • Java SE(Java Standard Edition)标准版:提供了完整的Java核心API,支持面向桌面级应用(如Vindows下的应用程序)的Java平台,此版本以前称为J2SE
  • Java EE(Java Enterprise Edition)企业版:在标准版的基础上加了不少功能,是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、JSP等,主要针对于Web应用程序开发。版本以前称为J2EE。各位将来找工作,主要是用到JavaEE的功能。当然,JavaEE主要是基于JavaSE的,因此必须学习好JavaSE
  • Java ME(Java Micro Edition)小型版:支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME。自从安卓出来后,JavaME就凉了,之前还挺火的

‍

‍

‍

# Java特性

有些书籍花了很多篇幅来讲解,实际上对于零基础或者没学过的人来说,是比较难理解的,我们讲解个大概即可;后面遇到了哪个特点,我们再详细的介绍。听不懂也没关系。

Jaya重要特点

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

  2. .Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证(听听就行)

  3. Java语言是跨平台性的。【即:一个编译好的class文件,可以在多个系统下运行,这种特性叫做跨平台性】。例如刚刚我们编写了一个文件Test.java,我们编译后会得到class文件,这个文件可以在Windows、Mac电脑和Linux电脑(Linux也是一种操作系统,和Windows一样)上运行。我们不需要对这个文件重新编译,怎么做到的?用了Java虚拟机,我们后面会讲。

  4. Java语言是解释型的。解释性语言:例如JavaScript,PHP,Java 编译性语言:C/C++
    区别是:
    解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行,
    编译性语言,编译后的代码,可以直接被机器执行
    至于那个性能高,不好说,得看解释器的性能和编译型语言执行的效率

‍

‍

‍

‍

# Java的开发工具

我们要开发Java,只用记事本比较难,这里列一下常见的开发工具

  • EditPlus,notepad++
  • sublime Text
  • IDEA
  • Eclipse

老师的资料里有sublime汉化版,注意自己电脑的32位还是64位

一般都是用IDEA或Eclipse,但我们先用文本编辑器,等大家对Java有一定了解后,再使用IDEA和Eclipse,IDEA等智能提示太多了,功能很多,我们先从简单的开始。

  1. 更深刻的理解java技术,培养代码感。
  2. 有利于公司面试,【面试时,往往程序员手写代码】

后面我们还会讲如何使用sublime,例如调整字体等。

‍

# JDK介绍

对应第11讲

‍

我们要运行程序,得讲代码编译,然后才能执行。Java的话是编译为class文件,为什么class文件能在各操作系统上运行?靠JVM。如果电脑上没有装JVM,是不能运行Java程序的。JVM是包含在JDK里面,我们先安装

‍

‍

‍

JVM,全程Java virtual machine,是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令管理数据、内存、寄存器,包含在JDK中。

对于不同的平台,有不同的虚拟机。如果用的Windows,就用Windows下面的JDK;如果是Mac电脑,就用Mac的JDK;

Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”,编译我们用的指令是Javac,运行我们用的指令是Java

‍

peterjxl注:就好比我们平时用的手机,上面有很多APP,有可能遇到一个APP支持安卓,但不支持苹果,这就是不跨平台的;对于开发者来说,跨平台的好处就是不用再开发一套程序去适配,一个APP既能在安卓上运行,也能在iOS上运行,不用再开发一个APP。

‍

‍

什么是JDK.JRE

JDK基本介绍

  • JDK的全称Java Development Kit Java 开发工具包。JDK=JRE+ Java的开发工具【java,javac,javadoc,javap等指令】
  • JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

‍

JRE基本介绍

  • JRE: Java Runtime Environment Java运行环境, JRE=JVM+Java的核心类库【类】,包括Java虚拟机(Java Virtual Machine)和Java程序所需的核心类库等。
  • 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

‍

peterjxl注:就好比一个手机APP开发人员,开发,需要用到开发工具,而我们的手机上不用安装这些开发工具,我们是使用者,只需安装即可(不用装开发工具)

‍

JDK、JRE 和 JVM 的包含关系

  1. JDK = JRE + 开发工具集(例如 Javac, java 编译工具等)
  2. JRE = JVM + Java SE 标准类库(java 核心类库)
  3. 如果只想运行开发好的 .class 文件 只需要 JRE

‍

# 下载和安装JDK

对应12,13,14,15,16讲,我这里不展开来说

安装路径不要有中文或者特殊符号如空格等

Java_HOME相当于一个变量,没有写死

‍

‍

# 快速入门

对应17讲

之前已经讲了个大概,现在补充下细节。在讲课的时候,往往是先提需求,然后再说开发步骤,然后说运行原理

需求:要求开发一个HelloWorld.java程序,可以输出HelloWorld。

开发步骤:

  1. 新建HelloWorld.java文件, 编写Java代码
  2. 通过Javac命令对改文件进行编译,生成.class文件
  3. 通过Java命令对生成的class文件进行运行。

‍

第一步,新建一个

public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World!");
    }
}
1
2
3
4
5

我们简单讲解下代码,听不懂也没关系,有个印象就行:

  1. public class HelloWorld 表示Hello是一个类, 是一个public公有的类
  2. Hello{ } 表示一个类的开始和结束
  3. public static void main(String[] args) 表示一个主方法,即我们程序的入口,程序从这里开始裕运行
  4. main() {} 表示方法的开始和结束
  5. System.out.println("hello,world~"); 表示输出"hello,world~"到屏幕
  6. ;表示语句结束

‍

‍

‍

‍

第二步和第三步,通过javac和Java命令编译和运行程序

LearnJava\1_JavaBasic\1HelloWorld> javac HelloWorld.java 
LearnJava\1_JavaBasic\1HelloWorld> java HelloWorld  
Hello World!
1
2
3

为什么我们第二条指令是java HelloWorld?我们不是运行class文件吗?这是Java的一个规定,我们是要运行HelloWorld这个类,因此直接输入java HelloWorld即可

‍

注意编码问题:cmd的编码是GBK,如果你的代码文件编码不是GBK,并且文件里有中文的话,可能会导致编译警告或失败。

‍

为什么呢?因为CMD的编码和文件的编码不一致。

所以我们需要修改代码文件的编码为GBK,并保存,就能重新编译了

‍

‍

作业:

开发一个HelloWorld.java程序,输出“你的名字 is learning Java! ”

文件如果有中文:在编辑器菜单栏里的文件,设置文件编码,设置为GBK并保存。然后运行

‍

# Java运行机制

对应第18讲

其实我们已经讲过了,这里再回顾一下

第一步,先编写.java文件,编译为class文件,然后在JVM上运行,得到结果。我们也把.java文件称为源文件,.class文件称为字节码文件。

‍

‍

什么是编译:

  1. 有了 .java源文件,通过编译器将其编译成JVM可以识别的字节码文件。
  2. 在该源文件目录下,通过javac编译工具对Hello.java文件进行编译。
  3. 如果程序没有错误,没有任何提示,但在当前目录下会出现一个.class文件,该文件称为字节码文件,也是可以执行的java的程序。

‍

什么是运行

  1. 有了可执行的java程序(.class字节码文件)
  2. .通过运行工具java.exe对字节码文件进行执行,本质就是.class装载到jvm机执行
  3. java程序开发注意事顶:对修改后的.javai源文件需要重新编译,生成新的class文件后,再进行执行,才能生效。

‍

作业:自己测试下修改后,不重新编译,验证结果

‍

‍

# 开发细节

对应19讲

  1. Java源文件以java为扩展名。源文件的基本组成部分是类(class),如本类中的Hello类。
  2. .Java应用程序的执行入口是main方法。它有固定的书写格式:public static void main(String[] args){...}
  3. Java语言严格区分大小写。
  4. Java方法由一条条语句构成,每个语句以分号 “;”结束。
  5. 大括号都是成对出现的,缺一不可。【习惯,先写右括号再写代码】
  6. 如果源文件包含一个public类,则文件名必须按该类名命名!
  7. 一个源文件中最多只能有一个public类。其它类的个数不限。编译后,每一个类,都对于一个.class
  8. 一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法

‍

‍

作业:

  1. 自己随便改一个单词的某个字母为大写,尝试编译
  2. 删除分号后,尝试编译
  3. 自己新建多个类,并编译,查看有多少个class文件
  4. 新建一个java文件,类名与文件名不一致,尝试编译,查看错误信息

‍

‍

LearnJava\1_JavaBasic\1HelloWorld> javac HelloWorldThree.java


LearnJava\1_JavaBasic\1HelloWorld> java Dog
Hello Dog!

LearnJava\1_JavaBasic\1HelloWorld> java Tiger
Hello Tiger!

LearnJava\1_JavaBasic\1HelloWorld> java HelloWorldThree 
Hello World!
1
2
3
4
5
6
7
8
9
10
11

‍

‍

# 学习方法

第20讲

如何快速学习技术或者知识点,心得分享,老师讲技术或者知识点也是这样的流程。

这个能力非常重要,这样大家在学习的时候才不会乱,也是常问的

‍

为什么学习技术?得有个需求,例如:

  1. 工作需要
  2. 跳槽,对方要求
  3. 技术控

‍

看看能否使用传统技术解决(例如学过C++的,学Java的话也不会太难,有关联性的)

  1. 能解决,但是不完美 → 引出我们学习的新技术和知识点
  2. 解决不了

举例:之前有个框架Hibernate,但是没用到位,不知道精妙之处,用了之后反而效果不好。因此我们学习新技术之前,得比较下是否满足我们的需求

‍

‍

在决定要学习后,得学习新技术或知识点的基本原理和基本语法,不要考虑细节,扣细节就出不来了,学习的方向也乱了,容易蒙圈

↓

快速入门(基本程序,哪怕是crud都行),我们平时很多时候都是用基本的,只有更高的要求后才研究如何优化,例如很多时候上级就要求看个样板,不用太过完美的,能运行起来的就行,平时工作基本够用了;如果等学完再交差,就寄了

↓

开始考虑研究技术的注意事项,使用细节,使用规范,如何优化 =>没有止境的,永远都有优化,螺旋递增的,从第一点到第二点第三点。。。。韩老师是从06年开始学Java的,每次讲课都发现有优化的细节。一些初级程序员可能只看到前面3点,但厉害的可以看到更远


我们后面将面向对象的时候,也是先提需求,看看传统方法怎么解决,然后引出新的知识点,基本原理,细节----这样大家心中有数,知道要学什么

‍

# 转义字符

第21讲

实际开发中,我们经常会讲到转义字符,常用的转义字符如下:

‍

\t:一个制表位,实现对齐的功能
\n:换行符
\\:一个\
\":一个"
\':一个'
\r:一个回车  
1
2
3
4
5
6

回车和换行是不同的;回车是回到一开始,换行是换到下一行;System.out.println("韩顺平教育\r北京"); 当输出了韩顺平教育后,光标是在韩顺平教育这个字的后面,当有回车,就会将光标重新回到开头,然后输出北京,因此前面两个字会被覆盖,输出是 北京平教育

‍

课堂练习:用一句输出语句,输出如下:

> java ChangeCharTest      
书名    作者    价格    销量
三国    罗贯中  120     1000
1
2
3

先自己练一练,再看老师怎么做的

‍

交作业:

public class ChangeCharTest {
  public static void main(String[] args) {
    System.out.println("书名\t作者\t价格\t销量\r\n三国\t罗贯中\t120\t1000");  
  }
}
1
2
3
4
5

‍

# 易犯错误

22讲

  1. 找不到文件:源文件名不存在或写错,或者当前路径有问题

    > javac ChangeCha.java
    javac: 找不到文件: ChangeCha.java
    用法: javac <options> <source files>
    -help 用于列出可能的选项
    
    1
    2
    3
    4
  2. 主类名和文件名不一致:声明为public的主类应与文件名一直,否则编译失败

    > javac ChangeCharExer01.java
    ChangeCharExer01.java:1: 错误: 类ChangeCharExer0是公共的, 应在名为 ChangeCharExer0.java 的文件中声
    明
    public class ChangeCharExer0 {
           ^
    1 个错误
    
    1
    2
    3
    4
    5
    6
  3. 缺少分号:编译失败,注意错误出现的行数,再到源代码中指定位置改错

    > javac ChangeCharExer01.java
    ChangeCharExer01.java:3: 错误: 需要';'
        System.out.println("书名\t作者\t价格\t销量\r\n三国\t罗贯中\t120\t1000")
    
    1
    2
    3

‍

‍

总结:学习编程最容易犯的错是语法错误(初学者)。Java要求你必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼错了单词,java编译器都会报语法错误。大家不用怕,不慌,尝试着去看懂编译器会报告的错误信息;看不懂就百度错误信息,我们初学的时候一般都不会遇到太复杂的报错。

还有一些容易翻的错误举例:

  1. l->1 错把英文字母L 写成数字1, 因为他们两个看起来很像,不过我们后续用IDE的时候会智能提醒的

  2. o->0 错把英文字母O 写成数字0

  3. 英文符号写中文符号,例如分号有中文和英文的,光看比较难看出来;同样的还有双引号

  4. void->viod 拼写错误,一般会报错找不到符号:

    > javac ChangeCharExer01.java
    ChangeCharExer01.java:2: 错误: 找不到符号
      public static viod main(String[] args) {
                    ^
      符号:   类 viod
      位置: 类 ChangeCharExer01
    1 个错误
    
    1
    2
    3
    4
    5
    6
    7

我们编写代码的时候,编译器有给我们提示报错信息,其实都算比较好改的,因为有提示;不好修改的错误其实是逻辑错误,环境错误。

‍

# 注释

23讲

注释的英文名:comment

用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性(可读性);注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。

我们可以看看Java的源码,里面也有很多的注释。如果不写注释有什么后果呢?假设你写了1个1000行的代码,但是没有任何注释,另外一个小伙伴接受后,看到这个代码肯定蒙圈的,1000行代码,完全没注释,压力非常大;即使是你自己,过了2,3个月后可能也忘了怎么写的了。而且可能不只一个文件,可能有几百个文件,都没注释,完全看不下去;

‍

Java的注释有3中:

  1. 单行注释 //
  2. 多行注释 /* */
  3. 文档注释 /** */

‍

‍

举例:

//这是单行注释


/*
	这是多行注释
	这是多行注释
*/
1
2
3
4
5
6
7

‍

注意细节:

  1. 被注释的文字,不会被 JVM(java 虚拟机)解释执行,JVM会忽略
  2. 多行注释里面不允许有多行注释嵌套,会报错,如下,因为遇到第二个*/后,JVM会认为注释已经结束了,第二个 */ 就会认为是多出来的,无法理解;
/* 
	这是多行注释
	/*
		这是多行注释
	*/
*/
1
2
3
4
5
6

‍

‍

# 文档注释

25讲

注释内容可以被DK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类上面。javadoc是一个程序,类似javac和java等命令,我们安装JDK的时候,在安装目录下的bin文件夹就有这个可执行文件。

‍

我们写一个文档注释:文档注释其实就是比多行注释多了一个星号 。其中@author, @version是Java提供的一个标签,我们后面再细说。


/**
 * @author  韩顺平
 * @version  1.0
 */
public class Comment02 { 

	//编写一个main方法
	public static void main(String[] args) {
	}
}
1
2
3
4
5
6
7
8
9
10
11

然后我们就可以生成文档了,语法格式:

javadoc -d 文件夹名 -xx -yy Comment02 .java
1

-d标明生成的文档在哪,-xx和-yy就是用了什么标签

‍

我们执行以下命令:

javadoc -d ./temp -author -version Comment02.java
1

‍

可以看到生成了很多文件

allclasses-frame.html
allclasses-noframe.html
Comment02.html
constant-values.html
deprecated-list.html
help-doc.html
index.html
index-all.html
overview-tree.html
package-frame.html
package-list
package-summary.html
package-tree.html
script.js
stylesheet.css
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

我们打开index.html,可以看到有作者和版本:

‍

其他html文件我们暂时不讲;

那么我们能使用哪些javadoc标签呢?大家可以看看老师提供的《javadoc 标签.docx》:

标签 描述 示例
@author 标识一个类的作者 @author description
@deprecated 指名一个过期的类或成员 @deprecated description
{@docRoot} 指明当前文档根目录的路径 Directory Path
@exception 标志一个类抛出的异常 @exception exception-name explanation
{@inheritDoc} 从直接父类继承的注释 Inherits a comment from the immediate surperclass.
{@link} 插入一个到另一个主题的链接 {@link name text}
{@linkplain} 插入一个到另一个主题的链接,但是该链接显示纯文本字体 Inserts an in-line link to another topic.
@param 说明一个方法的参数 @param parameter-name explanation
@return 说明返回值类型 @return explanation
@see 指定一个到另一个主题的链接 @see anchor
@serial 说明一个序列化属性 @serial description
@serialData 说明通过writeObject( ) 和 writeExternal( )方法写的数据 @serialData description
@serialField 说明一个ObjectStreamField组件 @serialField name type description
@since 标记当引入一个特定的变化时 @since release
@throws 和@exception标签一样. The @throws tag has the same meaning as the @exception tag.
{@value} 显示常量的值,该常量必须是static属性。 Displays the value of a constant, which must be a static field.
@version 指定类的版本 @version info

文档注释用的非常多,大家可以练习下

‍

‍

# Java代码规范

26讲,我们讲个简单的,更多的大家可以看老师提供的资料《Java代码规范_韩顺平教育.docx》,有15页,很多大家看不懂,暂时不表。我们先讲7个

  1. 类、方法的注释,要以javadoc的方式来写。
  2. 非Java DOC的注释,往往是给代码的维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等
  3. 选中代码后,可以使用tab操作(按tab键),实现缩进,默认整体向右边移动,时候用shift+tab整体向左移
  4. 运算符和=两边习惯性各加一个空格。比如:2 + 4 * 5 + 345 - 89
  5. 源文件使用utf-8编码 (我们目前用GBK,完全是为了能在终端里运行而已,实际开发中都是用UTF-8)
  6. 行宽度不要超过80字符
  7. 代码编写的次行风格和行尾风格,推荐用行尾风格

‍

‍

次行风格:

public class Test
{
	public static void main(String[] args)
	{
		System.out.println("Block Styles")
	}
}
1
2
3
4
5
6
7

行尾风格:

public class Test{
	public static void main(String[] args){
		System.out.println("Block Styles")
	}
}
1
2
3
4
5

‍

‍

# DOS相关命令

27,28和29 30 31讲,了解即可,我们之前用了cmd; 然后老师演示了各个指令的使用,重点了解相对路径和绝对路径

‍

Dos: Disk Operating System 磁盘操作系统, 简单说一下 windows 的目录结构。基本原理:

当我们在cmd里输入命令后,按下回车,命令就会发送给DOS系统;DOS就会接受指令,然后解析指令,最后执行。比如我们用了md命令,就会创建文件夹;如果用了rd命令,就会删除文件夹

‍

‍

常用的dos命令

1) 查看当前目录有什么内容 dir。可以不带参数,默认是当前目录。
dir d:\abc2\test200

2) 切换到其他盘下:盘符号 cd : change directory
案例演示:切换到 c 盘 cd /D c:

3) 切换到当前盘的其他目录下 (使用相对路径和绝对路径演示), ..\表示上一级目录
案例演示: cd d:\abc2\test200 cd ..\..\abc2\test200

4) 切换到上一级:
案例演示: cd .. 

5) 切换到根目录:cd \
案例演示:cd \

6) 查看指定的目录下所有的子级目录 tree

7) 清屏 cls [clean screen]

8) 退出 DOS exit

9) 说明: 因为小伙伴后面使用 DOS 非常少,所以对下面的几个指令,老韩给大家演示下, 大家了解即可 (md[创建目
录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切]) => Linux的时候再详细介绍,

md,rd可以操作多个目录,例如md temp1 temp2, rd temp1 temp2


查看帮助:help 命令,例如help cd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

‍

‍

‍

相对路径和绝对路径

28讲,非常重要,即使是在Java高级也会用到这个

‍

‍

# 本章作业

对应32和33讲

  1. 编写hello,world程序【Homework01.java】
  2. 将个人的基本信息(姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行。【Homework02.java】
  3. JDK,JRE,JVM的关系【Homework03.java】
  4. 环境变量path配置及其作用【Homework04.java】
  5. Java编写步骤【Homework05.java】
  6. Java编写7个规范【Homework06.java】
  7. 初学者java易犯错误【Homework07.java】

我们有28个章节,我们后续每个章节一个文件夹,里面存放我们的作业,例如chapter01

有些是编程题,要运行的;有些是简答题,不用运行也可以。

建议大家后续先做,然后再听老师的评讲。

‍

# 最后

本章到此介绍,整理的笔记如上,对应第34讲

在GitHub上编辑此页 (opens new window)
上次更新: 2024/1/23 08:20:41
第1章 内容介绍
第3章变量

← 第1章 内容介绍 第3章变量→

Theme by Vdoing | Copyright © 2022-2024 粤ICP备2022067627号-1 粤公网安备 44011302003646号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式