chapter02Java概述和入门程序.ppt_第1页
chapter02Java概述和入门程序.ppt_第2页
chapter02Java概述和入门程序.ppt_第3页
chapter02Java概述和入门程序.ppt_第4页
chapter02Java概述和入门程序.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

第2章Java概述和入门程序,教学目标,Java语言历史、发展和特点Java类库Java开发环境JDK下载、安装与使用Java集成开发环境Java程序类型及简单例子应用程序小应用程序applet,2.1Java历史及发展,1991年由JamesGosling负责开发的一个分布式代码系统(Oak),最初是为家用消费电子产品(电冰箱、电视机等)进行编程控制。1993年Sun公司将目标市场转向Internet。1994年将Oak语言更名为Java。1995年Java被正式发布.,2.1Java历史及发展,现在Java用于:开发大型企业的应用程序;增强WWW服务器的功能;动画游戏的设计,包括图形图像的调用;为消费类设备(如手机、传呼机和移动设备等)提供应用程序。,2.2Java语言特点,Java语言特点:简单性、面向对象、平台无关、可移植、解释型、高性能、动态性、可靠、安全、多线程、分布式处理等。,Java语言特点,1.简单性,系统精简,但功能齐备。风格类似于C+,对C+程序员而言非常容易掌握。Java摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理;提供丰富的类库。,Java语言特点,2面向对象Java语言是纯面向对象的语言,程序的结构:由一个以上的类组成。,完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,Java语言特点,3平台无关性用Java写的应用程序不用修改就可在不同的软硬件平台上运行。Java靠Java虚拟机(JavaVirtualMachine,JVM)实现平台无关性。JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚拟机的机器指令,并有自己的栈、寄存器组等。,Java语言特点,在JVM上,有一个Java解释器用来解释Java编译器编译后的程序。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码(ByteCode)。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。,通过JVM以及JRE将其转成本地机器代码,,Java程序运行环境,编译时,.,Java源程序,(.java文件),.,JavaBytecode,(.class文件),运行时,Bytecode加载器,字节码校验器,解释器,JIT代码生成器,硬件,网络,JIT(JustInTime),Java与传统语言的不同运行机制,Java语言特点,4.可移植性5.解释性6.高性能7.动态性,Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,而与体系结构无关。,Java编译器将java源文件生成类文件.class,类文件可通过java命令解释执行,将Java字节码转换为机器码。,JIT编译器。可以提高Java代码的执行速度。,允许程序动态地装入运行过程中所需要的类。,Java语言特点,8可靠性和安全性,Java语言提供的安全。编译器提供的安全。字节码校验。类装载。,Java是强类型语言;Java不支持指针,这杜绝了内存的非法访问;Java的自动单元收集防止了内存丢失等动态内存分配导致的问题;Java解释器运行时实施检查,可以发现数组和字符串访问的越界;Java提供了异常处理机制,使程序从错误状态中恢复。当Java字节码进入解释器时,首先必须经过字节码校验器的检查,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。,Java语言特点,9多线程,内置多线程功能,使得在一个程序里可同时执行多个小任务。带来的好处是更好的交互性和实时控制性。,Java提供现成的类Thread,只要继承这个类就可以编写多线程的程序。多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。,Java语言特点,10分布式处理,支持TCP/IP协议。,分布式包括:数据分布:指数据可以分散在网络的不同主机上,操作分布:指把一个计算分散在不同主机上处理。Java支持WWW客户机/服务器计算模式,因此,它支持这两种分布性。Java数据分布:Java提供了一个叫作URL的对象,利用这个对象,你可以打开并访问具有相同URL地址上的对象,访问方式与访问本地文件系统相同。Java操作分布:Java的applet小程序可以从服务器下载到客户端,即部分计算在客户端进行,提高系统执行效率。,2.3Java类库,Java类库也称作JavaAPI(ApplicationProgrammingInterface)。在学习Java时,实际上学习内容分成两部分。第一部分是Java语言本身,以便编写自己的类;第二部分学会扩展Java类库的类。本书通过例子讨论了Java的大量类库的使用。,2.3Java类库,Java中的包:Java为编写应用程序提供了丰富的预定义类库,这些预定义类库按相关类的范畴进行了分组,这些分组被称作包(package).一个包是一个已命名的类的集合,一个包还可以包含其他的子包。Java所有的包被称为Java应用程序接口API。JavaAPI包分成:核心包(以java开头的包)和可选包(以javax开头的包)核心包和可选包一般被包含Java开发工具包中。,2.3Java类库,JDK中的一些重要的包:java.lang:提供支持Java的基础类。java.util:提供实用方法和数据结构的类。java.awt:javax.swing:java.applet:创建小应用程序提供必要的元件java.io:提供输入、输出流支持。:提供支持联网的类。,提供图形用户界面编程的类库集合。,2.3Java版本,JDK针对不同的的应用,提供不同的服务,分成了JSE、JEE、JME三种类型的版本。JSE(JavaStandardEdition),开发标准的PC应用。JEE(JavaEnterpriseEdition),开发企业级的应用服务。JME(JavaMicroedtion),开发移动设备、嵌入式设备上的应用。,JSE、JEE、JME,2.4Java开发环境,Java开发环境:使用JDK工具集(JavaDevelopersKits,JDK),是一种命令行的方式。使用集成环境IDE(IntegratedDevelopedEnvironment)。我们将通过程序例子分别介绍它们的使用方法。,JDK下载、安装与使用,JDK从网站免费下载,下载适合于操作系统的JDK。Window32:下载“jdk-7u51-windows-i586.exe”;Window64:下载“jdk-7u51-windows-x64.exe”。如Window操作系统下,我们下载JDK的开发工具“jdk-7u51-windows-i586.exe”Window操作系统下安装时,直接运行“jdk-7u51-windows-i586.exe”,按照安装向导进行安装。默认的安装路径C:ProgramFilesJava,JDK安装与使用,安装JDK后产生主要的目录结构如下:bin:Java开发工具,包括Java编译器、解释器、applet解释器等lib:Java开发类库db:纯Java开发的关系数据库Derbyjre:Java运行环境,包括Java虚拟机、运行类库等include:C语言的头文件,JDK安装与使用,Java开发工具包括的文件有:ljavac:Java编译器,用来将java程序编译成Bytecode。ljava:Java解释器,执行已经转换成Bytecode的java应用程序。ljdb:Java调试器,用来调试java程序。ljavap:反编译,将类文件还原回方法和变量。ljavadoc:文档生成器,创建HTML文件。lappletviwer:applet解释器,用来解释已经转换成Bytecode的Java小应用程序。,JDK安装与使用,安装完JDK后,必须设置环境变量PATH和CLASSPATH。PATH环境变量指定Java工具的路经,CLASSPATH环境变量是指定类的路经。假如:JDK安装在目录:C:ProgramFilesJavajdk1.7.0_65bin,用户的Java类文件放在目录下:D:javaExamples,环境变量设置如下:PATH=;C:ProgramFilesJavajdk1.7.0_65bin;CLASSPATH=D:javaExamples,Java集成开发环境,Java开发领域的集成开发环境IDE:MyEclipse、EclipseJCreatorJBuilderVisualJ+NetBean,JCreator的介绍,JCreator:为用户提供简洁、快速、占用资源少的功能,例如项目管理功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用户界面。JCreator:提供了图形化的编绎或运行Java程序。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与你机器中所装的JDK完美结合.,JCreator的安装,JCreator的下载地址:,JCreator显示界面,2.4.3MyEclipse8.5的安装和简单使用,Eclipse:一个免费的开放的IDE,它允许安装第三方开发的插件来扩展和增强自身的功能。MyEclipse:以eclipse为核心,并集成开发者常用到的一些有用插件,如struts、Hibernate、Spring等。一种高级编程环境,包括了完备的编码、调试、测试和发布功能,完全支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate编程。,2.4.3MyEclipse的安装和使用,安装MyEclipse时,运行myeclipse-8.5.0-win32.exe。,进入解压缩界面,安装完毕后,在Window桌面的程序组产生MyEclipse程序项。,2.4.3MyEclipse的安装和使用,图2-11启动Myeclipse的工作空间选择界面,2.4.3MyEclipse8.5的安装和简单使用,在2.5中,将通过程序例子介绍JDK、JCreator和MyEclipse8.5的使用方法。,2.5Java程序类型及简单例子,Java程序有四种基本类型:应用程序(application)、小应用程序(applet)、Servletbean。这四种类型程序的区别很少,Java的每一个程序都至少有一个类,并且Java语言的的基本编程结构对于所有类型的程序都适用。且每一种类型的程序,都要运行在Java虚拟机JVM上。,应用程序(applications),应用程序(applications)是一个可以独立运行的程序,它只需要Java虚拟机就能够运行。一个Javaapplication中,一定要有一个类包含main方法。,例2-1第一个Javaapplication:,/FirstApp.javapublicclassFirstApppublicstaticvoidmain(Stringargs)System.out.println(ThisisthefirstJavaApplication!);,ThisisthefirstJavaApplication!,定义类的关键字,类名,必须这么写,文档注释,,程序运行输出结果:,例2-1第一个Javaapplication的说明,(1)注释行。Java中注释有Java有二种注释形式:/一行的注释/*一行或多行的注释*/(2)关键字class:声明一个新的类,类名为FirstApp。类定义由大括号括起来,类中封装了类的变量(域)和类的方法。public类(公共的)的源程序文件名,必须与公共类名相同,这是本应用程序文件起名为FirstApp.java的原因。(3)staticvoidmain(Stringargs)定义了一个主方法main,是应用程序执行的入口点。main方法所在的类叫做主类,一个应用程序的主类只能有一个。,例2-1第一个Javaapplication的说明,main方法署名中的符号解释:public:指明为公共方法。public方法可以被类的对象使用。static:指明方法是一个静态方法,静态方法是类的方法,而不是对象的方法,静态方法可以通过类名直接调用。void:表示main方法执行后不会返回任何值。Stringargs:园括号中的是定义传递给main方法的参数,是类型名String的数组args。,例2-1第一个Javaapplication的说明,(5)System.out.println(ThisismyfirstJavaApplication!);System.out.println:在命令窗口输出一行文本。System.out.print:在命令窗口输出文本后,但并不换行。,程序的执行分三步:编写、编译和运行。,(5)该程序的执行用JDK完成。程序的执行分三步:编写、编译和运行。第一步:利用文本编辑工具,编写生成Java源程序,命名为FirstApp.java第二步:编译。调用Java编译器javac.exe,将源文件FirstApp.java编译生成类FirstApp.class。假定FirstApp.java放在D:javaExamples目录下。d:/改变盘符cdjavaExamples/改变当前路径javacFirstApp.java/编译,第一个Javaapplication程序的执行.分三步:编写、编译和运行。,第三步:运行。调用Java解释器java.exe对类文件FirstApp.class解释执行,输出程序的执行结果。在MS-DOS命令行提示符“D:javaExamples”下,输入下列命令执行:javaFirstApp,例2-2用格式化方法printf输出两行文本,并使用JCreator编写程序、编译和运行。,例2-2第二个Javaapplication:用格式化语句显示两行文本,/Second.javapublicclassSecondpublicstaticvoidmain(Stringargs)System.out.printf(You%sn%sn,print,Twolines);,第二个Javaapplication的说明,(4)用JCreator完成该程序的执行。分三步:进行程序书写、编译和运行。具体步骤如下:第一步:利用JCreator,编写生成Java源程序,命名为Second.java.第二步:程序编译。编译器将源文件Second.java编译生成类Second.class放在D:javaExamples目录下.第三步:程序运行。对类文件Second.class解释执行,并输出结果。,例2-3:要求用户从键盘输入二个整数,计算这两个整数之和,并显示结果.(1)Scnanner类在包java.util中。使用时必须导入importjava.util.Scanner;(2)创建标准输入流对象,并赋给引用变量inputScannerinput=newScanner(System.in);(3)通过引用变量input调用Scanner对象的方法nextInt(),完成接受从键盘输入的一个整型数。firstNumber=input.nextInt();,/Addition.javaimportjava.util.Scanner;publicclassAdditionpublicstaticvoidmain(Stringargs)Scannerinput=newScanner(System.in);/声明三个整型变量intfirstNumber;intsecondNumber;intsum;/readinfirstnumberSystem.out.print(输入第一个数:);firstNumber=input.nextInt();/readinsecondnumberSystem.out.print(输入第二个数:);secondNumber=input.nextInt();/substractnumberssum=firstNumber+secondNumber;System.out.printf(相加后的结果是:%dn,sum);,定义三个整型变量,两数相加,显示结果,第三个Javaapplication的执行结果,MyEclipse环境,完成例2-3程序的执行,需要四个步骤:创建项目;给项目添加类文件;输入、编译类文件;运行类文件,MyEclipse环境的使用,1.创建项目:“FileNewJavaProject”,MyEclipse环境下,如何执行应用程序?,1.创建项目:“FileNewJavaProject”,MyEclipse环境下,如何执行应用程序?,1.创建项目:,MyEclipse环境下,如何执行应用程序?,图2-18新建项目完成界面,2.给项目添加类文件。“new-class”,MyEclipse环境下,如何执行应用程序?,2.给项目添加类文件。,MyEclipse环境下,如何执行应用程序?,输入类名,选项,MyEclipse环境下,如何执行应用程序?,3.输入源代码,并编译。,MyEclipse环境下,如何执行应用程序?,3.输入源代码,并编译。,MyEclipse环境下,如何执行应用程序?,4.运行Java主类“RunAsJavaapplication”,MyEclipse环境下,如何执行应用程序?,4.运行Java主类,小应用程序applet,Java小应用程序(applet)是一种嵌入在HTML文档(即Web页)中的Java程序。当浏览器装入一个含有applet的Web页时,applet被下载到该浏览器中,并开始执行。执行applet的浏览器一般称为applet容器。,小应用程序applet的下载执行过程,小应用程序applet,Java2软件开发工具包含有appletviewer.exe,它是一个applet容器,一般用于对嵌入Web页的applet进行测试。在JCreator集成环境中,会调用appletviewer容器,运行含有applet的HTML文档。,例2-4第一个Javaapplet:绘制字符串,第一个applet的功能是在applet显示区域上绘制字符串“欢迎进入applet程序设计”。文件名为WelcomeApplet.java,经过编译后将生成WelcomeApplet.class。由于Java小应用程序是不能直接运行的,必须嵌入到网页中,要使用applet容器才能够运行。因此我们将小应用程序WelcomeApplet.class嵌入在HTML文件WelcomeApplet.html中。,小应用程序WelcomeApplet.java的代码如下:,importjava.awt.Graphics;/导入类Graphicsimportjavax.swing.JApplet;/导入类JAppletpublicclassWelcomeAppletextendsJApplet/drawtextonappletbackgroundpublicvoidpaint(Graphicsg)super.paint(g);g.drawString(欢迎进入applet程序设计,25,25);,调用基类方法paint,刷新applet显示区域,调用基类方法paint,刷新applet显示区域,HTML文档文件WelcomeApplet.html的代码如下:,使用支持Java的微软的InternetExplorer浏览器和小应用程序查看器AppletViewer这两个applet容器,来执行WelcomeApplet.html的显示结果:,使用小应用程序查看器AppletViewer的applet容器,来执行WelcomeApplet.html的显示结果:,在浏览器下如何运行小应用程序,双击WelcomeApplet.html运行,则会自动打开浏览器窗口,并出现输出结果。,在浏览器下如何运行小应用程序,如果浏览器运行出现“应用程序已被安全设置阻止“的提示信息时:进入Window的“控制面板-切换到经典视图”,双击“Java“,双击安全”将安全级别设置成“中”级,并点击“应用”按钮,如图所示,检查设置正确后,然后运行HTML文件WelcomeApplet.html。,例2-4第一个Javaapplet的说明,(1)importjava.awt.Graphics;导入javax.swing包中的Graphics类。Graphics类使Javaapplet能绘制各种图形如直线、矩形、椭园以及字符串等。(2)importjavax.swing.JApplet;导入javax.swing包中的JApplet类。(3)publicclassWelcomeAppletextendsJApplet是applet类的声明。定义了一个applet类名为WelcomeApplet,关键字extends表示继承,即表示WelcomeApplet是超类JApplet的子类,它拥有JApplet类的所有属性和方法,并且在WelcomeApplet类可以重写这些方法并扩展新的功能。,例2-4第一个Javaapplet的说明,(4)publicvoidpaint(Graphicsg)是applet的paint方法的声明。paint方法由applet容器调用执行。一个applet的方法有5个:init、strat、paint、stop和destroy(此次序也是applet容器调用方法的执行次序),这些方法的含义请参见Java文档中的JApplet类的说明。,例2-4第一个Javaapplet的说明,(5)g.drawString(欢迎进入applet程序设计,25,25);通过引用变量调用Graphics对象的drawString方法,在applet上指定的像素位置绘制一个字符串。drawString方法有三个参数,第一个参数是要绘制的字符串;第二个和第三个参数是要绘制的字符串的左下角在applet上的平面坐标(25,25),它们也是以像素为单位。,例2-4第一个Javaapplet的说明,(6)是在HTML文件中嵌入小应用程序WelcomeApplet.class,并定义该applet在applet容器中显示区域:以像素为单位的宽度和高度。在HTML文件中嵌入Java小应用程序应使用标志,这个标志包含几个参数:CODE=“”:用来指出要嵌入的Java小应用程序名称。WIDTH=x:用来指定Java小应用程序的宽度;HEIGHT=x:用来指定Java小应用程序的高度。,例2-4第一个Javaapplet的说明,(7)WelcomeApplet的编译和运行假设WelcomeApplet.java、WelcomeApplet.class和WelcomeApplet.html放在文件夹“D:javaExamples”下。通过两种方法来运行Java小应用程序:一种方法使用IE浏览器,打开IE浏览器,在地址栏上输入命令:djavaExamplesWelcomeApplet.html使用Java的小应用程序查看器AppletViewer。在JCreator集成环境中,调用appletviewer容器,运行含有applet的HTML文档。其过程是:在JCreator中分别创建生成Java程序WelcomeApplet.java和HTML文件WelcomeApplet.html,先选中WelcomeApplet.java对其进行编译完成后,然后选中WelcomeApplet.html,运行它(执行菜单命令”BuildExcuteFile”),例2-5第二个Javaapplet:绘制字符串和图形,第二个applet的功能是在applet显示区域上绘制字符串“欢迎进入applet程序设计!”并且在此字符串的上方和下方绘制两条直线。类WelcomeLines从超类JApplet继承。在paint方法中,两次调用Graphics画直线drawLine方法,一次调用Graphics画字符串drawString方法。画直线drawLine方法需要四个参数,表示直线在applet上的起点坐标(x1,y1)和终点坐标(x2,y2),坐标值均以像素为单位。,/WelcomeLines.javaimportjava.awt.Graphics;/importclassGraphicsimportjavax.swing.JApplet;/importclassJAppletpublicclassWelcomeLinesextendsJApplet/drawlinesandastringonappletbackgroundpublicvoidpaint(Graphicsg)/callsuperclassversionofmethodpaintsuper.paint(g);/drawhorizontallinefrom(15,10)to(210,10)g.drawLine(15,10,180,10);/drawhorizontallinefrom(15,30)to(210,30)g.drawLine(15,30,180,30);/drawStringbetweenlinesatlocation(25,25)g.drawString(欢迎进入applet程序设计!,25,25);/endmethodpaint/endclassWelcomeLines,WelcomeLines.html的代码如下:,2.5.3简单输入和输出,1.System.out.printf()方法进行格式化的输出,表2-1printf方法中常用的格式说明符,2.5.3简单输入和输出,2.应用Scanner类进行输入Scanner类在包java.util中,用import语句导入,表2-2Scanner常用的输入数据方法,2.5.3简单输入和输出,3.利用对话框JOptionPane进行输入和输出JOptionPane类在包javax.swing中,用import语句导入。importjavax.swing.JOptionPane;JOptionPane类提供静态方法showInputDialog()和showMessageDialog()用于输入。StringshowInputDialog(Objectmessage)JOptionPane类提供静态方法showMessageDialog()用于输出.StringshowInputDialog(ComponentparentComponent,Objectmessage,Stringtitle,intmessageType),例2-6第三个Javaapplication:二个整数相减,此程序利用对话框,要求用户从键盘输入二个整数,计算这两个整数之差,并显示结果。,/Subtraction.cppimportjavax.swing.JOptionPane;/导入类JOptionPanepublicclassSubtractionpublicstaticvoidmain(Stringargs)StringfirstNumber;StringsecondNumber;intnumber1;intnumber2;intsub;firstNumber=JOptionPane.

温馨提示

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

最新文档

评论

0/150

提交评论