计算机语言发展史
在我们的生活中,信息技术无处不在,几乎覆盖了生活的方方面面。作为技术发展的核心,计算机技术日新月异,发展越来越快,已经成为我们生活中必不可缺的一部分。那么了解计算机语言发展历程,有助于我们更好的学习Java语言。计算机语言发展史一个不断演变的过程,其根本的驱动力就是计算机程序的易用性、共享性需要不断提高。同时,计算机程序设计需要更加合理化。接下来我们一起了解下计算机语言的发展历程。
- 机器语言
最初的计算机使用由 “0”和 “1”组成的二进制数,二进制是计算机语言的基础。计算机发明初期,只有少部分人会使用,人们需要把0和1组成的指令序列交由计算机执行。
【优点】:机器语言直接对计算机硬件进行操作,因此在特定型号的计算机上面,运算效率很高。可见,机器语言的出现为未来计算机语言发展有极大的推动作用,也被称为”第一代计算机语言”。
【缺点】:机器语言跟硬件相关性很大,特定型号机器之间程序移植性几乎为零。造成开发效率差、易用性和共享性不高。因此,机器语言的使用与普及令人头疼。
- 汇编语言
汇编语言是在机器语言的基础上诞生的一门语言,用简洁的英文字母、符号串来替代一个特定的二进制指令,从而提高了语言的记忆性和识别性。
【优点】:弥补了机器语言程序开发和维护效率差的弊端。汇编语言针对计算机特定硬件而编制的汇编语言程序,对于计算机硬件功能和特长的发挥有很大进步,它精炼而质量高,所以至今仍是一种常用的程序开发语言。
【缺点】:汇编语言同样直接对硬件进行操作,依然局限了它的移植性。
- 高级语言
在使用计算机的过程中,人们对计算机程序的移植性需求不断提高,此时急需一种不依赖于特定型号的计算机语言,用这种语言编写的程序能在各种平台上正常运行。从最初的语言诞生至今,已经相继出现了几百种语言。高级语言的发展也从最初的结构化语言发展成为面向过程语言设计和面向对象语言设计。
【面向过程语言】:C语言,FORTRAN, … …
【面向对象语言】:Java,C++,C#, … …
- 面向对象语言
【面向过程的程序】:执行顺序是流水线似的,在一个模块被执行完成前,人们不能干别的事,也无法动态地改变程序的执行方向,这恰恰与人们的日常处理事情的方式相矛盾。
【面相对象的程序】:将相像的事物抽取归类,各个类的方法模块相互结合完成特定功能,同时代码复用性又高。
【总结】:未来计算机语言的发展趋势,不再依赖一种单纯的语言标准,将以更接近现实世界,更易编写与使用的方式出现在人们面前。
Java版本发展
版本更新
时间 | 描述 |
---|---|
1991~1995 | Sun为了占领智能消费电子产品市场,由james gosling负责该项目,来开发Oak语言 |
1995 | 将Oak改名为Java |
1996 | 发布JDK1.0 |
1997 | 发布JDK1.1 |
1998 | 发布JDK1.2,将该版本命名为J2SDK,将Java更名为Java 2 |
1999 | 将Java分为三大块:J2SE(Java标准版)、J2EE(Java企业版)、J2ME(Java微型版本) |
2000 | 发布J2SE1.3 |
2002 | 发布J2SE1.4 |
2004 | 此时不再叫J2SE1.5,叫5.0 |
2005 | 2005 Java 10周年,将J2SE改为 Java SE、将J2EE改为 Java EE、将J2ME改为 Java ME |
2006 | 发布 Java SE 6 |
2011 | Oracle 发布 Java SE 7 |
2014 | Oracle 发布 Java SE 8 |
2017 | Oracle 发布 Java SE 9 |
Java三大体系
- Java SE
Java SE(Java Platform,Standard Edition)。Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE 包含了支持Java Web服务开发的类,并为Java EE提供基础。- Java EE
Java EE(Java Platform,Enterprise Edition)。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。Java EE是在Java SE的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构和Web 2.0应用程序。 Java EE既是一个框架又是一种规范,说它是框架是因为它包含了很多我们开发时用到的组件,例如:Servlet,EJB,JSP,JSTL等。说它是规范又如我们开发web应用常会用到的一些规范模式,Java EE提供了很多规范的接口却不实现,将这些接口的具体实现细节转移到厂商身上,这样各家厂商推出的Java EE产品虽然名称实现不同,但展现给外部使用的却是统一规范的接口。- Java ME
Java ME(Java Platform,Micro Edition)。Java ME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
如图所示
Java特性
语言特点
- 简单易学
很多同学学过C++,Java语法和C++看起来很相似,另外还去除了很多C++中容易混淆的概念。因此,学习起来更容易。- 面向对象
基于对象的编程更加符合人的思维模式,使人们更容易解决复杂的问题,Java就是一种面向对象的编程语言。- 平台无关性
一个应用可以不经过修改直接运行到不同的平台上。
运行机制
【问】:大家之前对Java可能有所了解,一直听说Java语言跨平台。但是,Java是什么实现跨平台的呢?
(我们通过Java的运行机制看解释Java的跨平台性)
【答】:Java源代码通过编译器编译之后,并没有生成操作系统可以直接执行的机器指令。而是生成了Java虚拟机执行的字节码,虚拟机通过多个步骤将字节码解释给操作系统。这样,在不同的平台上,不需要修改Java程序,只需要在不同平台安装相应的虚拟机即可。
Java环境搭建
环境配置
- 安装JDK
JDK是整个Java开发的核心,它包含了Java的运行环境(JVM+Java系统类库)和JAVA工具。
从官网下载JDK,根据不同系统选择需要的版本。 官网下载地址如下:http://www.oracle.com/technetwork/java/javase/downloads,下载后直接点击下一步安装即可。 配置环境变量(以windows系统为例)
第一步: 配置JAVA_HOME环境变量右击我的电脑-->点击属性-->左侧的高级系统设置-->点击右下方的环境变量-->点击新建或者编辑系统变量中的JAVA_HOME-->输入JDK的安装目录
第二步:配置Path环境变量
右击我的电脑-->点击属性-->左侧的高级系统设置-->点击右下方的环境变量-->双击系统变量中Path属性-->添加%JAVA_HOME%/bin值至尾部
【注意】: “;”来分隔
第三步:配置CLASSPATH环境变量
右击我的电脑-->点击属性-->左侧的高级系统设置-->点击右下方的环境变量-->双击系统变量中classpath属性或新建classpath-->添加%JAVA_HOME%/lib值至尾部
【注意】: “.”添加至最前边,并用”;”与后边的隔开
环境变量简介
(1) JAVA_HOME:指定JDK的安装路径,作为全局变量用作后面配置的变量。
(2) Path:windows系统根据Path环境变量来查找命令。Path环境的值是一系列的路径,如果能通过Path找到这个命令,则该命令是可执行。否则报“XXX命令不是内部或外部命令,也不是可运行的执行程序或批处理文件”。
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(3) CLASSPATH:指定了运行Java程序时,查找Java程序文件的路径。
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;验证环境变量
按键win+r->输入cmd->进入window命令行界面->输入javac -version->验证版本是否正确。
【注意】:设置环境后要新打开cmd窗口才能生效
按键win+r->输入cmd->进入window命令行界面->输入java -version验证版本和输出是否正确。
【问】:使用记事本写一个简单的HelloWorld程序。(注意字符编码问题)
Eclipse安装使用
- 下载和安装
下载地址:点击这里下载!
安装:绿色版免安装 - 基本使用
- 使用Eclipse创建一个HelloWorld工程,并实现打印 “HelloWorld”到控制台
Java编码规范
- 严格区分大小写
- 源文件以”.java”为后缀,基本组成单元为class
- 一个Java源文件只能有一个public类,其它非public不限。当存在public类时,源文件名称必须与该类同名,区分大小写。
- 程序主入口为main方法,标准格式为:public static void main(String[] args){}
- 类内部的方法代码以语句为最小单位,每个语句以”;”为分号结束