JAVA程序设计实例教程_第1页
JAVA程序设计实例教程_第2页
JAVA程序设计实例教程_第3页
JAVA程序设计实例教程_第4页
JAVA程序设计实例教程_第5页
已阅读5页,还剩227页未读 继续免费阅读

下载本文档

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

文档简介

JAVA程序设计实例教程主编:关忠制作:李晓新2011年3月JAVA程序设计实例教程第1章你好,Java第2章比较大小第3章车辆信息显示第4章计算器第5章文本编辑器第6章赛马游戏第7章网络即时通讯第1章你好,Java1.1根底实例1.2根底知识——Java程序设计根底1.3扩展知识——常用的Java集成开发环境1.4扩展实例引言

Java是一种简单易用、完全面向对象、平安可靠、主要面向Internet且具有最棒的跨平台可移植性的开发工具。从现在开始,Java将带着读者进入一个全新的领域。本章将主要通过一些比较简单的实例,使读者对于Java能有一个初步的认识,掌握Java程序设计中最根底的知识。1.1根底实例1.1.1编写步骤首先,执行“开始→所有程序→附件→记事本”。然后,在记事本中输入以下内容:1 //MyFirstJavaApplication.java2 publicclassMyFirstJavaApplication{3 publicstaticvoidmain(Stringargs[]){4 ("你好,Java!");5 }6 }1.1根底实例1.1.2运行结果执行“开始→运行”,在弹出的“运行”对话框中,输入“cmd”,单击“确定”按钮或执行“开始→所有程序→附件→命令提示符”。在命令窗口中,使用JDK中的javac命令编译源文件MyFirstJavaApplication.java,语句如下:javacMyFirstJavaApplication.java1.1根底实例编译完成后,在源文件所在的文件夹下,会生成一个名为“MyFirstJavaApplication.class”的字节码文件。然后,使用JDK中的java命令运行字节码文件MyFirstJavaApplication.class,命令如下:javaMyFirstJavaApplication该Java程序运行后,会在命令窗口中输出相应信息1.1根底实例MyFirstJavaApplication程序的运行结果1.2根底知识——Java程序设计根底1.2.1Java的开发运行环境SUN公司提供了自己的一套Java开发环境,通常称之为JDK〔JavaDevelopmentKit〕,并且提供了多种操作系统下的JDK。随着时间的推移和技术的进步,JDK的版本也在不断的升级,如JDK1.2、JDK1.3、JDK1.4等,目前最新版本是JDK6〔也就是JDK1.6〕。不同操作系统下的JDK的各种版本在使用上根本相似,大家可以根据自己的使用环境,从SUN公司的网站://上下载相应的版本。本书中所使用的都是基于Windows平台下的JDK6。1.2根底知识——Java程序设计根底安装完成后,这个工具包中的所有内容都会放在JDK安装文件夹下,其中的bin文件夹中包含了所有相关的可执行文件。在bin文件夹中,javac.exe是Java的编译工具,Java源文件的扩展名为.java,源文件被编译后会在其所在的文件夹中生成相应的字节码文件,字节码文件的扩展名为.class;java.exe是Java的解释工具,负责解释执行Java字节码文件。1.2根底知识——Java程序设计根底1.2.2Java程序的根本结构1.Java应用程序2.Java小应用程序1.2根底知识——Java程序设计根底Java应用程序的执行过程1.2根底知识——Java程序设计根底Java小应用程序的执行过程1.2根底知识——Java程序设计根底1.2.3Java的根本语法格式1.标识符在Java语言中,标识符用于为各种变量、数组、方法、类、对象、接口、包等命名。Java标识符的命名规那么是:Java标识符由字母、数字、下划线〔_〕和美元符号〔$〕组成,长度不限。Java标识符的第一个字母必须是字母、下划线〔_〕或美元符号〔$〕。尽可能防止使用含$符号的标识符,因为它们常被编译器用来创立标识符的名字。Java标识符严格区分大小写。用户不能直接使用Java语言中的关键字作为标识符,但是它可以包含关键字作为它名字的一局部。1.2根底知识——Java程序设计根底在同一作用域内,一般不允许有同名的标识符。为了提高程序的可读性,标识符的命名最好能够做到“见名知义”,而且标准大小写的使用方式。通常情况下,对于标识符有以下一些风格约定:_和$一般不作为变量名,方法名的开头。包名:全部小写,例如java、applet、awt等。接口名、类名:每个单词的首字母都要大写,例如MyFirstJavaApplication、System、Graphics等。变量名、对象名、方法名:第一个单词全部小写,其余单词只有首字母大写,例如anyVariableWorld、drawString等。常量名:全部大写,例如PI、MAX_VALUE等。1.2根底知识——Java程序设计根底2.关键字关键字是由Java语言定义的,具有特殊含义的字符序列。每个关键字都有一种特定的含义,不能将关键字作为普通标识符来使用。所有的Java关键字一律用小写字母表示。1.2根底知识——Java程序设计根底

Java关键字1.2根底知识——Java程序设计根底3.分隔符Java程序的分隔符用于区分Java源程序中的根本成分,分为注释、空白符和普通分隔符三种。1.2根底知识——Java程序设计根底⑴注释在程序中适当地参加注释是一种良好的编程习惯,这样会增加程序的可读性。注释不能放在一个标识符或关键字之中,也就是说,要保证程序中最根本元素的完整性。注释不会影响程序的执行结果,编译器将忽略注释。在Java中,主要有以下三种注释形式:单行注释://注释局部──只对当前行有效多行注释:/*注释局部*/文档注释:/**注释局部*/1.2根底知识——Java程序设计根底⑵空白符空白符包括空格、回车、换行和制表符〔Tab键〕。各种Java根本成分之间的多个空白符与一个空白符的作用相同。在编译过程中,编译器会忽略空白符。在程序中适当的使用空白符,可以增强程序的可读性。1.2根底知识——Java程序设计根底⑶普通分隔符普通分隔符具有确定的含义,不能用错。它主要包括四种分隔符:{}大括号:用于定义语句块,例如:定义类体、方法体和复合语句以及数组的初始化等。;分号:用于作为语句结束的标志。,逗号:用于区分方法的各个参数,区分变量说明的各个变量。:冒号:用于作为语句的标号1.3扩展知识——常用的Java集成开发环境1.3.1JCreatorJCreator是一个小巧灵活的Java程序开发工具,也是一个Java集成开发环境。它可将Java程序的编写、编译、运行和调试集成进自身的环境中直接进行开发,且无需进行环境变量的设置。在功能上与SUN公司所公布的JDK等文字模式开发工具相较之下来得容易,还允许使用者自定义操作窗口界面及无限Undo/Redo等功能。1.3扩展知识——常用的Java集成开发环境JCreator操作界面

