JavaSE01_Day01(上)-JavaSE概要、API概述、文档注释、生成JavaDoc文档、编码、字符串

一、JavaSE概要

JAVA发展至今总共分为三个版本(应用范围),标准版(JavaSE)、企业版(JavaEE)、微缩版(JavaME)

  • JavaSE:也称之为Java标准版(J2SE),主要应用于电脑桌面程序的开发,同时也是Java基础。

  • JavaME:也称之为微缩版(J2ME),主要应用于嵌入式设备系统的开发,比如电子厂商的设备。(使用率较少,课程不讲)

  • JavaEE:也称之为企业版(J2EE),主要应用于分布式网络开发(第三、第四阶段会学习JavaEE开发)

二、API概述

2.1 定义:

       Application Programming Interface应用程序编程接口(或称:类库,即:已经写好的程序或功能,程序需要时直接调用,无需再次编写)。Java的JDK提供了成千上万种在开发过程中使用的系统类库,里面有着非常丰富的功能,可以为程序员开发提供相关的支持。其中包含系统类,类中包含成员变量,类方法(静态方法),成员方法(普通方法),和构造器等等一系列信息。所以可以大大提高开发效率,节约开发成本。

       自行车的组装只需要使用已有的自行车零件组装即可,不需要自行去加工生产每一个零件。

2.2 查看API文档

网址:http://doc.canglaoshi.org/jdk6-docs/index.html

常见的API结构:

三、文档注释

       在实际生产过程中开发相关的代码业务,为了后期的代码可维护性以及可读性,需要在类和方法上方添加注释,目的是为了后期项目书写过程中让代码的可读性更加友好,以及Java程序的调理更加清晰。

  • 单行注释://

  • 多行注释:/* */

  • 文档注释:/** */

    /**
    * 为什么需要注释文档?
    * 主要原因:只有注释文档注释的内容才能通过java自带的javadoc命令生成文档,
    * 而普通注释的内容不能生成在文档中,只能在代码中看到
    package cn.tedu;

     /**
       * 当前类是用来测试生成文档注释使用的类
       * 文档注释应用的领域:类、方法、常量
      * @author cjn 作者名
      * @version 1.0 版本号
      * @since JDK8 用于标注从哪个版本进行开发启动
      * @see java.lang.String 参照于哪个类做对比
      */
     public class ApiDocDemo {
      /**
       * 问候语:同学们晚上好!
      */
      public static final String MESSAGE = "同学们晚上好!";
     
      /**
       * 返回指定用户的问候语
      * @param name 用户名
      * @return 用户问候语
      */
      public String sayHello(String name) {
      return name+"说:"+MESSAGE;
      }
     }

四、生成Javadoc文档(了解)

  • 将项目的Java类添加文档注释

(1)Eclipse

操作步骤:

  • 使用Eclipse工具的菜单栏Project--->Generate Javadoc

 

  1. 填写javadoc.exe所在路径【在JDK的安装目录下的bin文件下】

  2. 选中要生成Javadoc的类

  3. 点击Next

  • 注意:若软件编码方式为GBK,则此处不需要修改。

  •           若软件编码方式为UTF-8,此处需要添加:-encoding UTF-8 -charset UTF-8

查看Eclipse编码方式:Window--->Preferences--->General--->Workspace--->Text file encoding

        生成文档时添加的字符集编码设置时为了预防生成的文档中中文乱码问题,如果不添加生成的文档中中文不乱码也可以不加。如果字符集编码是GBK编码,不需要加字符集编码设置。

        当点击Finish选项,即可看到在当前项目下生成一个doc目录,在该目录中存在index.html文件,使用谷歌浏览器打开该页面文件,即可看到生成的JavaDoc文档。

(2)IntelliJ IDEA

查看及修改IDEA编码格式:IntelliJ IDEA怎么设置编码格式-百度经验  IntelliJ IDEA怎么设置编码格式-百度经验                           

                                              https://jingyan.baidu.com/article/e3c78d6487d7263c4c85f583.html

参考链接1:https://blog.csdn.net/cai454692590/article/details/85286139

参考链接2:https://deniro.blog.csdn.net/article/details/71706267

        生成 JavaDoc文档实质是在代码编写过程中,按照标准 JavaDoc 的注释要求,为需要暴露给使用者的类、方法以及其他成员编写注释。然后使用 IDEA 的功能自动调用 javadoc.exe(JDK 自带的工具)根据源代码中的注释内容自动生成 JavaDoc 文档(超文本格式)。

