JAVA语言基础篇-(2)

JAVA语言基础篇-(2)

1.计算机(编程)语言发展史:
第一代语言:机器语言,直接编写二进制代码,例如,101000001-标识一个含义
第二代语言:低级语言,汇编语言接近自然语言
第三代语言:高级语言,比如,C,C++,java,python......
2.Java语言发展史:1999年
* J2SE【Java的标准版本】:
	基础,无论是以后走EE还是ME,SE是必须要精通的。
	J2SE是SUN公司为java程序员准备的一套“基础类库”,这套基础类库学习之后,可以完成最基本的操作,例如,文件的读写、线程的控制....
* J2EE【Java的企业版本】:
	这是SUN公司为程序员专门准备的一套“类库”,这套类库可以协助程序员完成企业级软件的开发
	企业级软件:OA办公系统、进销存系统、超市系统.......
* J2ME【Java的微型版本】
	这是SUN公司为java程序员专门准备的另一套“类库”,这套类库可以协助程序员完成微型设备的嵌入式开发,
	Java最初就是做微型设备嵌入式开发的。
2005年,java诞生十周年的时候,以上的三大模块改名:
* JavaSE
* JavaEE
* JavaME
总结:
	J2SE:标准版(基础,要学java,必须先学习SE,基础语法+基础库)
	J2EE:企业版(专为企业开发软件,为企业提供解决方案)
	J2ME:微型版(专为微型设备做嵌入式开发)
3.JDK,JRE,JVM的关系
  • JDK(Java Development Kits)【Java开发工具箱】,注意:不同的操作系统需要安装不同版本的JDK
  • JRE(java Run Environment)【Java的运行时环境]
  • JVM(java virtual machine)【Java虚拟机】:将java程序翻译成机器语言,交由底层操作系统执行,实现了java程序的跨平台性,JVM是用来保证Java程序跨平台的,它本身不能跨平台。
  • 三者之间的关系:JDK 中包含JRE,JRE中包含JVM。
4、Java语言特性:
* 跨平台/可移植 
可移植性:Java程序可以做到一次编译,到处运行,即一个可以在windows操作系统上运行的Java程序,然后不做任何修改,同样的Java程序可以直接放到Linux操作系统上运行,这个被称为Java程序的可移植性,也就叫做跨平台性。原理:设计一个JVM(Java虚拟机),让jvm和计算机的底层打交道,所以JDK有不同的版本,不同的操作系统对应不同版本的JVM。
注意:Java程序没有和底层的操作系统直接交互,它在jvm中运行,通过jvm和计算机的底层打交道,所以JVM屏蔽了操作系统之间的差异。

*开源、免费、跨平台、纯面向对象
	- 开源:开放源代码,SUN公司编写的java类库的源代码普通程序员能看到。众人拾柴火焰高。这样java程序会很健壮,很少的BUG。
	- 免费
	- 跨平台:依靠JVM机制
	- 面向对象:java是纯粹面向对象
	- 健壮性:与自动垃圾回收机(GC机制)有关,Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心
	- 多线程:相对于单线程
	- 安全性

* 简单性:
	* 相对于C语言,例如:C语言当中有指针,C++中有多继承,多继承比较复杂
	* java取消了指针的概念,取消了多继承,只支持单继承
	java语言底层是C++.....