1.3扩展知识——常用的Java集成开发环境1.3.2JBuilderJBuilder主要的特点有:⑴JBuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB〔EnterpriseJavaBeans〕的应用。⑵用户可以自动地生成基于后端数据库表的EJBJava类,JBuilder同时还简化了EJB的自动部署功能。⑶JBuilder支持各种应用效劳器。⑷JBuilder能用Servlet和JSP开发、调试动态Web应用。⑸利用JBuilder可以创立〔没有专有代码和标记〕纯Java2应用。⑹JBuilder拥有专业化的图形调试界面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME、J2SE和J2EE。1.3扩展知识——常用的Java集成开发环境

JBuilder操作界面

1.3扩展知识——常用的Java集成开发环境1.3.3Eclipse和MyEclipse1.Eclipse⑴概述Eclipse是著名的跨平台的自由集成开发环境〔IDE〕。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。Eclipse的前身是IBM的VisualAgeforJava。Eclipse是可扩展的体系结构,可以集成不同软件开发供给商开发的产品,将他们开发的工具和组件参加到Eclipse平台中。1.3扩展知识——常用的Java集成开发环境⑵Eclipse的结构和内核Eclipse本身作为一个开放源码的软件工程,它主要包含3个子工程:平台子工程、Java开发工具〔JDT-java〕子工程和插件开发环境〔PDE-plug-in〕子工程。Eclipse目前的最新版本为。1.3扩展知识——常用的Java集成开发环境2.MyEclipseMyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合。MyEclipse目前支持JavaServlet、AJAX、JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。MyEclipse企业级工作平台〔MyEclipseEnterpriseWorkbench,简称MyEclipse〕是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序效劳器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate。1.3扩展知识——常用的Java集成开发环境在结构上,MyEclipse的特征可以被分为7类:⑴J2EE模型⑵WEB开发工具⑶EJB开发工具⑷应用程序效劳器的连接器⑸J2EE工程部署效劳⑹数据库效劳⑺MyEclipse整合帮助1.3扩展知识——常用的Java集成开发环境

MyEclipse操作界面

1.4扩展实例在本节中,将使用Eclipse来开发一个简单的Java应用程序。通过实例,请读者熟悉一下Eclipse开发环境,本书后面都会使用Eclipse来进行相应的开发。1.4扩展实例1.启动Eclipse

启动介面1.4扩展实例2.创立Java工程执行“文件→新建→Java工程”,在弹出的“新建Java工程”对话框中,设置“工程名”,并在内容中设置工程的保存位置,然后,单击“完成”按钮,完成Java工程的创立工作,系统会在工程的保存位置上创立相应的文件夹。1.4扩展实例3.创立Java类执行“文件→新建→类”,在弹出的“新建Java类”对话框中,设置类名。然后,单击“完成”按钮,完成Java类的创立工作,系统会自动在工程文件夹中创立相应的文件。1.4扩展实例

4.编写Java类在编辑窗口中,输入以下Java程序代码:1 //MyFirstJavaApplication1.java2 import;3 publicclassMyFirstJavaApplication1{4 publicstaticvoidmain(Stringargs[]){5 JOptionPane.showMessageDialog(null,"你好,Java!");6 }7 }输入完成后,执行“文件→保存”,即可完成在Eclipse下第一个Java程序的编写工作。1.4扩展实例1.4.2运行结果执行“运行→运行”或“运行→运行方式→Java应用程序”,即可执行程序。如果程序尚未保存,Eclipse会询问在执行前是否要保存文档,然后执行程序。该Java程序运行后,执行结果如图.1.4扩展实例

