Java语言概述
一.Java语言概述
【纲要】
计算机语言发展简史
Java 发展简史
Java 特性
Java 程序的加载与执行
J2SE 安装与配置
开始第一个Java 程序
public class 和class 的区别
1.计算机语言发展史
1.1计算机语言的发展
第一代:机器语言(打孔机);第二代:低级语言(汇编语言);第三代:高级语言(面向过程-面向对象);
1.2人与计算机做交互
使用计算机语言。图形化界面GUI vs 命令行方式CLI 。
1.3计算机语言
人和计算机交流的方式,c,c++,java,PHP等。
1.4软件
系统软件 vs 应用软件
c语言:操作系统开发,系统软件,错误处理不方便,面向过程,不是面向对象
c++:不是跨平台的。面向过程面向对象各占一半
c#:微软的对抗java的
java:面向对象的、跨平台的、开源的、开发人员多、类库也多。底层是c++。
轻型语言:注重开发效率,讲究敏捷性开发,可移植性、可重用性不如重型语言
重型语言:注重运行效率,讲究功能性开发
2.Java发展史
Java 是一种语言,具有自己的语法和数据结构,来自于sun(sun 指的是斯坦福大学网络)
2.1具体发展历程
时间 描述
1991年1月 Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统
1991年2月 放弃C++,开发新语言,命名为“Oak”
1991年6月 JamesGosling开发了Oak的解释器
1992年1月 Green完成了Green操作系统、Oak语言、类库等开发
1992年11月 Green计划转化成“FirstPerson”,一个Sun公司的全资母公司
1993年2月 获得时代华纳的电视机顶盒交互系统的订单,于是开发的重心从家庭消费电子产品转到了电视盒机顶盒的相关平台上。
1994年6月 FirstPerson公司倒闭,员工都合并到Sun公司。Liveoak计划启动了,目标是使用Oak语言设计出一个操作系统。
1994年7月 第一个Java语言的Web浏览器WebRunner(后来改名为HotJava),Oak更名为Java。
1994年10月 VanHoff编写的Java编译器用于Java语言
1995年3月 在SunWorld大会,Sun公司正式介绍了Java和HotJava。
1996年1月 JDK1.0发布
1997年2月 J2SE1.1发布
1998年12月 J2SE1.2发布
1999年6月 发布Java的三个版本:J2SE、J2EE、J2ME
2000年5月 J2SE1.3发布
2001年9月 J2EE1.3发布
2002年2月 J2SE1.4发布
2004年9月 J2SE1.5发布,将J2SE1.5改名JavaSE5.0
2005年6月 JavaSE6.0发布,J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME
2006年12月 JRE6.0发布
2006年12月 JavaSE6发布
2009年12月 JavaEE6发布
2009年4月 Oracle收购Sun
2011年7月 JavaSE7发布
2014年3月 JavaSE8发布
2.2 JAVA SE、JAVA EE、JAVA ME 之间的关系
3. Java语言特性
①简单性
②面向对象性
③跨平台(可移植)性(write once ,run anywhere)---JVM(Java虚拟机):
编写的代码可在多种系统上运行,只需不同版本的Java虚拟机
④健壮性:(自动垃圾回收机制,GC)c语言是需要程序员开启内存释放内存
⑤多线程
4.Java的加载与执行
5. 开始第一个Java程序
5.1 JavaSE的安装
JDK:java开发工具包,里面包含jre,开发人员使用
JRE:java运行环境。如果只需运行java程序,安装jre即可
5.2 搭建开发环境
①显示扩展名
②环境变量:path和classpath
系统要在环境变量记录的路径中检索javac(编译)/java(执行) 命令。
Path:主要是为了检索文件方便,如果执行某个文件,不用到文件所在目录执行,那么Windows操作系统会在path 路径中检索。与java无关。
Classpath:类路径,是java 运行时查找类文件的路径,是java语言特有的,为了方便java 虚拟机加载class 文件。如果没配置默认在当前目录下检索(相对路径),配置了就从配好的路径检索(绝对路径)。可在环境变量处直接更改,也可在cmd中使用set classpath命令。
③配置环境变量:
javac和java程序都在jdk的bin目录中,我们需要将bin目录所在的路径:D:\Java\jdk1.7.0_07\bin 保存在path环境变量下。
jdk下的jre下的lib目录中的rt.jar里面都是Java自带已经编好的各种类库(.class文件),默认装载到JVM中了,不用再将其路径配到classpath中。jdk的src.zip中是相应的源代码。
win10配置环境变量:
新建系统变量:JAVA_HOME 、CLASSPATH 和Path
变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_66 【jdk所在目录】
变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
变量名:Path 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意: 变量名JAVA_HOME 的变量值是要根据自己安装jdk的文件目录,因此如果你更改了安装文件目录,就可能和现在写出的不一样;
④测试:
在命令行窗口,任意的文件目录下,执行javac.exe 或者java.exe都可以显示相应信息,不报错,即为配置成功。
5.3 如何编译运行
在cmd命令行环境下:
①使用javac程序
javac 文件名(完整的文件名称,含扩展名),如:javac HelloWorld.java
以上命令执行后没有报错,说明编译成功,会生成一个HelloWorld.class 文件。
②使用java程序
java+. class文件名(不要扩展名),如: java HelloWorld
以上命令执行后没有报错,并显示运行结果,说明编译成功。
【命令行方式常见dos命令】:
盘的名字+冒号: 如d: 进入D盘
dir 列出当前目录中的文件夹和文件
md 创建目录(文件夹)
rd 删除目录(空文件夹)
cd +路径(①绝对路径:带盘符 ②相对路径)
cd.. 返回上一级目录
cd/ 返回根目录
del 删除文件或清空文件夹
exit 退出dos命令行
cls 清空屏幕
echo 内容 > 文件名.扩展名:创建文件,写入内容(eg:echo name:liming >1.txt)
ipconfig 查看本机IP地址
java –version 查看当前安装的java版本
javac +路径(如:javac HelloWorld.java)
java+类名(如:java HelloWorld)
5.4解释HelloWorld 程序
//public 代表,全局的含义 //采用class 来定义类的名称 //HelloWorld 是类的名称,注意类的名称区分大小写 public class HelloWorld { //public 代表,全局的含义 //static,表示是静态的 //void,main方法的返回值,void表示没有返回值 //main,入口方法,方法的参数也不能改变 //String[] args,方法的参数列表,固定写法,args可变 public static void main(String[] args) { //方法体,由java语句构成。任何一个java语句以“;”结尾。 System.out.println("Hello World"); } } |
java类体中不能直接编写java语句!
5.5 java注释
①单行注释://这是一条单行注释
②多行注释1:
/*
多行注释
*/
③多行注释2,可以生成java doc 文档:
/**
* @author 指定java程序的作者
* @version 指定源文件的版本
*@param 方法的参数说明信息
*/
注释内容可以被jdk提供的工具——javadoc所解析,生成一套以网页文件形式提现的该程序说明文档。
5.6 public class和 class
类的定义有两种方式:
① public class 类名
② class 类名
采用public class 来声明class,那么文件名必须和类名完全一致(包括大小写),否则编译错误。
采用class 来声明类,文件名可以是任何合法的文件名称,文件名不需要和class 类一致
但生成的.class 文件名称要和类名一致,不和源文件名称一致。
注意:
1.源文件以.java为扩展名;
2.源文件中可以有多个class声明的类,用javac编译时,文件中有几个类,就会生成几个.class字节码文件。
3.源文件中可以有没有声明为public的类,但有的话也只能有一个,同时要求此类的类名与源文件名一致。
4.类中可以有主方法(即main()方法),格式是固定的,main()方法是程序的入口,方法内是程序的执行部分。任何一个类中都可以有主方法。