5、Java的加载与执行:javac 和 java命令的使用
* Java开发的整个生命周期,包括两个重要的阶段,分别是:编译(翻译)和运行
* 编译之前的文件是源文件,编译生成的程序被称为字节码程序,文件类型是xxx.class文件
* 过程:
	(1)编译:(使用“javac命令”检查Java源程序是否符合Java语法)"xxx.java "文件经过编译成为 "xxx.class" 文件
			* 语法格式:打开DOS命令窗口,输入 javac java源文件路径
			* 编译通过:说明语法没有问题,会在硬盘上生成一个或多个字节码文件【xxx.class】
			* 编译失败:说明源程序某个位置不符合java语法格式	
		注意:
			- 源文件路径可以是绝对路径,也可以是相对路径
	---------------------------------------------------------------------------
	(2)运行:(使用“java 命令”)
		- 打开Dos命令窗口,输入 java 类名
		注意:java命令使用时,命令后面不是文件的路径,必须是一个“类名”。例如:java Hello 、java Student
		- 以上程序的执行原理:java.exe命令执行会启动"JVM",JVM启动"类加载器-Class Loader",它负责去硬盘的“某个位置”搜索“类名.class”的字节码文件,找到这个.class文件,并将其转换成"二进制",然后操作系统执行二进制码和底层的硬件平台进行交互。如果找不到这个.class文件,一定会出现程序异常现象
注意:
	* 编译和运行可以在不同的操作系统中完成(跨平台)
6、第一个java程序的开发
(1)编译:
* 在硬盘的某个位置上新建一个java源文件:比如,HelloWorld.java,在HelloWorld.java文件中编写源代码
* 打开Dos命令窗口,使用javac命令进行编译:javac 源文件路径(完整的文件名称,含扩展名)如,javac HelloWorld.java。
	*编译的方式:(1)javac java文件的绝对路径
	      		(2) 
	**windows操作系统查找命令的原理:**
		* 首先,在当前目录下找这个命令,在当前目录下找不到的命令,会去环境变量path指定的路径当中查找该命令。
		* 若以上两个当中都找不到则出现错误提示信息。
		注意:path环境变量隶属于windows操作系统,和java本身无关,主要用来指定命令的搜索路径。

* (2)运行:java 命令的使用
	- 首先将路径切换到“xxx.class”文件路径下,然后执行:java 类名
	- 切换目录的快捷方法:找到该文件的路径,直接输入cmd,即可

注意:
	* JDK下载及安装:只安装了JDK,独立的JRE没有安装,JDK和JRE当中都有JVM
	* 运行的时候必须将目录切换至“xxx.class”文件的目录下,再进行 java 类名(比较麻烦!!)
7、java运行

ClassLoader在哪里搜索形如HelloWorld.class字节码文件?
默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件。可以让ClassLoader去某个指定的路径下加载字节码文件,这时只需要配置环境变量classpath,用于给类加载器指路。这样设置则打开dos命令窗口在任意位置,都可以执行java HelloWorld,但同时类加载器只会去指定的路径中加载字节码文件。

8、注释:
* 作用:在java源程序中,对java源代码的解释说明,注释不会被编译到xxx.class字节码文件
* 语法:
	- 单行注释://单行注释,只注释当前行
	- 多行注释
		/*
			多行注释
			多行注释
			多行注释
			多行注释
			多行注释
			.....
		*/

	- javadoc注释
		/**
		*	javadoc注释
		*	javadoc注释
		*	javadoc注释
		*	javadoc注释
		*	javadoc注释
		*	javadoc注释
		*/
		注意:比较专业的注释,该注释信息会被 javadoc.exe工具解析提取并生成帮助文档。
9、public class 和 class的区别:
**类的定义有两种方式:public class 类名、class 类名**

* 一个java源文件中可以定义多个class,编译之后每个class生成一个相应的xxx.class字节码文件

* public class 不是必须的,如果有public class 则只能有一个,且该类名和java源文件名称相同。

* 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B,想执行X.class当中的main方法:java X

* 注意:当在命令窗口中执行java Hello,那么要求Hello.class当中必须有主方法。没有主方法会出现运行阶段的错误:
	D:\course\JavaProjects\02-JavaSE\day02>java Hello
	错误: 在类 B 中找不到主方法, 请将主方法定义为:
		public static void main(String[] args)

10、总结第一章需要掌握的内容:

* 能够搭建java开发环境
* 掌握环境变量path的原理以及如何配置
* 掌握环境变量classpath的原理以及如何配置
* 理解java的加载与执行
* 能够独立编写HelloWorld程序,编译并运行
* java中的注释
* public class 和 class 的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值