操作过程如下:

1.点击Tools-->Generate JavaDoc,打开JavaDoc文档生成功能

2.点击该菜单项后,会出现生成JavaDoc的对话框

         从上往下分别是配置 javadoc 的范围,输出文件夹路径以及命令行参数。还可以配置那些注解需要生成,哪些权限类(private、package、protected、public)需要生成等等精细的控制。还有一点需要注意,即不要勾选“Include test sources”,勾选后,生成时会造成很奇怪的错误(2020版没有此项)。

        注意:注意生成 JavaDoc 的源代码对象的选择,一般以模块(Module)为主,必要时可以单独选择必要的 Java 源代码文件,不推荐以 project 为 JavaDoc 生成的源范围。使用鼠标+CTRL选择多个模块,再去点击Tools->Generate JavaDoc,生成的文档只会是你选择的多个模块,而不是单个模块,也不是这个项目源码的文档。

可填写项:Locale

       表示的是需要生成的 JavaDoc 以何种语言版本展示,根据 javadoc.exe 的帮助说明,这其实对应的就是 javadoc.exe 的 -locale 参数,如果不填,默认可能是英文或者是当前操作系统的语言,既然是国人,建议在此填写 zh_CN,这样生成的 JavaDoc 就是中文版本的,当然指的是 JavaDoc 的框架中各种通用的固定显示区域都是中文的。你自己编写的注释转换的内容还是根据你注释的内容来。

可填写项:Other command line arguments

       非常重要,是填写直接向 javadoc.exe 传递的参数内容。因为有一些重要的设置,只能通过直接参数形式向 javadoc.exe 传递。这里必须要填写如下参数:

-encoding UTF-8 -charset UTF-8 -windowtitle "你的文档在浏览器窗口标题栏显示的内容" -link http://docs.Oracle.com/javase/7/docs/api

  • 第一个参数 -encoding UTF-8

           表示你的源代码(含有符合 JavaDoc 标准的注释)是基于 UTF-8 编码的,以免处理过程中出现中文等非英语字符乱码;

  • 第二个参数 -charset UTF-8

           表示在处理并生成 JavaDoc 超文本时使用的字符集也是以 UTF-8 为编码,目前所有浏览器都支持 UTF-8,这样最具有通用性,支持中文非常好;

  • 第三个参数 -windowtitle

           表示生成的 JavaDoc 超文本在浏览器中打开时,浏览器窗口标题栏显示的文字内容;

  • 第四个参数 -link

           很重要,它表示你生成的 JavaDoc 中涉及到很多对其他外部 Java 类的引用,是使用全限定名称还是带有超链接的短名称,举个例子,我创建了一个方法 public void func(String arg),这个方法在生成 JavaDoc 时如果不指定 -link 参数,则 JavaDoc 中对该方法的表述就会自动变为 public void func(java.lang.String arg),因为 String 这个类对我自己实现的类来讲就是外部引用的类,虽然它是 Java 标准库的类。

            如果指定了 -link http://docs.oracle.com/javase/7/docs/api 参数,则 javadoc.exe 在生成 JavaDoc 时,会使用 String 这样的短名称而非全限定名称 java.lang.String,同时自动为 String 短名称生成一个超链接,指向官方 JavaSE 标准文档 http://docs.oracle.com/javase/7/docs/api 中对 String 类的详细文档地址。-link 实质上是告诉 javadoc.exe 根据提供的外部引用类的 JavaDoc 地址去找一个叫 package-list 的文本文件,在这个文本文件中包含了所有外部引用类的全限定名称,因此生成的新 JavaDoc 不必使用外部引用类的全限定名,只需要使用短名称,同时可以自动创建指向其外部引用 JavaDoc 中的详细文档超链接。每个 JavaDoc 都会在根目录下有一个 package-list 文件,包括我们自己生成的 JavaDoc。如果指定了 -link http://docs.oracle.com/javase/7/docs/api 参数,则 javadoc.exe 在生成 JavaDoc 时,会使用 String 这样的短名称而非全限定名称 java.lang.String,同时自动为 String 短名称生成一个超链接,指向官方 JavaSE 标准文档 http://docs.oracle.com/javase/7/docs/api 中对 String 类的详细文档地址。-link 实质上是告诉 javadoc.exe 根据提供的外部引用类的 JavaDoc 地址去找一个叫 package-list 的文本文件,在这个文本文件中包含了所有外部引用类的全限定名称,因此生成的新 JavaDoc 不必使用外部引用类的全限定名,只需要使用短名称,同时可以自动创建指向其外部引用 JavaDoc 中的详细文档超链接。每个 JavaDoc 都会在根目录下有一个 package-list 文件,包括我们自己生成的 JavaDoc。

