乐趣区

关于java:Java概述与基础知识

文章和代码曾经归档至【Github 仓库:https://github.com/timerring/java-tutorial】或者公众号【AIShareLab】回复 java 也可获取。

Java 历史

  • 1990 sun 公司启动绿色打算
  • 1992 创立 oak(橡树)语言 ->java
  • 1994 gosling 加入硅谷大会演示 java 性能震惊世界。1995 sun 正式公布 java 第 1 个版本。
  • 2009 年,甲骨文公司发表收买 Sun。
  • 2011,公布 java7

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++
    区别是:解释性语言,编译后的代码,不能间接被机器执行, 须要解释器来执行, 编译性语言, 编译后的代码, 能够间接被机器执行。

Java 虚拟机[JVM]

  1. JVM 是一个虚构的计算机,具备指令集并应用不同的存储区域。负责执行指令,治理数据、内存、寄存器,蕴含在 JDK 中。
  2. 对于不同的平台,有不同的虚拟机。
  3. Java 虚拟机机制屏蔽了底层运行平台的差异,实现了“一次编译,到处运行”。

JDK,JRE

JDK 根本介绍

  1. JDK 的全称(Java Development Kit Java 开发工具包)
    JDK = JRE + java 的开发工具[java, javac,javadoc,javap 等]
  2. JDK 是提供给 Java 开发人员应用的,其中蕴含了 java 的开发工具,也包含了 JRE。

JRE 根本介绍

  1. JRE(Java Runtime Environment Java 运行环境)
    JRE = JVM + Java 的外围类库[类]
  2. 包含 Java 虚拟机 (JVM Java Virtual Machine) 和 Java 程序所需的外围类库等,如果想要运行一个开发好的 Java 程序,计算机中只须要装置 JRE 即可。

JDK、JRE 和 JVM 的蕴含关系

  1. JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)
  2. JRE = JVM + Java SE 规范类库(java 外围类库)
  3. 如果只想运行开发好的.class 文件只须要 JRE

Java 疾速入门

开发步骤

  1. 将 Java 代码编写到扩大名为 Hello.java 的文件中。
  2. 通过 javac 命令对该 java 文件进行编译,生成.class 文件。
  3. 通过 java 命令对生成的 class 文件进行运行。

留神细节

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

Java 应用程序的执行入口是 main(办法。它有固定的书写格局:
public static void main(String[] args)

Java 语言严格辨别大小写。

一个源文件中最多只能有一个 public 类。其它类的个数不限。每个类对应一个 class。

如果源文件蕴含一个 public 类,则文件名必须按该类名命名!

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

// 这是 java 的疾速入门,演示 java 的开发步骤
// 对代码的相干阐明
//1. public class Hello 示意 Hello 是一个类, 是一个 public 私有的类
//2. Hello{ } 示意一个类的开始和完结
//3. public static void main(String[] args) 示意一个主办法, 即咱们程序的入口
//4. main() {} 示意办法的开始和完结
//5. System.out.println("hello,world~"); 示意输入 "hello,world~" 到屏幕
//6. ; 示意语句完结
public class Hello {

    // 编写一个 main 办法
    public static void main(String[] args) {System.out.println("timerring hello");
    }

}

// 一个源文件中最多只能有一个 public 类。其它类的个数不限。[演示]
//Dog 是一个类
// 编译后,每一个类,都对于一个.class
class Dog {

    // 一个源文件中最多只能有一个 public 类。其它类的个数不限,也能够将 main 办法写在非 public 类中,// 而后指定运行非 public 类,这样入口办法就是非 public 的 main 办法
    public static void main(String[] args) {System.out.println("hello, 狗狗");
    }
}

class Tiger {public static void main(String[] args) {System.out.println("hello, 老虎");
    }

}

Java 转义字符

Java 罕用的转义字符

在控制台,输出 tab 键,能够实现命令补全
\t:一个制表位,实现对齐的性能
\n:换行符
\:一个 \
\” : 一个 ”
\’:一个 ’
\r : 一个回车 System.out.println(“timerring\r 北京 ”); 留神:回车不换行。

正文(comment)

Java 中的正文类型

  1. 单行正文 //
  2. 多行正文 / /(多行正文外面不容许有多行正文嵌套)
  3. 文档正文 /* /

对于文档正文

/**
 * @author  timerring
 * @version  1.0
 */

// 其中 author  version  是 javadoc 的标签
public class Comment02 { 

    // 编写一个 main 办法
    public static void main(String[] args) {}}

正文内容能够被 JDK 提供的工具 javadoc 所解析,生成一套以网页文件模式体现的该程序的阐明文档, 个别写在类

javadoc -d 生成的 doc 所存的文件夹名 -author -version Comment02.java

javadoc 常见标签

标签 形容 示例
@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. 运算符和 = 两边习惯性各加一个空格。
  5. 源文件应用 utf- 8 编码
  6. 行宽度不要超过 80 字符
  7. 代码编写次行格调和行尾格调(!) 举荐行尾格调。

DOS 命令

DOS 介绍

Dos:Disk Operating System 磁盘操作系统, 简略说一下 windows 的目录构造。

罕用的 dos 命令

  1. 查看当前目录是有什么内容 dir
    dir d:\abc2\test200
  2. 切换到其余盘下:盘符号 cd : change directory
  3. 切换到以后盘的其余目录下(应用相对路径和绝对路径演示), ..\ 示意上一级目录
  4. 切换到上一级:
    案例演示:cd ..
  5. 切换到根目录:cd \
    案例演示:cd \
  6. 查看指定的目录下所有的子级目录 tree
  7. 清屏 cls
  8. 退出 DOS exit
  9. (md[创立目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输出内容到文件],type,move[剪切])

    echo ok > pic.txt

环境变量 path 配置及其作用

  1. 环境变量的作用是为了在 dos 的任意目录,能够去应用 java 和 javac 命令
  2. 先配置 JAVA_HOME = 指向 jdk 装置的主目录
  3. 编辑 path 环境变量,减少 %JAVA_HOME%\bin
退出移动版