研究生入学考试第讲Java概述_第1页
研究生入学考试第讲Java概述_第2页
研究生入学考试第讲Java概述_第3页
研究生入学考试第讲Java概述_第4页
研究生入学考试第讲Java概述_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.Java的诞生与发展SunMicrosystems于1995年推出1991年开始于“绿色计划”项目,是一种全新的且独立于处理器的计算机语言,起名为Oak;1995年5月23日正式发布,并更名为Java。 Java标志物——一杯咖啡:1995年8月,Netscape公司的浏览器率先支持Java。随后,Microsoft的IE浏览器也支持Java。这样,随着万维网的日益普及,Java得到了广泛的使用。1996年1月,第一个JDK——JDK1.0诞生;1998年12月JDK1.2发布,标志着Java已经进入Java2时代。从此,JDK被分成了J2EE(企业版)、J2SE(标准版)和J2ME(微型版)三个版本。2004年9月J2SE1.5发布,为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0;2005年6月,JavaOne大会召开,SUN公司公开JavaSE6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME;2009年4月20日,Oracle公司以74亿美金收购了SUN公司Java的设计目标创建一种面向对象的程序设计语言提供程序运行的解释环境,使程序代码独立于平台吸收C和C++的优点,使程序员容易掌握去掉C和C++中影响程序健壮性的部分,如指针、内在申请和释放,goto语句等。不包含头文件,也没有结构体和联合体,不支持多重继承;取消自动类型转换,要求强制转换;提供多线程机制;提供代码检验机制Java平台的三个版本JavaSE:是(JavaPlatform,StandardEdition标准版)的简称,即是以前的J2SE。标准版本允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaEE:是(JavaPlatform,EnterpriseEdition企业版)的简称,即是以前的J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java应用程序。JavaME:是(JavaPlatform,MicroEdition微型版)的简称,即是以前的J2ME。微型版本为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java之父——JamesGoslingJamesGosling博士以“Java之父”闻名于世,他是Java技术的创始人,作为Sun研究院院士,亲手设计了Java语言,完成了Java技术的原始编译器和虚拟机。在他的带领下,Java现已成为互联网的标准编程模式以及分布式企业级应用的事实标准,其跨平台的技术优势为网络计算带来了划时代的变革;2011年3月离开Oracle,加盟谷歌。2.Java的特点(1)Java三种核心机制Java虚拟机(JavaVirtualMachine)垃圾收集机制(GarbageCollection)代码安全性检测(CodeSecurty)编译时.java(源代码).class(字节码)运行时解释器硬件网络字节码校验器类加载器JIT代码生成器以Java应用程序运行为例加以说明计算机高级编程语言类型:编译型、解释型Java语言是两种类型的结合Java源程序、字节码文件,机器码指令8Java虚拟机(JavaVirtualMachine)在一台计算机上由软件或硬件模拟的计算机。Java虚拟机(JVM)读取并处理经编译过的平台无关的字节码class文件。Java编译器针对java虚拟机产生class文件,因此是独立于平台的。Java解释器负责将java虚拟机的代码在特定的平台上运行。用户USER字节码程序JVM(Java虚拟机)操作系统硬件DosJVMforDosWindowsJVMforWinXUnixJVMforUnix……Java自动垃圾收集技术不再使用的内存空间应回收——垃圾收集Java语言解除了程序员回收内存空间的责任。它提供一种系统级线程跟踪存储空间分配情况,并在JVM的空闲时,检查并释放哪些可被释放的存储空间。垃圾收集在java程序运行过程中自动进行,程序员无法精确控制和干预。Java运行环境(即JRE)JRE是JavaRuntimeEnvironment的简称,即Java运行环境。组成:JRE=JVM+RuntimeInterpreter(运行时解释器)主要功能:加载代码:由classloader完成;校验代码:由bytecodeverifier完成;执行代码:由runtimeinterpreter完成。