MyFirstJavaApplication的运行结果第2章比较大小2.1根底实例2.2根底知识——Java根本语2.3 扩展知识——数组法2.4扩展实例引言通过上一章的学习,读者对于Java已经有了一个初步认识,掌握了Java程序设计的根底知识。本章中,将通过一个比较数值大小的实例来进一步学习Java语言的根本语法规那么,从而让读者能够使用Java开发工具编写出一个具备数值比较功能的Java程序。2.1根底实例现在将编写一个Java应用程序,主要用于实现两个数大小的比较,并给出比较结果。通过实例,读者将进一步学习Java语言的根本语法规那么。2.1根底实例2.1.1编写步骤1.启动Eclipse2.创立Java工程3.创立Java类4.编写Java类2.1根底实例在编辑窗口中,输入以下Java程序代码:1 //Compare.java2 import; //装载JOptionPane类3 publicclassCompare{4 publicstaticvoidmain(Stringargs[]){5 Strings1,s2;6 s1=JOptionPane.showInputDialog("请输入第一个整数:");7 //s1接收来自输入文本框的第一个整数8 s2=JOptionPane.showInputDialog("请输入第二个整数:");9 //s2接收来自输入文本框的第二个整数10 intfirstNumber,secondNumber;11 firstNumber=Integer.parseInt(s1);12 //将字符串s1转换成整数赋值给firstNumber13 secondNumber=Integer.parseInt(s2);14 //将字符串s2转换成整数赋值给secondNumber2.1根底实例15 //比较两个数的大小16 if(firstNumber>secondNumber){17 JOptionPane.showMessageDialog(null,firstNumber+"大于"+secondNumber);18 }19 elseif(firstNumber==secondNumber){20 JOptionPane.showMessageDialog(null,firstNumber+"等于"+secondNumber);21 }22 else{23 JOptionPane.showMessageDialog(null,firstNumber+"小于"+secondNumber);24 }25 }26 }输入完成后,执行“文件→保存”,即可完成在Eclipse下Java程序的编写工作。2.1根底实例2.1.2运行结果执行“运行→运行”,即可执行程序。如果程序尚未保存,Eclipse会询问在执行前是否要保存文档,然后执行程序。该Java程序运行后,按对话框提示操作。2.2根底知识——Java根本语Java是基于C++语言开发出来的,因此其语法规那么与C/C++非常相似,但是又有所不同。接触过C/C++的读者,学习时要特别注意Java与C/C++的区别。下面详细介绍Java的根本语法。2.2根底知识——Java根本语2.2.1数据类型2.2根底知识——Java根本语1.整数类型2.2根底知识——Java根本语2.浮点数类型2.2根底知识——Java根本语3.字符类型在Java中,利用关键字char来定义字符类型的数据。字符型数据是用单引号括起来的单个字符。例如:charc='A'。Java中的字符型数据是基于16位的Unicode字符集,每个字符占两个字节。Java中的字符型数据属于整型数据,但是无符号的整型数据,其取值范围为0~216-1。2.2根底知识——Java根本语4.逻辑类型逻辑类型,又称为布尔类型,用关键字boolean来表示。例如:booleanb=false。2.2根底知识——Java根本语2.2.2常量与变量1.常量常量是不能被程序修改的固定值,在程序运行之前,其值就已经确定了。在Java中,定义常量时需要使用final关键字。定义根本数据类型的常量的根本语法格式为:[修饰符]final根本数据类型常量名1=数值1[,常量名2=数值2……];2.2根底知识——Java根本语Java中的常量,主要有:⑴整型常量整型常量分为单字节整型、短整型、整型和长整型4种,它们均可以用十进制、八进制和十六进制三种方式表示。十进制整数:十进制整数的第一位数字不能为0。例如:123、-456、23L。八进制整数:要求必须以0为前导,例如:0123、-011、0377L。十六进制整数:要求必须以0x或0X作为前导,例如:0x123、-0X1A2D、0XFFFL。2.2根底知识——Java根本语⑵实型常量实型常量分为单精度和双精度两种类型。实型数据只采用十进制数表示,有小数形式和指数形式两种不同的表示。小数形式〔标准形式〕:由数字和小数点组成,且必须有小数点。例如:0.123、1.23D,-0.9901F。指数形式〔科学计数法形式〕:用指数幂的形式表示,要求必须有指数局部。例如:123e3、123E-3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。2.2根底知识——Java根本语⑶字符常量字符常量是用单引号括起来的一个字符,例如:'a'、'A'。Java中还允许使用转义字符‘\’来将其后的字符转变为其他的含义。2.2根底知识——Java根本语

