丁劲宸的个人博客 Memento Mori.

JAVA学习笔记(一)

2020-12-15


开始前的碎碎念:

  之前就一直想着要学JAVA,但是总是间接性踌躇满志,持续性混吃等死(哭)。后来看到毕导的视频,他说,学习最困难的地方,就是开始学。 学习的焦虑往往来源于行动力的匮乏。所以我想,那就咬咬牙试试吧。

第一章:JAVA语言概述:

常用的DOS命令:

  • dir : 列出当前目录下的文件及文件夹
  • md :创建目录
  • rd :删除目录
  • cd :进入指定的目录
  • cd.. :退回到上一级目录
  • cd\ :退回到根目录
  • del :删除文件
  • exit :退出DOS命令行

JAVA语言的主要特点

  • JAVA语言是易学的
  • JAVA语言是强制面向对象的。JAVA语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)
  • JAVA语言是分布式的。
  • JAVA语言是健壮的。JAVA语言的强类型机制、异常处理机制、垃圾的自动收集等是JAVA程序健壮性的重要保证。
  • JAVA语言是安全的。
  • JAVA语言是体系结构中立的。
  • JAVA语言是解释性的
  • JAVA语言是性能略高的
  • JAVA语言是原生支持多线程的

JAVA技术体系平台

  • JAVA SE(Java Standard Edition)标准版:支持面向桌面级应用的JAVA平台,提供了完整的JAVA核心API。
  • JAVA EE(Java Enterprise Edition)企业版:是为开发企业环境下的应用程序提供的一套解决方法,该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发
  • JAVA ME(Java Micro Edition)小型版:支持JAVA程序运行在移动终端上的平台,对JAVA API有所精简,并加入了针对移动终端的支持。
  • JAVA Card:支持一些JAVA小程序运行在小内存设备上的平台。

JAVA两种核心机制

  • JAVA虚拟机(Java Virtual Machine),JVM,JAVA语言的跨平台性
    • JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令,管理数据、内存、寄存器。
    • 对于不同的平台,有不同的虚拟机
    • JAVA虚拟机屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
  • 垃圾收集机制(Garbage Collection),GC
    • 垃圾回收:指不再使用的内存空间应该回收
    • 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预,可能会出现回收不及时的情况

JAVA语言环境的搭建

  • 下载JDK (推荐使用压缩版的JDK,根据情况解压不同版本来使用)
  • 安装JDK
  • 配置环境变量
  • 验证是否成功:java -version

JVM、JRE、JDK的关系

  • JDK(Java Development Kit JAVA开发工具包):JDK是提供给JAVA开发人员使用的,其中包含了Java的开发工具,也包括了JRE。
  • JRE(Java Runtime Environment JAVA运行环境):包括JAVA虚拟机(JVM)和JAVA程序所需的核心类库等。

开发体验——HelloWorld

  1. 将java代码编写到扩展名为.java的文件中

    新建一个Test.java文件,写入如下代码:

    (声明为public的主类应与文件名一致,否则编译失败)
    public class Test{
     public static void main(String[] args){
         System.out.print("Hello World");
     }
    }
    
  2. 通过javac命令对该java文件进行编译

    命令行输入javac Test.java,将会生成一个Test.class文件

  3. 通过java命令对生成的class文件进行运行

    命令行输入java Test,运行程序

  • 小结
    • Java源文件以“java”为扩展名,源文件的基本组成部分是类(class)
    • Java应用程序的执行入口是main()方法,他有固定的书写格式:public static void main(String[] args){···}
    • Java语言严格区分大小写。
    • Java方法有一条条语句构成,每个语句以“;”结束。
    • 括号都是成对出现的,缺一不可。

注释

  Java中的注释类型:

  • 单行注释 //
  • 多行注释 /* */
  • 文档注释(Java特有)

      /**
      * 文档注释
      * 这是一个打印hello world 的程序
      * @author djc
      * @version 1.0.0
      */
      public class Test{
          public static void main(String[] args){
              // 单行注释,打印hello world
              System.out.print("Hello World");
              /*
              多行注释
              范围内均为注释
              */
          }
      }
    

  文档注释的标签如下:

标签 描述 示例
@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

Similar Posts

Comments