您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > Java语言基础知识讲解
Java语言程序设计(第2版)第1章Java语言基础知识目录1.1Java语言与面向对象的程序设计1.2Java语言特点1.3Java程序概述1.4基本数据类型与表达式1.5数组的概念1.6数组的创建和引用1.7本章小结21.1Java语言与面向对象的程序设计•Java语言是一个面向对象的程序设计语言。•除了面向对象的特点以外,Java语言还在安全性、平台无关性、支持多线程、内存管理等许多方面具有卓越的优点。31.1.1面向对象的程序设计思想•计算机程序设计▫对问题进行抽象▫用计算机语言表述,利用机器求解41.1Java语言与面向对象的程序设计1.1.1面向对象的程序设计思想(续)•程序设计语言发展的历程▫机器语言▫汇编语言▫高级语言▫面向对象的语言51.1Java语言与面向对象的程序设计1.1.1面向对象的程序设计思想(续)•面向对象的思想▫将客观事物看作具有状态和行为的对象,通过抽象找出同一类对象的共同状态和行为,构成类。61.1Java语言与面向对象的程序设计1.1.1面向对象的程序设计思想(续)•例:▫构建一个汽车类,需要提取所有汽车对象的共有的状态和行为。将状态用变量表示,行为用方法表示。classCar{intcolor_number;intdoor_number;intspeed;……voidbrake(){…}voidspeedUp(){…};voidslowDown(){…};……}71.1Java语言与面向对象的程序设计1.1.1面向对象的程序设计思想(续)•面向对象技术给软件发展带来的益处▫可重用性▫可靠性•面向对象语言的基本特征▫抽象和封装▫继承性▫多态性81.1Java语言与面向对象的程序设计1.2Java语言的特点•1990sun启动绿色计划•1992创建oak语言—java•1994gosling参加硅谷大会演示java功能震惊世界•1995sun正式发布java第一个版本,目前最新的是jdk7.0JamesGoslingWikipedia1.2Java语言的特点•面向对象•安全性▫Java不支持指针▫Java的内部安全措施•平台无关性▫编译后的字节码对应于Java虚拟机,因此可在不同平台上运行•多线程▫Java是第一个在语言级提供内置多线程支持的高级语言•内存管理▫Java对内存自动进行管理并进行垃圾回收111.1Java语言与面向对象的程序设计1.2Java语言的特点(续)•Java语言的优点▫易于学习▫代码效率高▫代码质量高▫开发程序快▫体系结构中立,纯Java程序不依赖于平台▫一处编写,各处运行▫软件易于发布121.1Java语言与面向对象的程序设计1.2Java语言的特点(续)•Java与C++的区别▫Java中没有#include和#define等预处理功能,用import语来句包含其它类和包;▫Java中没有structure,union及typedef;▫Java中没有不属于类成员的函数,没有指针和多重继承,Java只支持单重继承;▫Java中禁用goto,但goto还是保留的关键字;▫Java中没有操作符重载;▫Java中没有全局变量,可以在类中定义公用、静态的数据成员实现相同功能;…...131.1Java语言与面向对象的程序设计1.3Java程序概述•Java开发环境•Application举例141.3.1Java开发环境•Java程序编译执行的过程151.3Java程序概述1.3.1Java开发环境(续)•一次编写,各处运行161.3Java程序概述1.3.1Java开发环境(续)•Java平台•JavaAPIs(应用程序接口)▫经过编译的,可在程序中使用的Java代码标准库。•JavaVM(虚拟机)▫Java程序由Java虚拟机程序执行(或解释执行)。17Java程序JavaAPIsJava虚拟机计算机系统1.3Java程序概述1.3.1Java开发环境(续)•Java平台Java2SDK(SoftwareDevelopmentKit)▫StandardEdition(J2SE)▫EnterpriseEdition(J2EE)▫MobileEdition(J2ME)181.3Java程序概述Java技术体系JavaSE以Web为中心的客户端或服务器端的软件开发以前称为JDK1.XJavaSE的实现:JavaSoftwareDevelopmentKit(SDK),StandardEdition+JavaRuntimeEnvironment,StandardEditionJavaME针对消费类的电子设备如手机、数字置顶盒、汽车导航系统等。语言精简、运行环境高度优化。JavaEE开发企业级和服务器端的应用。JavaSE+EnterpriceJavaBeans(EJB),JavaServletsAPI+JavaServerPages(JSP).JavaEEApplicationModelJava平台Java的特征Sun在JAVA“白皮书”中指出:JAVA是一种“简单、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、高性能和动态”的编程语言对C++进行成功改造去掉指针,取消多重继承和运算符重载设立自动内存回收Java特征-简单性语法和语义都比较单纯,容易学习和使用提供大量功能丰富的可重用类库简化了编程工作量Java特征-面向对象Java是最纯洁的面向对象语言,对面向对象方法学的支持也最全面:JAVA对象有模块化性质和信息隐藏能力,满足面向对象的封装要求;支持继承;通过抽象类与接口支持多态Java特征-半编译,半解释Java特征-半编译,半解释编译器编译JAVA源程序字节码解释器解释执行优点:兼具编译执行的效率优势和解释执行的灵活性;提高了应用程序的可移植性:源程序、中间代码Java特征-可移植性...JAVA源程序JAVA编译器(Pentium)...(SPARC)JAVA字节码JAVA解释器......(Pentium)...(SPARC)“一次编程,到处运行”---WORA可移植性源于两方面:Java的半编译、半解释的特征Java采用标准的独立于硬件平台的数据类型Java特征-可移植性Java特征-安全性在语言和运行环境中引入了多级安全措施:Java的内存分配和引用模型对于程序员透明,完全由底层的运行系统控制;内存布局与C、C++不同,不是由编译器决定,而是运行系统根据所在的硬件平台的特性决定;取消了C、C++的指针,JAVA编译器通过符号指针来引用内存,由JAVA运行系统在运行时将符号指针具体解释为实际的内存地址。Java特征-多线程JAVA在语言级嵌入对并发的支持功能,具体机制就是多线程。线程是比进程更小、更经济的并发执行单位,不拥有单独的内存空间。JAVA中线程的同步采用C.A.R.Hoare的临界区保护规则。JAVA线程执行中被映射到实际的操作系统线程。Java特征-动态特性JAVA程序的基本组成单元—类是运行时动态装载的。使JAVA可以动态地维护应用系统及其支持类之间的一致性。Java编译生成的字节码与机器代码十分接近。提供即时编译等措施。Java特征-高性能JAVA的语法机制概述与C++一致的语法机制:数据类型、表达式、程序流控制、结构化异常处理等;与C++不同的语法机制:类、接口(Interface)、程序包(Package)、自动内存回收以及多线程。JAVA与C++不同的语法机制类:最重要、最基本的语法设施,类的定义与继承与C++类似,主要区别:JAVA不允许多重继承,多重继承必须通过接口实现。JAVA引进了abstract和final修饰词。•带abstract的类称为抽象类,只能作为父类使用,不能直接产生实例对象。•带final的类不能用作父类被继承,带final的属性在定义式必须赋初值并称为常量,带final的方法将禁止子类(Overriding)。JAVA与C++不同的语法机制接口是一种抽象类,其中只能出现静态常量或抽象方法定义。主要目的是实现多重继承功能,避免C++在多重继承语义上的复杂性。一个JAVA类可以实现(继承)多个接口。程序包是一些相关类或接口的集合。JAVA提供包括可重用类标准程序包,用户可自定义程序包。通过import语句将程序包引入应用程序。JAVA与C++不同的语法机制自动内存回收JAVA取消了指针类型,所有动态内存请求均通过new运算符,并且得到的不是指针而是引用。系统进行内存回收。JAVA与C++不同的语法机制多线程依赖操作系统提供的线程管理的API:与平台绑定语言级支持多线程:忽略操作系统多线程机制的差异,软件具有更好的可靠性和可移植性。JAVA运行系统引入运行系统的必要性:将字节码转化为本机代码;类的装载与符号的消解;控制执行代码。运行环境的种类:•JAVAApplication--JAVA解释器•JAVAApplet--JAVA兼容的Web浏览器。JAVA运行系统的构成类装配器字节码验证器解释器代码生成器运行支持库JAVA程序运行过程Hello.javajavacHello.javaHello.class网络类装配器字节码验证器解释器代码生成器运行支持库本地系统编译运行执行字节码的过程代码的装入代码的验证代码的执行:解释方式、即时编译JIT方式JAVA虚拟机JVM的定义:Animaginarymachinethatisimplementedbyemulatingitinsoftwareonarealmachine.CodefortheJavaVirtualMachineisstoredin.classfiles.JVM规范定义了一组抽象的逻辑组件,包括:指令集;寄存器组:程序计数器、栈顶指针等;栈结构:提供各种参数等;存储区:存放字节码的方法代码、符号表;垃圾收集器JVM组成部分JVM与JAVA运行系统JAVA运行系统是各供应商对JVM的具体实现,JVM需要针对不同的软硬件平台做专门的实现JVM的意义:保证不同平台上的JAVA运行系统功能统一Java应用程序Java虚拟机UNIXLinuxSPARCJava应用程序Java虚拟机WindowsX86应用程序层Java平台层操作系统层硬件层对运行系统的设计与实现的要求:必须支持SUN的.class文件结构必须支持字节码定义必须支持JVM规范——使Java运行系统功能是统一的,并且只能执行统一格式的字节码.JVM与JAVA运行系统电子商务远程教育企业综合信息服务分布式计算(移动计算)嵌入式应用JAVA应用两种应用程序Javaapplication:编译器编译—运行Javaapplet:编译器编译—编写HTML文件把Applet嵌入其中—浏览器中运行类库APIJavaAPI是SUN提供的用Java语言开发的类集合。JavaAPI包括几十个包,常用的有:java.lang,java.io,java.util,java.net,java.awt,java.applet等。关键性术语Java核心类包举例Java.lang–JAVA语言的核心类组成,包括了基本数据类型和出错处理方法等。Java.io–JAVA语言的标准I/O库Java.util–工具类,如Date等。Java.net–实现网络操作。Java.awt--(AbstractWindowToolkit)创建用户界面。Java.applet–支持Applet开发。Java应用程序举例HelloWorldApp.java:PublicclassHelloWorldApp{publicstaticvoidmain(Stringargs[]){System.out.println(“HelloWorld!”);}}Java程序编写、编译过程main声明--Java程序入口点格式publicstaticvoidmain(Stringa
本文标题:Java语言基础知识讲解
链接地址:https://www.777doc.com/doc-3748542 .html