Java中常用的转义序列2.2根底知识——Java根本语⑷逻辑常量逻辑常量只有两个值:true和false,分别代表布尔逻辑中的“真”和“假”。在Java中,逻辑常量不能转换成任何其他类型的数据。true和false只能赋值给声明为boolean类型的变量,或者用于逻辑运算表达式中。2.2根底知识——Java根本语2.变量变量是在程序运行过程中可以赋值并能够对其值进行更改的数据。变量是Java程序中的根本存储单元,它的定义包括变量名、变量值、变量类型和作用域几个局部。变量根据其所属的数据类型划分:根本数据类型变量和引用数据类型变量〔复合数据类型变量〕。根据变量被声明的位置划分为:局部变量、成员变量。2.2根底知识——Java根本语⑴变量的定义与初始化⑵变量的赋值与类型转换⑶变量的作用域2.2根底知识——Java根本语成员变量的默认初始化原那么2.2根底知识——Java根本语2.2.3运算符和表达式表达式是由变量、常量和各种运算符组成的式子,是程序的根本组成单位之一。表达式可以是程序语句的一局部,也可以是一个单独的程序语句。表达式的值就是表达式中的各变量、常量经过运算所得到的结果,而这些运算就主要是由表达式中的运算符来规定。2.2根底知识——Java根本语1.运算符⑴算术运算符2.2根底知识——Java根本语自增、自减运算符2.2根底知识——Java根本语⑵关系运算符2.2根底知识——Java根本语⑶逻辑运算符2.2根底知识——Java根本语⑷位运算符2.2根底知识——Java根本语⑸赋值运算符2.2根底知识——Java根本语⑹条件运算符条件运算符是Java语言中唯一的一个三目运算符,其一般形式为:表达式?语句1:语句2。在计算条件表达式时,先计算表达式,如果值为true,就执行语句1,并将其结果作为条件表达式的值;否那么执行语句2,并将其结果作为条件表达式的值。其中表达式的运行结果必须是布尔型数据,语句1和语句2返回的数据的数据类型必须保持一致。2.2根底知识——Java根本语⑺其他运算符2.2根底知识——Java根本语2.表达式⑴表达式的值和类型⑵表达式的运算顺2.2根底知识——Java根本语运算符的优先顺序2.2根底知识——Java根本语2.2.4流程控制1.顺序结构程序从上至下一行一行执行的结构,中间没有分支和跳转,直到程序结束。一般情况下,程序中的语句都是按程序设计时所确定的次序一个语句接一个语句地顺序执行的。2.2根底知识——Java根本语2.选择结构选择结构提供了一种控制机制,使得程序的执行可以跳过某些语句不执行,而转去执行特定的语句。在Java中,选择语句包括if语句〔单项选择〕、if…else语句〔双选〕和switch语句〔多项选择〕2.2根底知识——Java根本语3.循环结构循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止。Java语言中提供的循环语句有:while语句do-while语句for语句2.2根底知识——Java根本语4.跳转语句在使用循环语句时,只有循环条件表达式的值为false时才能结束循环。想要提前中断循环,那么需要使用break语句,还可以在循环语句块中添加continue语句,来跳过本次循环要执行的剩余语句,然后开始执行下一轮循环。2.3 扩展知识——数组法Java中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素都具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素,这些数据在内存中的存放是连续的。数组分为一维数组和多维数组。2.3 扩展知识——数组法2.3.1一维数组1.一维数组的声明在Java中,一维数组的定义形式为:数组元素类型数组名[];数组元素类型[]数组名;2.3 扩展知识——数组法2.一维数组的初始化可以在定义数组的同时为数组元素分配空间并赋值,也就是对数组进行静态初始化。例如:intintArray[]={1,2,3,4};StringstringArray[]={"abc","How","you"};2.3 扩展知识——数组法3.一维数组元素的引用只有完成了对所有数组元素的创立和初始化工作之后,才可以在程序中引用数组元素、修改其属性和调用其方法。Java中数组元素的引用是通过数组下标来实现的,其引用方式为:数组名[数组下标]其中数组下标可以为整型常数或表达式,下标从0开始,到数组元素个数值减1为止。每个数组都有一个属性length来指明它的长度,即数组元素的个数。2.3 扩展知识——数组法2.3.2多维数组1.二维数组的定义在Java中,二维数组的定义形式为:数组元素类型数组名[][];数组元素类型[][]数组名;2.3 扩展知识——数组法2.二维数组的初始化静态初始化Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。例如:intintArray[][]={{1,2},{2,3},{3,4,5}};动态初始化直接为每一维分配空间,具体语法格式如下:数组名=new数组元素类型[arrayLength1][arrayLength2];从最高维开始,分别为每一维分配空间:数组名=new数组元素类型[arrayLength1][];数组名[0]=new数组元素类型[arrayLength20];数组名[1]=new数组元素类型[arrayLength21];…数组名[arrayLength1-1]=new数组元素类型[arrayLength2n];2.3 扩展知识——数组法3.二维数组元素的引用与一维数组相同,二维数组元素可以通过指定数组元素下标的方式进行引用。对二维数组中的每个元素,引用方式为:数组名[index1][index2]。需要注意的是:在数组的每一维中,数组元素的编号均从0开始,到该维的数组元素个数减1结束。2.4扩展实例2.4.1编写步骤首先,通过双击Eclipse文件夹中的名为Eclipse的可执行文件,就可以启动Eclipse了。然后,开始进行Java程序的开发。1.创立Java工程执行“文件→新建→Java工程”,在弹出的“新建Java工程”对话框中,设置“工程名”,并在内容中设置工程的保存位置。然后,单击“完成”按钮,完成Java工程的创立工作,系统会在工程的保存位置上创立相应的文件夹。2.4扩展实例2.创立Java类执行“文件→新建→类”,在弹出的“新建Java类”对话框中,设置类名。然后,单击“完成”按钮,完成Java类的创立工作,系统会自动在工程文件夹中创立相应的文件。2.4扩展实例3.编写Java类在编辑窗口中,输入以下Java程序代码:1 //BubbleSort.java2 publicclassBubbleSort{3 publicstaticvoidmain(Stringargs[]){4 inta[]={27,6,4,8,10,12,89,68,45,37};5 ("排序前的数据序列:");6 printArray(a);7 ("选择排序的各趟结果:");8 sortBubble(a);9 printArray(a);10 }1112 //数组排序的方法2.4扩展实例13 publicstaticvoidsortBubble(inta[]){14 inthold;15 for(intpass=1;pass<a.length;pass++){16 for(inti=0;i<a.length-1;i++)17 if(a[i]>a[i+1]){18 hold=a[i];19 a[i]=a[i+1];20 a[i+1]=hold;21 }22 printArray(a);23 }2.4扩展实例24 }2526 //打印数组的方法27 publicstaticvoidprintArray(intb[]){28 for(inti=0;i<b.length;i++)29 (""+b[i]);30 ("");31 }32 }输入完成后,执行“文件→保存”,即可完成在Eclipse下Java程序的编写工作。2.4扩展实例2.4.2运行结果执行“运行→运行方式→Java应用程序”,即可执行程序。如果程序尚未保存,Eclipse会询问在执行前是否要保存文档,然后执行程序。在Eclipse下运行Java程序时,通常会将在命令窗口中显示的结果显示在“控制台”中。2.4扩展实例冒泡排序运行结果第3章车辆信息显示3.1 根底实例3.2 根底知识——面向对象程序设计根底3.3 扩展知识——面向对象程序设计高级3.4扩展实例引言本章介绍了如何使用java语言实现面向对象程序设计的根本概念,包括类和对象的关系,类的实例化,类的派生和继承,多重继承的功能接口以及包等概念,并综合运用上述知识给出了两个简单的车辆信息显示的实例。3.1 根底实例本实例的功能是通过类及对象的创立等操作,完成一个可以显示小轿车信息的程序。3.1.1编写步骤在Eclipse中建立一个小轿车类,在其中定义了小轿车的各种属性及其方法,并对小轿车类进行实例化,创立一个速腾轿车的对象。设置速腾轿车对象的属性,并执行相关的方法,最后显示出这个对象的各种信息。3.1 根底实例程序的源代码清单1 publicclassCarDisp{//小轿车类2 3 publicstaticvoidmain(String[]args){4 CarDispSagitar=newCarDisp();//创立对象速腾5 6 Sagitar.color="黑";7 Sagitar.model="速腾";8 Sagitar.horsepower="小";9 Sagitar.manufacturer="一汽群众";10 11 ("车辆类型:"+Sagitar.type);……15 ("生产厂家:"+Sagitar.manufacturer);16 17 ("当前车速:"+Sagitar.speed+"行驶方向:"+Sagitar.direction); ……3.1 根底实例34 }35 36 publicStringtype; //车辆类型37 publicStringcolor;//颜色38 publicStringmodel;//型号39 publicStringhorsepower;//马力40 publicStringmanufacturer;//生产厂家41 publicintspeed; //速度42 publicStringdirection; //方向43 44 publicCarDisp(){45 type="小轿车";46 direct48 }49 50 publicvoidrun(){ //行驶方法……53 }54 55 publicvoidturnleft(){ //左转弯方法……57 }……78 }3.1 根底实例3.1.2运行结果3.2 根底知识——面向对象程序设计根底3.2.1 面向对象程序设计的特点

