• Java学习-第一阶段-第一节:Java概述


    1.1.1 JAVA概述

    Java版本

    原网址(https://www.oracle.com/java/technologies/java-se-support-roadmap.html)

    Oracle 将仅将某些版本指定为长期支持 (LTS) 版本。Java SE 7、8、11 和 17 是 LTS 版本。Oracle 打算每两年发布一次未来的 LTS 版本,这意味着下一个计划的 LTS 版本是 2023 年 9 月的 Java 21。

    目前实际开发中用的最多的是Java8。

    Oracle Java SE 产品支持规划*†
    发布版本 发布日期 首先支持直到 延长支持直到 持续支持
    7 (长期) 2011 年 7 月 2019 年 7 月 2022 年 7 月**** 不定
    8 (LTS)** 2014 年 3 月 2022 年 3 月 2030 年 12 月* 不定
    9(非 LTS) 2017 年 9 月 2018 年 3 月 无法使用 不定
    10(非 LTS) 2018 年 3 月 2018 年 9 月 无法使用 不定
    11 (LTS) 2018 年 9 月 2023 年 9 月 2026 年 9 月 不定
    12(非 LTS) 2019 年 3 月 2019 年 9 月 无法使用 不定
    13(非 LTS) 2019 年 9 月 2020 年 3 月 无法使用 不定
    14(非 LTS) 2020 年 3 月 2020 年 9 月 无法使用 不定
    15(非 LTS) 2020 年 9 月 2021 年 3 月 无法使用 不定
    16(非 LTS) 2021 年 3 月 2021 年 9 月 无法使用 不定
    17 (LTS) 2021 年 9 月 2026 年 9 月**** 2029 年 9 月**** 不定
    18(非 LTS) 2022 年 3 月 2022 年 9 月 无法使用 不定
    19(非 LTS)*** 2022 年 9 月 2023 年 3 月 无法使用 不定
    20(非 LTS)*** 2023 年 3 月 2023 年 9 月 无法使用 不定
    21 (LTS)*** 2023 年 9 月 2028 年 9 月 2031 年 9 月 不定

    Java技术体系平台

    Java SE(Java Standard Edition)标准版
    支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,此版本以前称为J2SE

    Java EE(Java Enterprise Edition)企业版
    是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet、Jsp等,主要针对于Web应用程序开发。版本以前称为J2EE

    Java ME(Java Micro Edition)小型版(仅供了解,已经很少用到)
    支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加入了针对移动终端的支持,此版本以前称为J2ME

    Java重要特点

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

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

    3. Java语言是跨平台性的。 (即:一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台)

    4. Java语言是解释型的[了解]

      解释性语言: javascript,PHP, java 编译性语言:C/ C++
      区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行,编译性语言,编译后的代码,可以直接被机器执行, c/c++

    Java开发工具

    • editplus 、notepad++、notepad3(前期学习时使用)

    • Sublime Text(前期学习时使用)

      下载地址: https://www.sublimetext.com/

    • IDEA(实际开发中使用)

    • eclipse(实际开发中使用)

    java运行机制

    image

    什么是JDK、JRE

    • JDK基本介绍

      1. JDK的全称(Java Development Kit Java开发工具包)

        JDK = JRE + java的开发工具[java, javac.javadoc,javap等]

      2. JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。

    • JRE基本介绍

      1. JRE(Java Runtime Environment Java运行环境)

        JRE = JVM + Java的核心类库[类]

      2. 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

    JDK安装与配置

    略(网上有很多,学习建议安装Java8)

    Java快速入们

    • 需求说明

      要求开发一个Hello.java程序,可以输出“hello,world!"

    • 开发步骤

      1. 将Java代码编写到扩展名为Hello.java的文件中。[代码说明]
      2. 通过javac命令对该java文件进行编译,生成.class文件。
      3. 通过java命令对生成的class文件进行运行。
    • 运行流程示意图

    image

    第一个Java程序

    创建Hello.java文件

    写入如下内容:

    //java快速入门
    //对代码的相关说明
    //1. public class Hello表示Hello是一个类,是一个public公有的类
    //2.Hello{}表示一个类的开始和结束
    //3. public static void main(String[] args)表示一个主方法,即我们程序的入口
    //4. main(){0}表示方法的开始和结束
    //5. System.out.println( "hello, world~");表示输出"hello, world~"到屏幕
    //6.;表示语句结束
    public class Hello{
        //编写一个main方法
        public static void main(String[] args){
            System.out.println("Hello world");
        }
    }
    

    在cmd中使用javac Hello.java命令生成Hello.class文件(注意:cmd中使用的是GBK编码,所以此处Hello.java保存时也应用此编码格式,否则会报错)

    在cmd中使用java Hello命令运行Hello.class文件(其中"Hello"为类名,而非“Hello.class”文件名,如果使用“java Hello.class”指令会报错)

    Java开发注意事项和细节说明

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

    2. Java应用程序的执行入口是main()方法。它有固定的书写格式:public static void main(Stringl]args){...}

    3. Java语言严格区分大小写。

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

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

    6. 一个源文件中最多只能有一个public类。其它类的个数不限。[演示]

    //一个源文件中最多只能有一个public类。其它类的个数不限。[演示]//Dog是一个类
    //编译后,每一个类,都对于一个.class。(此文件编译后会生成三个.class文件)
    public class Hello{
      public static void main(String[] args){
          System.out.println("Hello world");
      }
    }
    class Dog{
    }
    class Tiger{
    }
    
    1. 如果源文件包含一个public类,则文件名必须按该类名命名!

    2. 一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public类,这样入口方法就是非public的main方法

    Java常用的转义字符

    1. \t :一个制表位,实现对齐的功能
    2. \n:换行符
    3. \:一个\
    4. \”:一个"
    5. \':一个'
    6. \r :一个回车 System.out.println("顺平教育\r北京");
    public class Changechar{
        //编写一个main方法
        public static void main(String[] args){
            //\t :一个制表位,实现对齐的功能
            System.out.println("北京\t天津\t上海");
            // \n:换行符
            System.out.println( "jack\nsmith\nmary" );
            //\\:一个\  \\
            System.out.println( "C:\\windows\\lSystem32\\cmd. exe");
            // \" :一个"
            System.out.println("老韩说:\"要好好学习java,有前途\"");
            //\' :一个'
            System.out.println("老韩说:\'要好好学习java,有前途\'");
            // \r :一个回车 System. out.println("韩顺平教育\r北京");
            //解读
            //1.输出韩顺平教育
            //2.\r表示回车(不换行,会把光标移动到行首)
            System.out.println("韩顺平教育\r北京");// 北京平教育
            System.out.println("韩顺平教育\r\n北京");// 韩顺平教育\n北京(不同系统会有差异)
        }
    }
    

    初学java易犯错误

    1. 找不到文件

      image

      解决方法:源文件名不存在或者写错,或者当前路径错误

    2. 主类名和文件名不一致

      image

      解决方法:声明为public的主类应与文件名一致,否知编译失败

    3. 缺少分号

      image

      解决方法:编译失败,注意错误出现的行数,再到源代码中指定位置改错。

    注释(comment)

    • 单行注释:

      基本棓式

      格式: //注释文字

    • 多行注释:

      基本格式

      格式: /*注释文字*/

    • 使用细节

      1. 被注释的文字,不会被JVM (java虚拟机)解释执行

      2. 多行注释里面不允许有多行注释嵌套

    • 文档注释:
      注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档,一般写在类

      1. 基本格式

        /**
        *author 韩顺平
        *@version 1.0
        *.....
        */
        
      2. 如何生成对应的文档注释
        javadoc -d 文件夹名 -xx -yy Demo3.java

      3. javadoc标签
        javadoc 工具软件识别以下标签(参考网站:https://www.runoob.com/java/java-documentation.html):

        标签 描述 示例
        @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代码规范(基础内容)

    1. 类、方法的注释,要以javadoc的方式来写。
    2. 非Java Doc的注释,往往是给代码的维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等
    3. 使用tab操作,实现缩进,默认整体向右边移动,时候用shift+tab整体向左移
    4. 运算符和=两边习惯性各加一个空格。比如:2+4*5+ 345 - 89
    5. 源文件使用utf-8编码
    6. 行宽度不要超过80字符
    7. 代码编写次行风格和行尾风格

    DOS命令(了解,不需要记)

    • DOS介绍
      Dos: Disk Operating System磁盘操作系统,简单说一下windows的目录结构。[原理图]

    • 相关的知识补充:相对路径,绝对路径

    • 常用的dos命令

      1. 查看当前目录是有什么
        dir dir d:\abc2\test200

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

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

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

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

      6. 查看指定的目录下所有的子级目录tree E:\xxx\xxx

        image

      7. 清屏cls[苍老师]

      8. 退出DOS exit

      9. 说明:因为小伙伴后面使用dos非常少,所以对下面的几个指令,了解即可(md[创建目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输入内容到文件],type,move[剪切])

    本章习题

    1. 编写hello, world程序
    2. 将个人的基本信息((姓名、性别、籍贯、住址)打印到控制台上输出。各条信息分别占一行。
    3. JDK,JRE,JVM的关系
    4. 环境变量path配置及其作用
    5. Java编写步骤
    1. Java编写7个规范

    2. 初学者java易犯错误

    答案

    //1
    public class Hello{
        public static void main(String[] args){
            System.out.println("Hello,world");
        }
    }
    //2
    public class Hello{
        public static void main(String[] args){
            System.out.println("姓名\t性别\t籍贯\t住址");
        }
    }
    //3
    /*
    JDK=JRE+JAVA开发工具
    JRE=JVM+核心类库
    */
    //4-7 略
    

    __EOF__

  • 本文作者: 文杰2000
  • 本文链接: https://www.cnblogs.com/wenjie2000/p/16378477.html
  • 关于博主: 永远是个学生
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    mysql中表与表之间的方式有几种
    多线程_线程状态
    【自然语言处理】关系抽取 —— PMGAN
    QStyleFactor和QPalette
    STM32CubeMX教程21 CAN - 双机通信
    javascript 数组方法 slice() 的使用说明
    《深度学习进阶 自然语言处理》第四章:Embedding层和负采样介绍
    用Pyhon写一款简单的益智类小游戏——2048
    javascript预解析
    嵌入式发展历史
  • 原文地址:https://www.cnblogs.com/wenjie2000/p/16378477.html