文章和代码曾经归档至【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 重要特点
- Java 语言是面向对象的(oop)
- Java 语言是强壮的。Java 的强类型机制、异样解决、垃圾的主动收集等是Java 程序健壮性的重要保障
- Java 语言是跨平台性的。[编译好的.class 文件能够在多个零碎下运行,这种个性称为跨平台]
-
Java 语言是解释型的
解释性语言:javascript,PHP, java
编译性语言: c / c++
区别是:解释性语言,编译后的代码,不能间接被机器执行,须要解释器来执行, 编译性语言, 编译后的代码, 能够间接被机器执行。
Java 虚拟机[JVM]
- JVM 是一个虚构的计算机,具备指令集并应用不同的存储区域。负责执行指令,治理数据、内存、寄存器,蕴含在JDK 中。
- 对于不同的平台,有不同的虚拟机。
- Java 虚拟机机制屏蔽了底层运行平台的差异,实现了“一次编译,到处运行”。
JDK,JRE
JDK 根本介绍
- JDK 的全称(Java Development Kit Java 开发工具包)
JDK = JRE + java 的开发工具[java, javac,javadoc,javap 等] - JDK 是提供给Java 开发人员应用的,其中蕴含了java 的开发工具,也包含了JRE。
JRE 根本介绍
- JRE(Java Runtime Environment Java 运行环境)
JRE = JVM + Java 的外围类库[类] - 包含Java 虚拟机(JVM Java Virtual Machine)和Java 程序所需的外围类库等,如果想要运行一个开发好的Java 程序,计算机中只须要装置JRE 即可。
JDK、JRE 和JVM 的蕴含关系
- JDK = JRE + 开发工具集(例如Javac,java 编译工具等)
- JRE = JVM + Java SE 规范类库(java 外围类库)
- 如果只想运行开发好的.class 文件只须要JRE
Java 疾速入门
开发步骤
- 将Java 代码编写到扩大名为Hello.java 的文件中。
- 通过javac 命令对该java 文件进行编译,生成.class 文件。
- 通过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 中的正文类型
- 单行正文//
- 多行正文/ / (多行正文外面不容许有多行正文嵌套)
- 文档正文/* /
对于文档正文
/**
* @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 代码标准
- 类、办法的正文,要以javadoc的形式来写。
- 非Java Doc的正文,往往是给代码的维护者看的,着重告述读者为什么这样写,如何批改,留神什么问题等
- 应用tab操作,实现缩进,默认整体向左边挪动,时候用shift+tab整体向左移
- 运算符和=两边习惯性各加一个空格。
- 源文件应用utf-8编码
- 行宽度不要超过80字符
- 代码编写次行格调和行尾格调(!) 举荐行尾格调。
DOS 命令
DOS 介绍
Dos:Disk Operating System 磁盘操作系统, 简略说一下windows 的目录构造。
罕用的dos 命令
- 查看当前目录是有什么内容 dir
dir d:\abc2\test200
- 切换到其余盘下:盘符号cd : change directory
- 切换到以后盘的其余目录下(应用相对路径和绝对路径演示), ..\示意上一级目录
- 切换到上一级:
案例演示: cd .. - 切换到根目录:cd \
案例演示:cd \ - 查看指定的目录下所有的子级目录tree
- 清屏cls
- 退出DOS
exit
-
(md[创立目录],rd[删除目录],copy[拷贝文件],del[删除文件],echo[输出内容到文件],type,move[剪切])
echo ok > pic.txt
环境变量path配置及其作用
- 环境变量的作用是为了在dos的任意目录,能够去应用java 和 javac命令
- 先配置 JAVA_HOME = 指向jdk装置的主目录
- 编辑path环境变量,减少 %JAVA_HOME%\bin
发表回复