您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > JAVA教程第2章(控制台程序设计)
第2章控制台程序设计本章提要◆面向对象思想◆Java语言特点◆Java运行环境◆编写Java程序本章知识要点Java程序分类Java开发环境与运行类的定义类的四个基本特性接口任务1认识Java程序及其运行什么是Java程序Java开发环境及工具计算机处理Java程序的过程Java程序例子:/*WelcomeApp.java*/importjava.lang.System;classWelcomeApp{publicstaticvoidmain(Stringargs[]){System.out.println(WelcometoJavaWorld!);}}Java程序Java应用程序的特点是可以一次编译到处运行。两大类型应用程序(applications)小应用程序(applets)应用程序是可以独立在任何操作系统平台上执行的程序。基于窗体的应用程序基于控制台的应用程序小应用程序是在Web页面内执行的Java程序,小应用程序需要浏览器支持。Java运行环境Java运行环境JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机、Java平台核心类和支持文件。如sun公司的JRE包括:JavaRuntimeEnvironment和JavaPlug-inJava虚拟机JVM(JavaVirtualMachine)它是一种可以运行Java字节码的虚拟的计算机,它是Java运行平台的核心。Java源程序编译生成的字节码不能直接在操作系统平台上运行,必须在Java虚拟机上运行。任务1认识Java程序及其运行什么是Java程序Java开发环境及工具计算机处理Java程序的过程Java开发环境Java开发包Java开发工具箱(JDK)是SUN的Java软件开发包。其中包含有实现各种各样低层技术的类的集合,这些类提供了很多属性和方法。我们可以在这之上开发Java应用程序。JDK的三种版本SE(J2SE),standardedition,标准版,通常用版本EE(J2EE),enterpriseedtion,企业版,用于开发J2EE应用程序ME(J2ME),microedtion,主要用于移动设备、嵌入式设备上的java应用程序Java开发环境(续)在SUN的JDK中,不仅包含开发类库。同时,JDK也为用户提供了集成和执行Java应用程序和小应用程序的工具。表中列出的就是它们所提供的部分工具工具作用Javac编译器用于将Java源程序编译成字节码Java解释器Java解释器,用于解释执行Java字节码appletviewer小应用程序浏览器,用于测试和运行JavaApplet程序JavadocJava文档生成器Javah工具C文件生成器,利用此命令可实现在Java类中调用C++代码jdb工具Java调试器Java开发环境(续)JDK下载地址JDK的安装与系统环境配置1、右击我的电脑选择——属性——高级——环境变量——系统变量2、新建一个变量名为“CLASSPATH”,变量值为“C:\ProgramFiles\Java\jdk1.5.0_14\lib\tools.jar;C:\ProgramFiles\Java\jdk1.5.0_14\lib\dt.jar;.;”中间用分号隔开,若修改了安装目录的,则需修改成相应目录。3、再新建一个变量名为“JAVA_HOME”,变量值值为“C:\ProgramFiles\Java\jdk1.5.0_14;”。4、打开系统变量“PATH”,在变量值后面添加“C:\ProgramFiles\Java\jdk1.5.0_14\bin;”Java开发环境(续)JDK安装与配置测试:输入Java-version出现以下说明,则表示成功javaversion1.5.0_14Java(TM)2RuntimeEnvironment,StandardEdition(build1.5.0_14-b03JavaHotSpot(TM)ClientVM(build1.5.0_14-b03,mixedmode,sharing)Java开发环境(续)关于系统环境配置变量的说明:1.PATH环境变量。作用是指定命令搜索路径,在DOS命令行下面执行命令,如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。2.CLASSPATH环境变量。作用是指定类搜索路径,JVM通过CLASSPTH来寻找类的,从而我们可以使用已编写好的类。3.JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。4.如果安装了J2EE,也同样要加一个环境变量J2EE_HOME。Java开发工具JCreatorJBuilderVisualAgeForJavaSunONEStudioNetbeanEclipse任务1认识Java程序及其运行什么是Java程序Java开发环境及工具计算机处理Java程序的过程Java程序运行环境架构Java源代码(.java文件)Java编译器Java字节码(.class文件)装载器字节校验器Java解释器操作系统/硬件平台JVMJVM虚拟机——用软件构造出来的计算机。它是通过在实际的计算机上仿真模拟各种计算机功能来实现的。虚拟机有自己的指令系统,但没有硬件,它把虚拟代码转换成相应的机器代码,再加以执行。JAVA虚拟机(JVM)——一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM的作用——它有自己的一套逻辑指令,JAVA源代码经过编译器编译以后,生成虚拟机的逻辑指令集(.class文件),而JVM的任务就是将.class文件装入内存,并把这些.class文件包含的伪指令解释为具体平台的机器指令,然后执行。从这个意义上来说编译器是平台无关的,而JVM是平台有关的。如window平台与linux平台上的JVM是不一样的。JVM体系结构常量池:虚拟机必须为每个被装载的类型维护一个常量池。常量池就是该类型所用到常量的一个有序集和,包括直接常量(string,integer和floatingpoint常量)和对其他类型,字段和方法的符号引用。类装载器子系统运行引擎JVM区本地方法栈程序计数器Java栈堆方法区(常量池,成员和方法数据以及方法、构造方法的代码)(堆)共享各线程独占各线程独占各线程独占共享JVM类装载——指将包含在类文件中的字节码装载到JVM中,并使其成为JVM一部分的过程。即寻找一个类或是一个接口的二进制形式,并用该二进制形式来构造代表这个类或是这个接口的class对象的过程,其中类或接口的名称是给定了的。类装载过程——装载、链接和初始化,其中链接又可以分成校验、准备、解析三步:装载:查找和导入类或接口的二进制数据;链接:执行下面的校验、准备和解析步骤,其中解析步骤是可以选择的;校验:检查导入类或接口的二进制数据的正确性;准备:给类的静态变量分配并初始化存储空间;解析:将符号引用转成直接引用,如变量直接通过地址访问,方法也被映射到内存的某个位置等待调用;初始化:利用类定义的代码对静态变量的初始化Java代码和静态Java代码块。JVM运行引擎——负责执行包含在已装载的类或接口中的指令。JVM区Java堆——是一个运行时数据区,类的实例(对象)从中分配空间,它的管理是由垃圾回收来负责的,程序员不能显式释放对象。Java不规定具体使用的垃圾回收算法,可以根据系统的需求使用各种各样的算法。Java方法区——保存方法代码(编译后的java代码)和符号表(常量池)程序计数器——每个线程一旦被创建就拥有了自己的程序计数器。当线程执行Java方法的时候,它包含该线程正在被执行的指令的地址JVMJava栈有三个区域:局部变量区、运行环境区、操作数区局部变量区:每个Java方法使用一个固定大小的局部变量集。运行环境区:在运行环境中包含的信息用于动态链接,正常的方法返回以及异常捕捉操作数区:机器指令从操作数栈中取操作数,对它们进行操作,并把结果返回到栈中本地方法栈,当一个线程调用本地方法时,它就不再受到虚拟机关于结构和安全限制方面的约束,它既可以访问虚拟机的运行期数据区,也可以使用本地处理器以及任何类型的栈。JVM工作过程JVM是JDK的最底层,负责于操作系统的交互,用来屏蔽操作系统环境,提供一个完整的java运行环境,即虚拟计算机JDK装入JVM的过程创建jvm装载环境和配置装载jvm.dll初始化jvm.dll并挂界到JNIENV(JNI调用接口)实例调用JNIENV实例装载并处理class类。JVM处理示例Test.class的过程输入命令:JavaTest确定jvm的路径和相关的参数配置装载jvm.cfg文件,获得jvm.dll的路径由LoadJavaVM来装入jvm.dll文件获得JNIEnv实例java.c中LoadClass方法装载该主类由JNIEnv实例的方法调用主类中main方法任务2编写数字显示程序问题分析知识学习类的抽象与封装数据类型常用类和包定义Java类任务实施问题分析任务描述:编写一个程序,能够显示数字问题分析:Java程序构成,它是面向对象的语言,其程序由类组成的,需要了解类的相关概念编写Java程序的方法和步骤确定显示数字所使用的数据类型,了解数据类型知识编写代码编译执行知识学习——类的抽象与封装将客观世界的任何实体看作对象,则客观世界由各种“对象”组成,且有自己的状态和行为,将具有相同特征和功能的对象归类,形成类,其中每个对象就是这个类的一个实例。类之间可通过继承关系构成类的层次结构,对象之间可通过消息相互作用,即一个对象通知另一个对象完成一个允许作用于该对象的操作,而其操作细节被封装,对外界不公开。类和对象——是对对象的抽象及描述,是一些数据元素(属性)及其上操作(方法)的聚集。对象则对应一个值。类与对象的关系相当于模式和它的实例的关系。知识学习——类的抽象与封装面向对象的四个基本特征——抽象、封装、继承、多态。抽象——从众多对象中抽出共同的、本质的属性和行为的过程。封装——将类的属性和行为(即数据和方法)聚集在一起形成一个完整逻辑单元的机制,只让可信的类或者对象操作,对不可信的进行信息隐藏。继承——是类之间“一般”和“特殊”的关系,已有类(父类)可派生出新类(子类),构成类的层次关系多态——表示同一事物的多种形态面向对象——是一种程序设计思想,在程序空间内,利用数据抽象的方法对客观世界的实体进行描述,即将一种数据结构和操作该数据结构的方法捆绑在一起,封装在一个程序实体内,从而实现了数据封装和信息隐藏。知识学习——类的抽象与封装定义一个Java类classClassName{//构造方法//一个或多个属性//一个或多个方法//一个主方法}知识学习——类的实例化对象的生命周期:生成、使用和清除对象的生成——包括声明、实例化和初始化三方面的内容.通常的格式为:typeobjectName=newtype([paramlist]);说明:其中type是组合类型(包括类和接口)typeobjectName:即声明,分配一个type引用空间newtype:即实例化,在堆空间创建一个type类对象([paramlist]):即初始化,在对象创建后,立即调用type类的构造函数,对刚生成的对象进行初始化=:使对象引用指向刚创建的那个type对象知识学习——类的
本文标题:JAVA教程第2章(控制台程序设计)
链接地址:https://www.777doc.com/doc-2878723 .html