1.封装性(Encapsulation)2.继承(Inheritance)3.多态性(Polymorphism)3.2 根底知识——面向对象程序设计根底3.2.2类的建立与声明类〔Class〕实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的根底。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。3.2 根底知识——面向对象程序设计根底类定义的一般形式如下:限制符class类名{ 类体}类的定义由类头和类体两局部组成。3.2 根底知识——面向对象程序设计根底3.2.3 类中的属性和方法1.属性属性就是数据成员,它们指定了该类的内部表示,其一般由常量或变量组成,比方根底实例中第36行到41行,就是类属性的定义。在类定义中属性可以赋初值,如果设置了初始值,实例化对象后,对象中的属性就会继承该值。如果没有在类定义中设置初始值,那么在实例化对象后,要进行显式的赋值操作,否那么该值会为空〔null〕。3.2 根底知识——面向对象程序设计根底2.方法方法是包含一系列语句的代码块,他们指定了该类的操作方法,方法一般由方法头和方法体组成,方法的定义如下:限制符返回值类型方法名(参数类型参数1,参数类型参数2,…){ 方法体}3.2 根底知识——面向对象程序设计根底3.构造方法方法中有一个特殊的应用,当方法名与类名相同时,这个方法被称为构造方法,即在对象被实例化时自动调用的一个方法,一般将需要初始化的语句放在其中。构造方法没有返回值,因此不需要设置返回值类型,3.2 根底知识——面向对象程序设计根底3.2.4 类中的访问权限1.public修饰符2.private修饰符3.protected修饰符4.friendly修饰符5.修饰符使用时的注意3.2 根底知识——面向对象程序设计根底3.2.5对象所谓对象就是类的实例化,一个对象就是类中所定义的一组变量和相关方法的集合。对象的变量是构成对象的核心,不同对象的变量是别离的。对象通过成员变量和类方法进行相互间的交流,以实现各种复杂的行为。3.2 根底知识——面向对象程序设计根底1.对象的声明对象的声明与普通变量的声明相似,首先指定一个类名作为这个对象的类类型,然后在类名后写一个对象名即可。对象声明的例子如下所示:类A对象A;类B对象B1,对象B2;类A实例化了一个对象A,类B实例化了两个对象B1和B2。3.2 根底知识——面向对象程序设计根底2.对象的创立例如中创立了两个对象:对象A=new类A();对象B1=new类B(“hello”);3.2 根底知识——面向对象程序设计根底3.访问对象中的成员对象成员的引用方式必须使用运算符“.”,数据成员和方法的引用格式如下所示:对象名.数据成员名对象名.方法名(参数表) 例如根底实例中的第6行和第20行等。3.3 扩展知识——面向对象程序设计高级3.3.1派生与继承继承是面向对象程序设计的一种重要手段。在面向对象的程序设计中,采用继承的机制可以有效地组织程序的结构,设计系统中的类,明确类间关系,充分利用已有的类来完成更复杂、深入的开发,大大提高程序开发的效率,降低系统维护的工作量。类继承也称为类派生,是指一个类不需要进行任何定义就可以拥有其他类的非私有成员,实现代码重用。3.3 扩展知识——面向对象程序设计高级父类与子类的层次关系