填写完成后的页面如下:记得指定输出路径此处以某一个类(Demo.java文件)为例进行展示

JavaDoc 生成完毕后,即可在其根目录下找到 index.html 文件,生成的文档效果如下:

点击Demo查看详细信息:

五、编码(扩展)

  • 编码:数据信息的一种格式转换为另一种格式的过程(数据--->编码字符)

  • 解码:编码的逆向过程

        Unicode是计算机科学领域的一项标注,包含字符集、编码等方案,存在的意义是为了解决传统的字符集编码方案而带来的不同语言中所进行存储字符所造成的问题。Unicode是可以进行跨语言,跨平台进行文本转换和处理的,从而解决字符集编码问题。

       Java中开发过程中经常存在A同学书写的项目代码导入B同学的工具中,打开查看中文注释是乱码的情况,原因就是A同学和B同学在书写项目的过程中所使用的字符集编码不一致导致的。

GBK编码在对中文进行存储时,每个汉字占用2个字节;

UTF-8编码对中文进行存储时,每个汉字占用3个字节.

 package cn.tedu;
 ​
 import java.io.UnsupportedEncodingException;
 ​
 /**
  * 编码案例演示
  * @author Administrator
  *
  */
 public class EncodeDemo {
 ​
  public static void main(String[] args) throws UnsupportedEncodingException {
  /*
  * 8大基本数据类型
  * byte   1字节
  * short   2字节
  * int     4字节
  * long   8字节
  * char   2字节(c语言是1字节)
  * float   4字节
  * double 8字节
  * boolean false/true
  */
  String str = "学习ABC";
  //将字符串转换为字节序列,默认的编码是UTF-8
  byte[] b1 = str.getBytes();//按照Eclipse的默认编码方式
  //遍历字节数组中的元素
  for (byte b : b1) {
  /*
   * 输出打印字节数组中的内容
   * 将字节转换为整数类型,并以16进制的方式进行显示
  */
  System.out.print(Integer.toHexString(b & 0xff)+" ");
  }
         System.out.println();
  byte[] b2 = str.getBytes("GBK");//注意此处要对外抛异常
  for (byte b : b2) {
  System.out.print(Integer.toHexString(b & 0xff)+" ");
  }
  }
 }

运行结果

 e5  ad  a6  e4  b9  a0  41  42  43  
 d1 a7 cf b0 41 42 43  
 结果分析:
 学习ABC:GBK: 2+2+1+1+1=7
        UTF-8:3+3+1+1+1=9

六、字符串(必须会)

6.1 定义:

Java中使用String表示字符串类型(引用数据类型),字符串底层是用final关键字修改这个类的,并且,字符串本质是一个字符数组。

6.2 优点:

字符串中可以书写很多文字信息,可以用来记录或者交流的媒介,Java中学习过基本数据类型中的char类型,该类型所声明的变量只能用来保存一个字符,如果要保存多个字符时就比较麻烦,所以Java的计算机大神们就设计了字符串类用来保存多个文字信息。

6.3语法格式:

官方推荐使用该格式创建字符串对象

 String str = "欢迎同学们来到达内学习Java课程!!!";

不推荐使用new运算符调用String()构造器(周四讲)

 String str = new String("欢迎同学们来到达内学习Java课程!!!");

6.4 字符串的注意事项

  • String类是被final进行修饰的

该类不可以被修改和继承,但是可以被实例化。

  • String类对于创建对象的方式特殊

String str = "abc";//字面量方式

  • String本质是char数组

  • String是不可以变对象

底层存储为char[],这个属性被final修饰,赋值一次以后时不可以进行修改的,所谓的不可以修改指的是创建新的对象不允许,如果创建新的对象,那么就会导致栈中的变量指向堆中的其他内存地址空间,这个是不允许的,但是可以修改字符数组中元素的内容。

  • 字符串是使用Unicode编码进行保存的

补充:Eclipse快捷键位置

posted @ 2021-06-02 17:02  Coder_Cui  阅读(294)  评论(0编辑  收藏  举报