如果你只需要运行Java程序或Applet,下载并安装JRE即可。假若你要自行开发Java软件,请下载JDK。在JDK中附带有JRE。JRE、JDK与JVM三者之间的关系JDK是JavaDevelopmentKits的简称,即Java开发工具集。开发人员利用JDK能够编译、调试和执行Java程序。除JRE外,JDK还包括以下开发工具:编译器:javac运行时解释器:java调试器:jdb文档化工具:javadocApplet的解释器:appletviewer其它工具及资源:如用于程序打包的jar等。即:JDK=JRE+TOOLsJDKJREJVM(2)Java与C++的比较既是一种程序设计语言,也是一个软件平台;是一种纯面向对象程序设计语言;具有平台无关性;取消了指针,自动进行内存管理;也不支持多重继承;不包含头文件,也没有结构体和联合体;不再有全局变量、独立函数,也没有goto语句;取消自动类型转换,要求强制转换;网络编程更加容易。(3)Java的特点有人给出式子:Java=“C++”-“复杂性和奇异性”+“安全性和可移植性”简单:语法与C++相似,但更简单、易学;安全:不允许程序访问所有电脑的内存和磁盘面向对象:完全面向对象语言,以后将要学习:类、对象、接口等内容;健壮:编译时自行检查许多问题,系统运行稳定多线程:可以同时运行多个程序可移植性与结构中立:“一次编写,到处运行”解释性:先编译成字节码,再运行高性能:有一系列机制保证其高效运行分布式:网络操作与本地操作类似动态:可以用安全方式动态链接代码Java的跨平台原理下面比较C语言程序与Java语言程序执行的不同之处:3、Java编程环境的建立(1)JDK的下载与安装从网站/technetwork/java/index.html免费下载最新版本为7.0Windows版本文件:jdk-7-windows-i586.exe

在向导指引下进行安装。16(2)JDK安装目录bin目录:存放可执行文件;lib目录:存放Java的类库文件;include目录:存放用于本地方法的文件;demo目录:存放演示程序;jre目录:存放Java运行环境文件;Sample目录:存放java一些应用实例;javaDB:一个纯java的数据库管理系统(3)环境变量的配置与测试

运行环境的配置主要是指环境变量classpath、path的配置,下面简要介绍它们的作用及在Windows平台下的设置方法:Classpath——类资源位置搜索路径 标明定义过的Java类的字节码文件可能的保存位置,在其它的类中使用该类时,运行环境能够找到并引入该类。

在Win7/XP/2000等下环境变量的设置方法有如下两种:我的电脑/属性/高级/环境变量或开始/设置/控制面板/系统/高级/环境变量

Classpath——类资源位置搜索路径

假设JDK的安装目录为c:\jdk1.6.0,则新建系统变量classpath,在“变量值”中填入:

.;c:\jdk1.6.0\lib\dt.jar;c:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\jre\lib\rt.jar;C:\jdk1.6.0\jre\lib\charsets.jar 特别提醒:.(点)表示当前目录,不能省略。Path——外部命令搜索路径 标明某个可执行文件的保存位置后,系统都可以通过path这一环境变量记录的路径找到它,进而实现在任何路径下都能运行该文件。

假设JDK的安装目录为c:\jdk1.6.0,则新建或编辑系统变量path,在“变量值”中加入:

c:\jdk1.6.0\bin

测试环境变量先进入命令行窗口: 开始/运行…/输入cmd,并按回车 输入并执行下列命令: Java–version Javac22(4)Java开发工具包是一组命令行工具主要有:javac、java、javadoc;javac:用于编译Java源代码的编译器语法:javac[选项]源文件源文件以扩展名.java结尾选项可以包括:-classpath、-djava:用于执行Java字节码的解释器java[选项]类名称[参数]选项可以包括:-classpath、-version文本编辑器:

Windows自带的“记事本”、“写字板” EditPlus

UltraEdit ……集成开发环境 Eclipse

JCreator JBuilder ……这些内容现在只要有点印象就行,以后会具体学习。(5)开发Java程序的步骤创建Java源程序用java作为扩展名(例如:Test.java),是一个文本文件,用Java语言写成,可以用任何文本编辑器创建与编辑;编译源程序调用javac命令,读取你的Java源程序并翻译成Java虚拟机能够明白的指令集合,且以字节码的形式保存在文件中。通常,字节码文件以class作为扩展名(例如:Test.class);运行class(字节码)文件调用java命令,Java解释器读取字节码,取出指令并且翻译成计算机能执行的代码,并执行。第一个Java程序//文件名为Message.javapublicclassMessage{publicstaticvoidmain(String[]args){/*输出此消息*/System.out.println(“Java语言,您好!");}}在记事本编辑Java程序publicclassMessage{/***这是一个main方法。*/

publicstaticvoidmain(String[]args){/*输出此消息*/System.out.println("欢迎来到Java世界!");}}依次选择程序

