




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA核心技术版本号: V1.0编辑单位:中软国际信息技术培训有限公司(无锡)地址: 无锡市新区江苏软件外包产业园处子座B座邮编: 214000电话: 网站: E-mail: 声明: 1、本书版权归中软国际所有,未经许可,任何单位或个人不能使用或翻录本书内容,违者必究。 2、由于本书编写者水平有限,时间仓促,有考虑不周之处,请广大读者不吝指正。目 录JDK1.6、文本编辑器一个、Eclipse、一种浏览器8第1章了解Java9简介91.1Java的发展历程91.2Java相关名词111.2.1JRE,JDK,JVM111.2.2J2SE,J2EE,J2ME111.3Java特性111.4Java程序执行过程121.4.1类加载器131.4.2类校验器131.4.3执行程序131.5第一个Java程序及运行环境的设置141.6Hello.java的语法解释161.7javac命令161.8java命令16练习17第2章Java基本语法19简介192.1注释192.1.1行注释192.1.2块注释192.1.3文档注释202.2分号、块和空格212.2.1分号212.2.2块212.2.3空格222.3标识符222.4关键字222.5数据类型232.5.1逻辑类boolean242.5.2文本类char和String242.5.3整数类byte, short, int, long242.5.4浮点float和double252.5.5非基本数据类型String252.6变量的声明及赋值262.7常量272.8数据类型的转换272.8.1类型自动转换272.8.2强制类型转换272.9简单的Java程序282.9.1方法282.9.2变量和作用域29练习30第3章表达式和流程控制31简介313.1运算符和表达式313.1.1赋值运算符313.1.2算术运算符313.1.3关系运算符343.1.4逻辑运算符353.1.5按位运算符383.1.6移位运算符393.1.7三元(ifclse)运算符403.1.8字符串运算符403.1.9运算符的优先级413.2流程控制413.2.1ifelse语句413.2.2switch语句423.2.3循环语句433.2.4流程控制语句443.2.5和标签相作用的特殊循环流程控制46练习47第4章数组48简介484.1声明数组484.2创建数组空间484.3创建数组元素并初始化494.4使用数组的注意事项494.5多维数组49练习(学员练习)50第5章面向对象51简介515.1用java程序描述现实世界515.2面向对象的概念535.3封装性535.4继承545.5覆盖555.6super关键字565.7对象的类型转换565.8多态575.9构造方法595.9.1构造方法595.9.2默认的构造方法605.9.3多个构造函数615.10this变量615.10.1区别同名变量615.10.2指代构造方法635.11包645.12import语句655.13常用包655.14打包我们的程序65练习66第6章修饰词68简介686.1访问说明符68Test1.java716.2static726.3abstract736.4final746.4.1常量746.4.2最终方法756.4.3最终类75练习75第7章高级类特性76简介767.1接口767.1.1接口的使用777.1.2接口的功能777.2内部类80练习84第8章Exception85简介858.1异常处理的目的858.2try和catch语句868.3finally语句868.4异常的处理或声明规则868.5异常分类878.6创建自己的异常898.6.1介绍898.6.2实例898.7异常处理小结90练习90第9章常用类91简介919.1String类919.1.1“=”和“equals”的用法919.1.2String可以和任意的基本类型和引用类型相加919.1.3String类对象是常量对象。929.2应用API帮助92练习949.3StringBuffer94练习959.4Object 类959.4.1打印对象96练习969.4.2对象的克隆969.5思考999.6Math99练习1009.7System1009.7.1arraycopy方法1019.7.2currentTimeMillis方法1019.7.3设置环境属性的方法1029.7.4其他常用方法1029.8Class类1029.9Arrays1069.9.1数组的排序106练习108第10章基本数据类型的封装109简介10910.1简单类型包装器10910.2Number10910.3Double和Float110第11章单例模式113简介11311.1单例模式11311.2Runtime类与Process类113练习115第12章内存回收116简介116第13章集合118简介11813.1数据结构11813.2集合接口框架图11913.3实现类的图解11913.4ArrayList12013.5迭代器(Iterator)12213.5.1跌代器的用法12213.5.2迭代器的原理12213.5.3集合的公共调用形式12313.6Collections类12513.7LinkedList12713.7.1LinkedList模拟栈(子弹夹)12813.8ArrayList和LinkedList的比较12913.9HashSet13013.10TreeSet13313.11HashSet和TreeSet的比较13613.12HashMap13613.13Properties类13813.14TreeMap13913.15集合类的选择:139练习2139第14章I/O140简介14014.1File类14014.2流式I/O14314.3InputStream14414.4OutputStream14514.5FileInputStream和FileOutputStream14614.6DataInputStream和DataOutputStream14714.7Java I/O库的设计原则14814.8Reader和Writer14914.9随机访问文件15114.10管道流153练习155第15章Thread156简介15615.1线程简介15615.2线程的概念模型15615.2.1线程的状态15715.2.2指定线程的名字15815.2.3守候线程15915.2.4设置线程的优先级16015.3线程的同步16515.4线程的死锁16715.5wait、notify、notifyAll17115.6线程的终止173练习174附录175Java编程规范175简介数据结构175链表175散列表176字符集177对象的串行化178串行化的定义178串行化方法178串行化的注意事项179序言本部分描述Java编程的基础知识,系统地介绍Java语言的主要功能及用法。全书共13章,内容涵盖Java概述、Java开发工具、Java语言基础、Java面向对象编程、Java集合框架、Java异常、Java线程、Java数据库操作、Java网络编程、JavaAWT组件、JavaAWT事件处理模型和JavaSwing等。本部分从Java的起源历史、体系结构、平台标准及主要技术开始讲起,结合面向对象的编程思想,详尽地介绍Java在各个方面的应用,并含有大量精心设计的代码实例。本部分的语言浅显易懂,且在难易程度上作了区分,根据学生的情况,可以动态的安排学习内容,并辅以大量实例讲解程序的开发,且每章后面设有习题以便读者检验学习效果。希望学员能独立完成课堂练习,并提前预习下一节课程的内容,带着问题听课。课用工具本部分教学需要的工具如下:JDK1.6、文本编辑器一个、Eclipse、一种浏览器第1章 了解Java简介Java经过近几年的飞速发展,得到了广泛的应用,作为Java程序员,了解Java的发展历程及特点有助于我们更好的理解、掌握Java技术。内容提要Java的发展历程Java相关名词Java特性Java程序执行过程Java程序开发流程学习目标:1. 了解Java语言的特点2. 掌握Java程序运行机制3. 熟练配置Java程序的开发环境1.1 Java的发展历程Java自1996年正式发布以来,经历了出生、成长和壮大的阶段,现在已经成为IT领域里的主流编程语言。Java起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入家用电器的分布式软件系统,使电器更加智能化。Green项目一开始准备采用C+语言,但是考虑到C+语言太复杂,而且安全性差,于是决定基于C+语言开发一种新的Oak语言(即Java的前身)。 Oak是一种适用于网络编程的精巧而安全的语言,它保留了许多C+语言的语法,但去除了明确的资源引用指针算法与操作符重载等潜在的危险特性。并且Oak语言具有与硬件无关的特性,制造商只需要更改芯片,就可以将烤面包机上的程序代码移植到微波炉上或其他电器上,而不必改变软件,这就大大降低了开发成本。当Oak语言成熟时,全球Internet也在迅速发展。Sun公司的开发小组认识到Oak非常适合于Internet编程。1994年,他们完成了一个用Oak语言编写的早期的Web浏览器,称为WebRunner。后改名为HotJava,展示了Oak作为Internet开发工具的能力。1995年,Oak语言更名为Java语言(以下简称为Java)。Java的取名有一个趣闻。据说,有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡。有一个人灵机一动说,就叫Java怎样,这得到了其他人的赞赏。于是,Java这个名字就这样传开了。 1996年,Sun公司发布JDK 1.0,计算机产业的各大公司(包括IBM、Apple、DEC、Adobe、Silicon Graphics、HP、Oracle、Toshiba和Microsoft等)相继从Sun公司购买了Java技术许可证,开发相应的产品。1998年,Sun公司发布了JDK 1.2(从这个版本开始的Java技术都称为Java 2)。Java 2不仅兼容于智能卡和小型消费类设备,还兼容于大型服务器系统,它使软件开发商、服务提供商和设备制造商更加容易抢占市场机遇。这一开发工具极大地简化了编程人员编制企业级Web应用的工作,把一次编程到处使用的诺言应用到服务器领域。1999年,Sun公司把Java 2技术分成J2SE、J2EE和J2ME。其中J2SE就是指从1.2版本开始的JDK,它为创建和运行Java程序提供了最基本的环境。J2EE和J2ME建立在J2SE的基础上,J2EE为分布式的企业应用提供开发和运行环境,J2ME为嵌入式应用(比如运行在手机里的Java程序)提供开发和运行环境。 在进入21世纪以来,随着Web技术成为展示和操作数据的事实标准,企业利用J2EE平台对原来分散的子系统进行整合。尽管应用整合可以通过多种手段来实现,但J2EE在出现后,因其天生具备良好的开放性和可扩展性,使之在应用整合和开发的过程中发挥了愈来愈显著的优势。J2EE逐渐成为开发商创建电子商务应用的事实标准。Java的公用规范(Publicly Available Specification,PAS)在1997年被国际标准化组织(ISO)认定,这是ISO第一次破例接受一个具有商业色彩的公司作为公用规范PAS的提交者。总之,面向对象的Java语言具备一次编程、任何地方均可运行的能力,这使其成为服务提供商和系统集成商用以支持多种操作系统和硬件平台的首选解决方案。Java作为软件开发的一种革命性的技术,其地位已被确定。如今,Java技术已被列为当今世界信息技术的主流之一。下面是Java的发展历史概述:1995 Java语言诞生1996 JDK 1.0发布,10个最主要的操作系统供应商申明将在其产品中支持Java技术1997 JDK 1.1发布1998 JDK 1.1下载量超过200万次,JDK 1.2(称Java 2)发布,JFC/Swing技术发布, JFC/Swing被下载了50多万次1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生2000 JDK 1.3发布,JDK 1.4发布2001 Nokia公司宣布到2003年将出售1亿部支持Java的手机,J2EE 1.3发布2002 J2SE 1.4发布,至此Java的计算能力有了大幅度提升。J2EE SDK的下载量达到200万次2003 5.5亿台桌面机上运行Java程序,75%的开发人员将Java作为首要开发工具2004 J2SE 1.5发布,这是Java语言在发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE 1.5更名为J2SE 5.0 2005 JavaOne大会召开,Sun公司公开Java SE6。此时,Java的各种版本被更名,取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。1.2 Java相关名词1.2.1 JRE,JDK,JVMJRE(Java Runtime Environment),即Java运行环境,通常已包含在J2SDK中了。如果我们仅仅是为了运行Java程序,而不是从事Java开发,我们可以直接下载JRE,在我们的系统上安装。JDK即Java Develop Kit,Java开发工具包。JVM(Java Virtual Machine):由软件实现的一个假象的机器,运行存储在.class文件中的代码1.2.2 J2SE,J2EE,J2MESun公司的Web服务技术体系Sun ONE(Open Net Environment 开发网络环境)以Java语言为核心,包括J2SE/J2EE/J2ME和一系列的标准、技术及协议。1. J2SE(Java 2 Platform, Standard Edition)“Java 2” 这一名称,是1998年12月,SUN公司发布了JDK1.2,开始使用的名称。Java 2标准版是一种开发和部署平台,提供了编写桌面、工作站应用程序所有必需的功能。支持多种风格软件的开发,包括浏览器端Java小程序和本地应用程序,以及独立的服务器应用程序等。J2SE版还是J2ME的基础,是J2EE执行程序的推动力。2. J2EE(Java 2 Platform, Enterprise Edition)J2EE 平台是Java技术企业级应用的最佳平台,它可以让程序员迅速、快捷地开发和分布企业级应应用程序。3. J2ME(Java 2 Platform, Micro Edition)J2ME又被称为Java 2 微型版,被使用在各种各样的消费电子产品上,例如智能卡、手机、PDA、电视机顶盒等方面。 J2ME定义了一套合适的类库和虚拟机技术,其API规范是基于J2SE的。1.3 Java特性Java是一个广泛使用的网络编程语言,首先,作为一种程序设计语言,它简单、面向对象、不依赖于机器的结构、具有可移植性、健壮性、安全性、并且提供了并发的机制、具有很高的性能。其次,它最大限度地利用了网络,Java的小应用程序(applet)可在网络上传输而不受CPU和环境的限制。另外,Java还提供了丰富的类库,使程序设计者可以很方便地建立自己的系统。Java应用如此广泛是因为Java具有多方面的优势。其特点如下:面向对象。Java自诞生之时就设计成面向对象的语言。Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。跨平台。对于Java程序,不管是Windows平台还是UNIX平台,或者其他平台,它都适用。Java编辑器把Java源程序编译成与体系结构无关的字节码指令,只要安装了Java运行系统,Java程序就可在任意的处理器上运行。这些字节码指令由Java虚拟机来执行,Java虚拟机的解释器在得到字节码后,对它进行转换,使之能够在不同的平台运行。如下图示意:图 11 Java运行示意图直接支持分布式的网络应用。除了支持基本的语言功能以外,Java核心类库还包括一个支持HTTP、SMTP和FTP等基于TCP/IP协议的类库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。安全性和健壮性。Java致力于检查程序在编译和运行时的错误,类型检查能够帮助检查出许多开发早期出现的错误。Java 支持自动内存管理,这不但让程序员减轻了许多负担,也让程序员减少了犯错的机会。Java自己操纵内存减小了内存出错的可能性。Java还能够检测数组边界,避免了覆盖数据的可能。在Java语言里,指针和释放内存等功能均被抛弃,从而避免了非法内存操作的危险。多线程。多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。动态性。Java的设计使它适合于一个不断发展的环境。在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。1.4 Java程序执行过程Java程序的开发过程为,首先编写Java代码,存放于.java结尾的文件中,编译后生成.class的字节码文件,便可以在JVM上运行了。 图 12 Java执行过程示意图一个Java技术的运行环境可运行为JVM编译的代码并执行如下三大任务:加载代码由类加载器执行校验代码由字节码校验器执行执行代码由运行时的解释器执行1.4.1 类加载器类加载器为程序的执行加载所需要的全部类。类加载器将局部文件系统的类名空间与来自网络源的类名空间相分离,以增加安全性。由于局部类总是首先加载,因而可限制任何“特洛依木马”的应用。当全部类被加载后,可执行文件的存储器格式被确定。这时,特定的存储器地址被分配给符号引用并创建检索表格。由于存储器格式在运行时出现,因而Java技术解释器增加了保护以防止对限制代码区的非法进入。1.4.2 类校验器Java软件代码在实际运行之前要经过几次测试。JVM将代码输入一个字节码校验器以测试代码段格式并进行规则检查(注意-所有源于网络的类文件都要经过字节码校验器)。校验过程,字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的完整性。如果校验器在完成四遍校验后未返回出错信息,则下列各点可被保证:类符合JVM规范的类文件格式无访问限制违例代码未引起操作数栈上溢或下溢所有操作代码的参数类型将总是正确的无非法数据转换发生,如将整数转换为对象引用对象域访问是合法的1.4.3 执行程序Java在执行过程,包含解释执行和JIT两种执行方式,如下图:图 13 Java调用机制示意图JIT(Just-In-Time): 即时编译方式,解释器先将字节码编译成机器码,然后再执行该机器码。 解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程序的所有操作。1.5 第一个Java程序及运行环境的设置任何软件运行,都需要运行环境的支持,下面看一下一个Java程序的编写及运行所需的环境。第一步:下载JDK1.6JDK是Java Developement Kit的缩写,包括Java编译器和运行时环境,1.6版本是目前最新的版,可以从SUN Java站点下载JDK1.6。第二步:安装JDK1.6直接运行JDK1.6的安装程序,选择一个安装目录,按照安装向导即可轻松完成JDK1.6的安装。如需了解安装细节,请参考Java 2 SDK 1.6 Installation Notes for Microsoft Windows(sun的网站有提供)。JDK目录:bin:JDK下的可执行程序。在下面可以见到java,这就运行了JVM。demo:例子程序lib:运行用到的类库jre:运行环境include:Java连接其他语言所使用的相关文件src.zip:Java API的源程序第三步:设置环境变量我们在Java基础部分的教学使用普通文本编辑器,需要设置两个环境变量,一个是PATH(或path),一个是CLASSPATH(或classpath)。那么这两个环境变量代表什么呢?或者说究竟在JAVA程序编译中有什么作用呢?这就要涉及到WINDOWS的基本知识了。我们在DOS窗口执行的命令,通常都是由一个同名的可执行文件来支持的,path环境变量就是来帮助系统定位支持你所使用的命令的软件位置的。例如当你在DOS窗口输入notepad命令时,系统在path指定的文件夹中寻找notepad的可执行文件,如果找到,则运行该软件,未找到,则提示“不是内部或外部命令,也不是可运行的程序或批处理文件”。我们所要使用的Java的相关工具一般都在JDK安装目录下的bin目录中,所以我们需要将bin目录的路径增加到path参数的值中。操作过程如下,右击“我的电脑”,然后选择“属性”。在分页卡里选择“高级”,然后点击“环境变量.”按钮,弹出环境变量对话框,分用户变量和系统变量两部分,用户变量中设置的变量只对当前用户有效,如换其他用户登录系统后,则这些变量无效,系统变量对系统的所有用户都有效。用户变量优先于系统变量被使用。根据自己的开发环境,选择增加用户变量或是系统变量。这里以增加系统变量为例,在系统变量列表中,查找是否有path(大小写无区分)变量,有则选中后点击编辑按钮,变量值中添加上JAVA的BIN目录的路径,和其他的路径值用英文状态的;隔开,注意不要删除原有内容。classpath环境变量和path环境变量很相似,只是classpath为java工具指示所要调用的类文件在什么地方。Java虚拟机的ClassLoader会按照CLASSPATH设定的路径搜索class文件。请注意,ClassLoader不会在当前目录下搜索,为方便起见,我们将CLASSPATH设置中,增加“.”以包括当前目录。如所需调用的类文件是在某个文件夹下时,需将文件夹路径增加至classpath变量值中。如需要调用的类文件是在某个类库中的,即是包在jar文件中的,则将jar文件的文件路径增加至classpath变量值中。例如:我们需要使用c:test文件夹中的MyClass1.class等类文件,又需要使用d:libsupport.jar中的类文件,则classpath变量的值应该进行如下设置: .; c:test; d:libsupport.jar注意:不同开发工具对环境变量的设置要求不同,所以使用任何开发工具前请阅读相应的说明手册。第四步:编译一个Java程序请用任何文本编辑器输入以下内容并保存为Hello.java文件(只能保存为Hello.java,不能使用别的文件名),请严格注意大小写:public class Hello public static void main(String args) /an application System.out.println(Hello, world.); 这段程序中的具体语法在后面解释。第五步:运行一个Java程序编译Hello.java文件:C:javac Hello.java编译的结果是生成字节码文件Hello.class。最后用java解释器来运行该字节码文件:C:java Hello结果在屏幕上显示HelloWorld!1.6 Hello.java的语法解释Hello.java的源文件内容为:public class Hello public static void main(String args) /an application System.out.println(Hello, world.); 这段程序中,首先用保留字class来声明一个新的类,其类名为Hello,类是公共public类型的。要注意的是Java中主类名应该和要保存的Java文件名相同,也就是说,这里定义的类名是Hello则文件应该保存成Hello.java。整个类定义由大括号括起来。在该类中定义了一个main()方法,其中public表示访问权限,指明所有的类都可以使用这一方法;static指明该方法是一个类方法,它可以通过类名直接调用;void则指明main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Jave解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Jave程序中可以定义多个类,每个类中可以定义多个方法,但是最多只能有一个公共类,main()方法也只能有一个,作为程序的入口。main()方法定义中,括号()中的String args是传递给main()方法的参数,参数名为args,它是类String的一个实例,参数可以为0个或多个,每个参数用类名参数名来指定,多个参数间用逗号分隔。在main()方法的实现(大括号中),只有一条语句:System.out.println(HelloWorld!);它用来实现字符串的输出,另外,/后的内容为注释。1.7 javac命令Java程序的编译程序是javac.exe,它是负责解释执行编译后的字节码,也就是Class文件。编译工具通过在DOS下输入的命令调用,命令格式为javac options sourcefiles 常用参数有:-d directory 指明类层次的根目录。用javac -d DIR yourfile.java编译后可以把生产的.class文件存放在DIR目录里。-classpath path 定义Javac搜索类的路径。它将覆盖缺省的CLASSPATH环境变量的设置。javac -help查看javac命令的详细帮助。1.8 java命令java程序的运行是指用Java工具程序(在Windows平台是java.exe)来运行一个类(.class文件),但类文件的扩展名可以省略不写。在DOS下输入的命令调用,命令格式为java options class argument . 常用参数有:-classpath path 定义Javac搜索类的路径。它将覆盖缺省的CLASSPATH环境变量的设置。version 查看java工具的版本。javac -help查看javac命令的详细帮助。参考:有关java工具的使用,请参考:docstooldocstools.html练习1. 回想一下和Java程序相关的环境变量有几个,他们的作用是什么,在DOS窗口中用什么命令来查看其设置?2. 编写你的第一个java类文件Declaration,编译运行后能够在屏幕输出“I can do it!”。3. 查看下面几个类文件,修改其中的编译或运行错误(在编译期间出现的错误称之编译错误,在运行期间出现的错误称之为运行错误)。Test1.javapublic class Test1 public static void main(String args) System.out.println(Whats wrong with this program?); public class TestAnother1 public static void main(String args) System.out.println(Whats wrong with this program?); Test2.javapublic class Testing2 public static void main(String args) System.out.println(Whats wrong with this program?); Test3.javapublic class Test3 public static void main(String args) System.out.println(Whats wrong with this program?); Test4.javapublic class Test4 public void main(String args) System.out.println(Whats wrong with this program?); 第2章 Java基本语法简介Java是很严格的程序语言,所以学好Java的语法是我们进行快速开发的基础。内容提要注释语句关键字数据类型方法的编写学习目标:1. 掌握注释语句的用法;2. 熟练Java的语法规则;2.1 注释注释在程序中主要起到说明、注解程序的作用。编译或者解释程序的时候,注释部分都会被忽略掉。所以,你可以在注释中写任何想写的东西,包括对程序段的说明,作者,版本等。为程序加上注释可以大大增加程序的可读性,这样便于以后对程序进行修改、维护,甚至重写。程序中添加适当的注释是程序员的良好习惯之一。Java 的注释有三种形式:行注释,块注释和文档注释。2.1.1 行注释行注释以“/”开始,以行结束符(回车或者换行)结束,作用范围是 / 注释符及以后一行以内的内容。通常在需要注释的内容很少的时候使用行注释。如public void test() / 测试函数 (这里使用的行注释).2.1.2 块注释块注释以“/*”开始,“*/”结束,作用范围是 /* 和 */ 之间的内容,可以是一行,也可以是多行。通常使用块注释来注释较多或者需要分行的内容。如/* printTable 函数用于分行打印下列内容:-姓名生日.= (这里使用的是块注释) */public void printTable() .2.1.3 文档注释文档注释是块注释的特殊情况,它以“/*”开始,“*/”结束,作用范围是 /* 和 */ 之间的内容。它的特殊之处就在于它可以被 javadoc 搜寻并编译成程序开发文档。也正是由于这个原因,它叫作文档注释。只对public或 protected 类起作用。在实际使用中,文档注释的处置要求比较严格,还有一些特殊的说明符号,但由于内容非常多,本教程中就不作解说了。可以参考/j2se/1.4.2/docs/tooldocs/windows/javadoc.html#realworldexample。举例如下:/* (这里使用了文档注释,下面用到了一些说明符号)* (#) HelloJava.java* author fancy*/public class HelloJava .随堂练习创建Java源文件TestDoc.java存于你的练习目录,代码如下:package javadoctest;public class TestDoc/* hello ,you should use the method by the statements*see object*/public String test ()return ok;/* second ,you should use the method by the statementssee object*/public static void main(String args) char cr=9;String str=new String(wqwerwqr); String str2=asdfasfd;System.out.println(cr);启动DOS窗口,转到你的TestDoc.java所在的练习目录,使用“javadoc TestDoc.java”命令生成该源文件的帮助文档。javadoc命令格式为,javadoc命令,后跟java源文件名,javadoc和java源文件之间用空格分隔。查看生成的html文件的结构,查找源文件中的注释出现在什么地方。2.2 分号、块和空格2.2.1 分号在Java编程语言中,语句是一行由分号(;)终止的代码。例如 totals=a+b+c+d+e+f; 与下式相同 total=a+b+c+ d+e+f;2.2.2 块一个块(block)或一个复合语句是以上括号和下括号()为边界的语句集合;块语句也被用来组合属于某个类的语句。一个块可被用在一个类的定义中 public class Date int day; int month; int year; 块语句可被嵌套语句块可被嵌套。Hello类由main方法构成,这个方法就是一个语句块,它是一个独立单元,单元本身可作为在类HelloWorldApp块中的一组事务之一。其它一些块语句或组的例子如下: / a block used in a class definitionpublic class MyDate int day;int month;int year;/ an example of a block statement nested within / another block statementwhile ( i large ) a = a + i;if ( a = max ) b = b + a; / nested block is herea = 0;2.2.3 空格Java程序中允许任意多的空格在源代码元素之间允许空白,空白的数量不限。空白(包括空格、tabs和新行)可以改善你的对源代码的视觉感受。2.3 标识符任何一个变量、常量、方法、对象和类都需要有一个名字标志它的存在,这个名字就是标识符。标识符可由编程者自由指定,但需要遵循一定的语法规定。标识符可由字母、数字和下划线(_)、美元符号($)组合而成。标识符不能以数字开头。Java是大小写敏感的语言,class和Class,system和System分别代表不用的标识符,在定义和使用时要特别注意这一点。标识符不能是关键字,但是它可包含一个关键字作为它的名字的一部分。例如,thisone是一个有效标识符,但this却不是,因为this是一个Java关键字。应该使标识符能一定程度上反映它所表示的变量、常量、对象或类的意义。例下表示例:表 21 表示符示例合法标识符不合法标识符FirstJavaApplet2FirstJavaAppletMySalary21Tree&ClassisTrueis True2.4 关键字定义:是Java语言为特殊目的而保留的由ASCII字符构成的字符序列。?使用在Java编程语言中的关键字。abstract do implements private throw boolean double import protected throws break else instanceof public transient ? byte extends int return true case false interface short try catch final long static void char finally native super volatile class float new switch while continue for null synchronized default if package this注意事项:true、false和null为小写,而不是象在C+语言中那样为大写。严格地讲,它们不是关键字,而是文字。然而,这种区别是理论上的。无sizeof运算符;所有类型的长度和表示是固定的,不依赖执行。goto和const不是Java编程语言中使用的关键字。2.5 数据类型Java是强类型语言,每个变量具有一个类型,每个表达式具有一个类型,而每个类型有一个严格定义;所有赋值,不论是显示的,还是通过在方法中的参数传递,都要检查类型的移植性。Java中数据类型分为四种:基本数据类型数组类型类类型接口类型任何常数和变量都是上述四种数据类型之一。基本数据类型列表如下:表 22 数据类型表数据类型关键字占用位数缺省数值取值范围布尔型boolean8falsetrue,false字符型char16u 0000u 0000uFFFF字节型byte80-128127短整型short160-3276832767整型int320-21474836482147483647长整型long640L-92233720368547758089223372036854775807浮点型float320.0F1.40129846432481707e-453.40282346638528860e+38双精度型double640.0D4.94065645841246544e-3241.79769313486231570e+3082.5.1 逻辑类booleanboolean 数据类型有两种文字值:true和false。例如:boolean truth = true;上述语句声明变量t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承包合同转让后仲裁协议
- 总包管理费合同协议范本
- 租赁土地建厂子合同范本
- 新劳动合同增加保密协议
- 楼顶阳光房质保协议合同
- 探店达人合同协议书模板
- 水电安装合同解除协议书
- 拆厂房回收设备合同范本
- 扬州小餐饮加盟合同范本
- 租赁篮球球员合同协议书
- 村级妇联半年工作总结
- 职业健康:放射卫生知识培训计划
- 数控安全培训课件
- 台球俱乐部工作管理制度
- 肉毒素中毒的治疗讲课件
- 蓝色简约风医学生职业生涯规划展示模板
- 土建安全员c类考试试题及答案
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
- 职业学校化妆课教案
- 《泡泡玛特营销策略问卷调查及消费者RFM分析案例综述》2000字
- DB32T 4772-2024自然资源基础调查技术规程
评论
0/150
提交评论