3.3 扩展知识——面向对象程序设计高级3.3.2 方法重载方法重载的引入简化程序员的工作,将方法的选择交由Java系统负责。如果没有重载,在编写如下语句段为 publicintadd1(inta,intb){ returna+b; } publicfloatadd2(floata,floatb){ returna+b; }现在有了方法重载,就可以将方法名写成相同的名称,如下所示: publicintadd(inta,intb){ returna+b; }publicfloatadd(floata,floatb){ returna+b; }3.3 扩展知识——面向对象程序设计高级3.3.3 接口1.接口的定义Java语言中的接口是通过interface关键字来声明的,其声明格式如下:interface接口名{ 接口体}3.3 扩展知识——面向对象程序设计高级一个清扫设备接口例如定义:interfaceCleaningEquipment{//清扫设备接口 publicintCleanerNumber=2; publicvoidCleanBegin(); publicvoidCleanStop();} 3.3 扩展知识——面向对象程序设计高级2.接口的继承具体的语法格式为:interface子接口名extends父接口名1,父接口名2{ 接口体}3.3 扩展知识——面向对象程序设计高级3.接口的实现接口中只声明了方法成员,而没有给出方法体,这样还不能在程序中使用,要想使用接口中声明的方法成员,就必须在实现接口的类中给出方法体,这个过程称为接口的实现。在类的声明中,用implements子句来表示实现某个或某些接口。3.3 扩展知识——面向对象程序设计高级3.3.4包所谓“包”就是一个设定的命名集合,它是Java提供的组织类和接口的一种有效工具,定义的类都参加某一个包中,并作为包的一局部存在,Java类中的成员变量和成员方法都在类中定义,使用包机制使得每个Java的变量和方法都可以用全限定的名字来表示,包括包名、类名和成员〔方法和变量〕名,各局部间用点号分隔即可。3.3 扩展知识——面向对象程序设计高级1.包的创立创立一个包非常简单,在Java源文件的最开始包含一个package语句即可。其语法格式如下:package包名;为了更好地使用包中的类,可以创立不同层次的包,这通常是由不同包的功能分类决定的。采用下面的形式可以创立一个包的层次结构:packagep1[.p2[.p3]];3.3 扩展知识——面向对象程序设计高级2.包的使用定义好的包可以通过import语句来引用。在Java源文件中,import语句需要放在package语句之后,但在其他任何类定义之前。importpackage1[.package2].(classname|*);3.3 扩展知识——面向对象程序设计高级3.Java的常用包⑴java.lang包⑵java.io包⑶java.util包⑷包⑸java.awt包⑹包⑺java.applet包⑻java.text包⑼java.beans包3.4扩展实例

3.4.1 编写步骤在Eclipse中新建立一个工程CarDisp2,并在其中增加类文件CarDisp2.java,然后在其中输入语句。3.4扩展实例

3.4.2调试与运行编写完成后,测试并运行程序,运行结果如图。第4章计算器4.1 根底实例4.2根底知识〔一〕——界面设计与布局管理器4.3 根底知识〔二〕——事件处理4.4扩展知识——异常处理4.5扩展实例引言本章介绍了Java图形用户界面〔GUI〕和事件处理的根底知识,包括图形用户界面中AWT和Swing两个类库中常用的容器和组件等;各类常用的事件处理机制。同时还介绍了异常处理机制在Java语言中的应用,并综合运用上述内容完成计算器的实例。4.1 根底实例本实例是一个简易计算器,功能是可对数字进行加(+)、减(-)、乘(*)、除(/)简单算术计算。4.1.1编写步骤在Eclipse中建立一个工程,名称为Calculator,在工程中建立一个类文件,名称与工程名相同,在类文件中输入相应的程序代码。4.1 根底实例4.1.2运行结果编写完成后,可以测试程序的运行结果。首先通过单击按钮选择数值1,单击运算符号选择做什么运算,再选择数值2,最后单击等号按钮,得出数值1和数值2运算了后的结果。4.1 根底实例计算器程序界面4.1 根底实例本程序的主要功能:使用鼠标单击数字按钮,上方文本区会对应显示出应数字内容。单击”C”按钮可以清空显示回复0显示。当单击对应的运算符号时,如果是第一次计算那么会等待用户选择第二个数值,如果已经计算过那么把前面的结果显示出来后,把结果作为第一个数值再进行计算。当单击等号按钮,对前面选择的数值和运算符进行运算得出结果。可以把结果继续用于计算,也可以再单击其他数值进行下一次的运算。4.2根底知识〔一〕——界面设计与布局管理器图形用户界面GUI〔GraphicalUserInterface〕是程序提供给用户操作的图形界面。包括窗口、菜单、按钮、文本区、复选框和其它各种屏幕元素。Java中提供了AWT和Swing两个类库为GUI设计提供了丰富的功能。4.2根底知识〔一〕——界面设计与布局管理器4.2.1 容器1.面板2.窗口〔Window〕3.框架〔Frame〕4.2根底知识〔一〕——界面设计与布局管理器AWT常用组件4.2根底知识〔一〕——界面设计与布局管理器1.框架〔Frame〕用Frame创立一个Windows窗口,用于存放其它的组件,通过add()方法向容器中添加。代码:Framef;//创立一个框架f=ewFrame(“窗口标题名称”);//实例化窗口对象f4.2根底知识〔一〕——界面设计与布局管理器Frame类常用的构造方法4.2根底知识〔一〕——界面设计与布局管理器2.标签〔Label〕标签是显示文本的组件,可以显示单行的字符串,起着传递消息的作用。用户不能对其进行修改,只能查看其内容。代码:LabelmyLabel;//创立一个标签myLabel=newLabel(“标签文字”);//实例化标签对象,设置标签文字添加标签f.add(myLabel);//把标签添加到容器f中。4.2根底知识〔一〕——界面设计与布局管理器Label类常用的构造方法和常用的方法4.2根底知识〔一〕——界面设计与布局管理器3.按钮〔Button〕按钮是用来触发特定动作的组件。当用户用鼠标单击按钮时,系统会自动执行与该按钮相联系的程序,从而完成预先制定的功能。代码:ButtonmyButton;myButton=newButton(“按钮”);//实例化按钮添加标签f.add(myButton);//把按钮添加到容器f中。4.2根底知识〔一〕——界面设计与布局管理器Button类常用的构造方法和常用的方法4.2根底知识〔一〕——界面设计与布局管理器4.文本框〔TextField〕用来接收用户通过键盘输入的单行文本信息。通过事件处理机制,程序可以使用这些文本或数据信息。代码:TextFieldmyTextField;myTextField=newTextField(“显示的文本”,10);//实例化单行文本,并指定初始化文字和宽度为容纳10个字符。4.2根底知识〔一〕——界面设计与布局管理器TextField类常用的构造方法4.2根底知识〔一〕——界面设计与布局管理器TextField类常用的方法及其说明代码myTextField.getText();myTextField.setText(“新文本内容”);//设置文本框显示的文本。myTextField.setEditable(false);//设置文本框内容不能再编辑。4.2根底知识〔一〕——界面设计与布局管理器5.文本域〔TextArea〕用来接收用户通过键盘输入的多行文本信息。代码:TextAreamyTextArea;myTextArea=newTextArea(“显示的文本”,10,3);//实例化多行文本区,并指定初始化文字和该文本区的行数和列数。4.2根底知识〔一〕——界面设计与布局管理器TextArea类常用的构造方法4.2根底知识〔一〕——界面设计与布局管理器TextArea类常用的方法4.2根底知识〔一〕——界面设计与布局管理器6.复选框〔Checkbox〕复选框可以让用户进行多项选择。复选框有两种状态,分别为“开”和“关”。当用户点中复选框时候,复选框的状态就会改变。代码:CheckboxmyCheckbox;myCheckbox=newCheckbox(“复选框”);//创立复选框,并指定复选框的标签内容。4.2根底知识〔一〕——界面设计与布局管理器Checkbox类常用的构造方法4.2根底知识〔一〕——界面设计与布局管理器7.单项选择按钮组〔CheckboxGroup〕单项选择按钮是在复选框的根底上创立的。单项选择按钮的选择是互斥的,当用户选中了组中的一个按钮后,其他按钮自动处于未选中状态。代码:CheckboxGroupmyCheckboxGroup=newCheckboxGroup();//创立一个单项选择按钮组CheckboxmyCheckbox1=newCheckbox(“单项选择1”,myCheckboxGroup,true);//创立一个复选框1,并把其参加到上面创立的单项选择按钮组中,设置默认为选中状态。CheckboxmyCheckbox2=newCheckbox(“单项选择2”,myCheckboxGroup,false);//创立一个复选框2,参加单项选择按钮组中,设置默认状态为未选中状态。最后将组件放置到容器中时,只把复选框添加即可f.add(myCheckbox1);//向f中添加复选框对象,而不是单项选择按钮组。f.add(myCheckbox2);4.2根底知识〔一〕——界面设计与布局管理器CheckboxGrou类常用的构造方法4.2根底知识〔一〕——界面设计与布局管理器8.下拉列表〔Choice〕下拉列表的选项框每次只能显示一个选项。如果希望查看或选择其他的选项,需点击下拉列表右边的下箭头,并从选项框中选择一个选项。代码:ChoicemyChoice=newChoice();//创立下拉列表myChoice.addItem(“下拉列表一”);//向下拉列表中添加列表项myChoice.addItem(“下拉列表二”);……添加标签f.add(myChoice);//把下拉列表添加到容器f中4.2根底知识〔一〕——界面设计与布局管理器Choice类常用的构造方法和常用的方法4.2根底知识〔一〕——界面设计与布局管理器9.列表框〔List〕4.2根底知识〔一〕——界面设计与布局管理器10.菜单〔Menu〕完整的菜单系统由菜单条、菜单和菜单项组成,其对应的类分别是:MenuBar、Menu和MenuItem。一个菜单的组成如图4.2根底知识〔一〕——界面设计与布局管理器Menu类常用的构造方法及其说明4.2根底知识〔一〕——界面设计与布局管理器4.2.3Swing常用组件1.标签类〔JLabel〕2.文本输入框〔JTextField〕3.密码框输入框〔JPasswordField〕4.文本区〔JTextArea〕5.按钮类〔JButton〕6.单项选择按钮(JRadioButton)和多项选择按钮(JCheckBox)7.列表(JList)8.下拉列表(JComboBox)9.对话框(JDialog)4.2根底知识〔一〕——界面设计与布局管理器4.2.4布局管理

1.FlowLayout布局 4.2根底知识〔一〕——界面设计与布局管理器2.BorderLayout布局4.2根底知识〔一〕——界面设计与布局管理器3.GridLayout布局4.2根底知识〔一〕——界面设计与布局管理器4.CardLayout布局4.2根底知识〔一〕——界面设计与布局管理器5.自由布局如果把容器的布局设置为null布局〔空布局〕,那么通过所有组件都拥有的方法:publicvoidsetBounds(intx,inty,intwidth,intheight);可设置组件在容器中的位置和大小。参数x和y指定组件左上角在容器中的坐标,参数width和height指定组件的宽和高,单位为像素。4.3 根底知识〔二〕——事件处理事件有三个重要概念:事件:用户对组件的一个操作,称之为一个事件。例如鼠标单击或键盘的操作。事件源:发生事件的组件就是事件源。例如不同的组件像按钮Button、复选框Checkbox等。事件处理器:负责处理事件的方法。例如接受到按钮单击事件,并对这个事件进行处理。4.3 根底知识〔二〕——事件处理事件类和相应的接口总结4.3 根底知识〔二〕——事件处理4.3.1 事件类1.高级事件ActionEvent(动作事件):对应的事件为按钮按钮下,文本框中按下回车键。AdjjustmentEvent〔调节事件〕:对应的事件为滚动条移动滑块调节数值。ItemEvent〔工程事件〕:对应事件为选择工程。TextEvent〔文本领件〕:对应的事件为文本对象改变。4.3 根底知识〔二〕——事件处理2.低级事件ComponentEvent〔构件事件〕:对应的事件为构件尺寸的变化、移动。ContainerEvent〔容器事件〕:对应的事件为构件增加移动。FocusEvent〔焦点事件〕:对应的事件为焦点获得和丧失。KeyEvent〔键盘事件〕:对应事件为键盘按键的按下、释放。MouseEvent〔鼠标事件〕:对应事件为鼠标的单击、移动等。WindowEvent〔窗口事件〕:关闭窗口、窗口最小化等。4.3 根底知识〔二〕——事件处理4.3.2 事件监听器和事件适配器每类事件都有对应的事件监听器,监听是是一种接口,要根据程序实际情况来定义方法。在上面小节程序中,窗口不能正常关闭,因为没有对窗口事件进行处理,下面通过实例来实现窗口的关闭。窗口事件相对应的接口是:publicinterfaceWindowListenerextendsEventListener{publicvoidwindowOpened(WindowEvente);//翻开窗口时调用publicvoidwindowClosing(WindowEvente);//退出窗口时调用publicvoidwindowClosed(WindowEvente);//窗口关闭时调用publicvoidwindowIconified(WindowEvente);//窗口图标化时调用publicvoidwindowDecionified(WindowEvente);//窗口非图标化时调用publicvoidwindowActivated(WindowEvente);//窗口激活时调用publicvoidwindowDeactivated(WindowEvente);//窗口非激活时调用}4.3 根底知识〔二〕——事件处理Java中定义的事件适配器类包括:ComponentAdapter,构件适配器ContainerAdapter,容器适配器FocusAdapter,焦点适配器KeyAdapter,键盘适配器MouseAdapter,鼠标适配器MouseMotionAdapter,鼠标运动适配器WindowAdapter,窗口适配器4.3 根底知识〔二〕——事件处理4.3.3 常见的事件及其相应的接口4.3 根底知识〔二〕——事件处理接上页4.4扩展知识——异常处理4.4.1异常的概述Java语言把程序运算中可能遇到的错误分为两类,一类是非致命性的,通过某种修正后程序还能继续执行,比方对负数开平方根、空指针访问、试图读取不存在的文件、网络连接中断等;另一类是致命性的,程序遇到了非常严重的不正常状态,不能简单的恢复执行,比方程序中内容耗尽等。在程序编译或运行中所发生的可预料或不可预料的错误事件,它会引起程序的中断,影响程序的正常运行,这在Java语言中称为异常〔Exception〕。4.4扩展知识——异常处理常见异常类4.4扩展知识——异常处理4.4.2 异常的捕获与处理在程序中添加异常的处理机制,在异常产生时将危害减到最小。异常主要处理的是Exception类,Error是程序本身问题,不能处理。常用关键字:try、catch和finally。其语法结构是:try{<可能产生异常的程序代码段>}catch(<要捕捉的异常类><变量名称>){<处理这个异常的程序代码段>}finally{<必须运行的代码段>}4.4扩展知识——异常处理4.4.3抛出异常抛出异常是Java中处理异常的第二种方式。如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,那么此方法应声明抛弃异常,说明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。抛出异常使用throws关键字来进行处理,throws是在方法名后标出该方法所产生何种异常的集合〔通常比较多,可以用逗号隔开〕;即此方法如果内部产生未经处理的异常就会向外抛出。4.4扩展知识——异常处理4.4.4用户自定义异常如果JavaAPI中已经定义好的异常类不能完全满足程序的需求,那么还可以自己定义异常类。用户自定义的异常类,只要去继承某个原有的Exception类,然后加上两个构造函数,一个需要传递一个字符串参数,另外一个不需要参数,然后在构造函数中再往上调用父类的构造函数,把参数再往上传即可。4.5扩展实例4.5.1编写步骤〔略〕4.5.2调试与运行运行结果与计算机的界面一样。但当除数分母为零时,会有提示。第5章文本编辑器5.1 根底实例5.2根底知识〔一〕——菜单5.3根底知识〔二〕——对话框5.4扩展知识——输入输出流5.5扩展实例引言本章介绍了Java文件操作的根底知识,包括输入输出流、文件的操作。以及如何建立菜单和设置菜单功能,建立对话框等功能。并综合运用上述内容给出了一个文本编辑器的实例。5.1 根底实例本章构造实现了一个文本编辑器,类似于常见的记事本或写字板这样的文本编辑器,并提供其简化的功能。此编辑器功能包括:所见即所得的文本输入。方便的选中文本、复制文本、删除文本、插入文本的功能。简单的排版功能,如设置字体、字号等。5.1 根底实例5.1.1编写步骤1、主类MyEditor.java源代码清单2.设置颜色程序SetColor.java源代码清单3.设置字体程序SetFont.java源代码清单5.1 根底实例5.1.2 运行结果·运行主类MyEditor.java,在命令行键入javaMyEditor或在IDE里选择运行工程,呈现给用户的主界面·在菜单项选择项中,选取设置字体·选取设置颜色5.2根底知识〔一〕——菜单5.2.1建立菜单5.2根底知识〔一〕——菜单菜单项的常用方法5.2根底知识〔一〕——菜单5.2.2设置菜单功能执行下面代码生成菜单界面。//参加菜单条fr.setJMenuBar(mb);//参加菜单mb.add(menuFile);//参加菜单项menuFile.add(menuFileNew); menuFile.add(menuFileClose);//参加分隔符menuFile.addSeparator();5.2根底知识〔一〕——菜单例如代码如下://当菜单中选择关闭时elseif(ae.getSource()==menuFileClose){ta.replaceRange("",0,ta.getText().length());fileStatus.setText("文件状态:Fileclosedwithoutsave|");fns=null;}5.3根底知识〔二〕——对话框5.3.1 标准对话框1.FileDialog类2.消息对话框3.确认对话框5.3根底知识〔二〕——对话框5.3.2 用户自定义对话框常用的对话框界面相似,显示的信息也很简单。如果想要设计更为复杂一些的对话框,可以通过扩展JDialog类来创立。5.3根底知识〔二〕——对话框关于对话框5.4扩展知识——输入输出流5.4.1 输入输出流类1、BufferedReader类主要方法5.4扩展知识——输入输出流2、InputStreamReader类这是InputStream和Reader之间的桥梁,由于System.in是字节流,需要用它来包装之后变为字符流供给BufferedReader使用。5.4扩展知识——输入输出流3、PrintWriter类用于向文本输出流打印对象的格式化表示形式。PrintWriterout1=newPrintWriter〔newBufferedWriter〔newFileWriter〔"IODemo.out"〕〕〕;5.4扩展知识——输入输出流5.4.2 文件5.4扩展知识——输入输出流File类常用方法5.5扩展实例5.5.1 编写步骤1.在MyEditor.java参加声明JMenuItemmenuFileOpen,menuFileSave;2.在MyEditor.java布局方法中参加新的组件及事件3.在MyEditor.java的actionPerformend()方法中参加新的事件处理5.5扩展实例

5.5.2 调试与运行扩展实例参加的功能运行结果第6章赛马游戏6.1 根底实例6.2 根底知识——图形处理6.3 扩展知识——多线程6.4扩展实例引言本章介绍了Java线程的根底知识,使读者了解如何利用线程来完成“同时”做多件事的方法,以及如何在此过程中对线程进行控制,并综合运用上述内容给出一个利用多线程方法编程的赛马游戏实例。6.1 根底实例6.1.1编写步骤在Eclipse中建立一个工程,工程名称为Racing,并在工程中建立一个文件包〔Package〕,名为com,然后在上文件包中建立以下类。赛马类程序Racing.java主要代码清单6.1 根底实例6.1.2 运行结果编写完成后,可以测试程序的运行结果6.2 根底知识——图形处理6.2.1 框架〔Jframe〕1.JFrame类的构造方法2.JFrame类的常用成员方法3.创立并显示框架6.2 根底知识——图形处理6.2.2 简单图形Graphics类中绘制图形的方法。drawLine(intx1,inty1,intx2,inty2)//绘制一条线段,从〔x1,y1〕至〔x2,y2〕drawOval(intx,inty,intw,inth)//绘制空心椭圆,其中x,y为左上角坐标值;w,h表示半线,当w=h时,即为圆形fillOval(intx,inty,intw,inth)//绘制实心椭圆,参与与上例意义一样drawRect(intx,inty,intw,inth)//绘制一个空心矩形fillRect(intx,inty,intw,inth)//绘制一个填充颜色的矩形drawRoundRect(intx,inty,intw,inth,intaw,intah)//绘制一个圆角矩形fillRoundRect(intx,inty,intw,inth)//绘制一个圆角填充颜色的矩形6.2 根底知识——图形处理上述方法的实际应用: publicclassDraw_picextendsJFrame{ publicDraw_pic(){ Containercon=getContentPane(); con.add(newDrawPanel()); } publicstaticvoidmain(String[]args){ Draw_picframe=newDraw_pic(); frame.setSize(400,500); frame.setVisible(true); }6.2 根底知识——图形处理classDrawPanelextendsJPanel{ publicvoidpaintComponent(Graphicsg){ g.drawRect(10,10,20,20); g.fillRect(30,30,40,40); g.drawOval(100,120,100,100); g.fillOval(160,160,40,40); g.drawRoundRect(80,10,100,50,10,10);

intx[]={225,290,210,275,250}; inty[]={90,40,40,90,10};

g.setColor(Color.green); g.drawPolygon(x,y,x.length); g.drawLine(100,280,200,360); } } }6.2 根底知识——图形处理简单图形运行结果6.2 根底知识——图形处理6.2.3 颜色JAVA的类为GUI件设置颜色。颜色中的R〔红〕、G〔绿〕、B〔蓝〕为三原色的比例。一个RGB值由三局部组成,第一个RGB局部定义红色的量;第二个定义绿色的量;第三个定义蓝色的量。1.Color类的构造方法如下:publicColor〔intr,intg,intb〕;//使用在0-255范围内的整数指定红、绿、蓝三种颜色的比例来创立一种Color对象publicColor〔floatr,floatg,floatb〕;//使用范围内的浮点数指定红、绿、蓝三种颜色的比例来创立一种Color对象publicColor〔intrgb〕;//使用指定的组合RGB值建一种Color对象6.2 根底知识——图形处理2.设置颜色用类的方法设定颜色或获取颜色。这些方法及其功能如下:setColor〔Colorc〕;//设置前景着色,c代表颜色setColor〔newColor〔intr,intg,intb〕〕;//根据RGB值,设置前景颜色setBackground〔Colorc〕;//设定背景颜色,c代表颜色getColor〔〕;//获取当前

温馨提示

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

评论

0/150

提交评论