附件

记事本单击开始演示编辑和保存Java程序……编译和运行演示编译和运行Java程序……单击开始进入程序所保存的目录依次选择程序->附件->命令提示符编译javacMessage.java运行javaMessage输出结果分析程序代码符号/**/指示中间的语句是该程序中的注释。多行注释以/*开始,以*/结束。单行注释以//开始,以行末结束java文档注释使用/***/关键字class声明类的定义,帮助编译器理解它是一个类的声明整个类及其所有成员都是在一对大括号中(即{和}之间)定义的。它们标志着类定义块的开始和结束程序从main()方法开始执行关键字public是一个访问说明符,控制类成员的可见度和作用域关键字static允许调用main()方法,而无需创建类的实例关键字void告诉编译器main()方法在执行时不返回任何值args[

]是String类型的数组println(

)方法通过System.out显示作为参数传递给它的字符串30编译、执行时的命令错误编译时,源文件少了扩展名.java执行时,字节码文件多了扩展名.class执行时,找不到指定的字节码文件(即.class文件)执行时,字节码文件名大小写错误32publicclassIntAdd{ publicstaticvoidmain(Stringargs[]){ Strings1=args[0]; inta=Integer.parseInt(s1); //将字符串转换为数值型,下同 Strings2=args[1]; intb=Integer.parseInt(s2); intc=a+b; System.out.println(a+"+"+b+"="+c); }}例2:计算两个整数之名(文件名IntAdd.java)33importjavax.swing.JOptionPane;

//导入所需要的类publicclassSquare{ publicstaticvoidmain(Stringargs[]){

//建立输入对话框窗口来输入字符串

Strings=JOptionPane.showInputDialog("请输入一个数:"); doubled=Double.parseDouble(s);

//将字符串转换为数值型

doubleresult=d*d;

//建立消息对话框窗口来输出结果

JOptionPane.showMessageDialog(null,s+"的平方是:"+result); }}例3:计算一个数的平方(文件名Square.java)4、Java程序的两种类型(1)Java应用程序:包含main()方法,它是程序的入口,由java解释器加载、执行,前面的几个例子都是这种类型(2)Java小应用程序(applet):它具有如下特点:用Java编写的、嵌入在Web页面中的小程序。它不是独立的应用程序,没有main()方法,不能直接执行;Applet运行web浏览器中,可通过下列程序来执行:JDK的appletviewer命令IE浏览器其它的浏览器,如JBuilder的applet浏览器;Applet主要用于绘图、动画、声音、页面交互等方面。第一个Applet程序(文件名FirstApplet.java)importjava.applet.Applet; //导入Applet类importjava.awt.Graphics; //导入Graphics类//FirstApplet类继承了Applet类publicclassFirstAppletextendsApplet{

//重写了paint()方法 publicvoidpaint(Graphicsg){

//在指定位置输出字符串 g.drawString("这是一个简单的applet程序!",30,30); }}程序代码说明:Java中的import语句相当于C/C++语言中的include文件包含命令;每一个applet都是java.applet.Applet的子类,用extends进行继承;applet中没有main()方法。当applet被浏览器运行时,init()、start()方法等自动执行,再调用paint()方法;在applet中与屏幕输出有关的操作通过Graphics类的对象来实现;一个Java源文件内最多只能有一个public类,称为主类,且源文件名必须和它同名。applet程序的开发步骤与application程序比较有相同之处,也有不同的地:编辑、保存:与application相同,用文本编辑器(如记事本、Editplus等)编辑,再保存(文件名与类名相同,扩展名为java);编译:与application相同,用javac命令将.java文件编译为.class字节码文件用dir命令查看,可以发现多了一个.class文件创建html文件:创建一个调用applet的html文件,该文件的名字任意,扩展名为.htm或.html。内容为如下:<HTML><HEAD><TITLE>第一个applet程序</TITLE></HEAD><BODY><appletcode="FirstApplet.class"width=300height=100></applet></BODY></HTML>这里,我们将该html文件命名为test.hmtl执行:用JDK的appletviewer命令格式:appletviewerhtml文件名(带扩展名.htm或.html)例如:appletviewertest.html(30,30)y(0,0)x执行:还有一种可以选择的方法,就是用Windows的IE浏览器打开(双击.html文档即可)。(30,30)y(0,0)x 在jdk安装目录下demo\jfc\目录下有Java2D,该程序是Applet,运行画

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论