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

初学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 est200

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

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

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

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

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

      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("姓名	性别	籍贯	住址");
    }
}
//3
/*
JDK=JRE+JAVA开发工具
JRE=JVM+核心类库
*/
//4-7 略
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java学习-第一部分