Java基础就业培训教程第二章张孝祥65.docx

上传人:you****now 文档编号:62429832 上传时间:2022-11-22 格式:DOCX 页数:56 大小:649.72KB
返回 下载 相关 举报
Java基础就业培训教程第二章张孝祥65.docx_第1页
第1页 / 共56页
Java基础就业培训教程第二章张孝祥65.docx_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《Java基础就业培训教程第二章张孝祥65.docx》由会员分享,可在线阅读,更多相关《Java基础就业培训教程第二章张孝祥65.docx(56页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第2章 Javaa 编程程基础2.1 Jaava基基本语法法格式2.1.1Javaa代码的的落脚点点Javaa中的所所有程序序代码都都必须存存在于一一个类中中,用cclasss关键键字定义义类,在在claass前前面可以以有一些些修饰符符。格式式如下:修饰符 claass 类名程序序代码2.1.2Javaa是严格格区分大大小写的的例如,我我们不能能将cllasss写成CClasss。2.1.3 Javaa是一种种自由格格式的语语言在Javva中,所有的程序代码分为结构定义语句和功能执行语句,一条语句可以写在若干行上,功能执行语句的最后必须用分号(;)结束,不必要对齐或缩进一致。可以按自己的意愿

2、任意编排,只要每个词之间用空格、制表符、换行符或大括号、小括号这样的分隔符隔开就行。例如第一章的例子程序改成下面这种编排方式也是可以的:classs TTesttpuubliic sstattic voiid mmainn(Sttrinng aargss)SSysttem.outt.prrinttln(“Myy fiirstt jaava proograam”);用哪种代代码书写写的格式式因个人人爱好而而定,但但出于可可读性的的考虑不不建议使使用这种种格式。M脚下留心心:1. JJavaa程序中中一句连连续的字字符串不不能分开开在两行行中写,以以上程序序如果写写成下面面这种方方式是会会编译出出

3、错的:classs TTesttpuubliic sstattic voiid mmainn(Sttrinng aargss)SSysttem.outt.prrinttln(“Myy fiirstt jaava proograam”);2. 功功能执行行语句的的最后必必须用分分号(;)结束束,但中中国的初初学者常常将这个个英文的的(;)误写成成中文的的(;)自己却找不出错误的原因来,对于这样的情况,编译器通常会报告“illegal character”(非法字符)这样的错误信息。2.1.4Java程序序的注释释为程序添添加注释释可以提提高程序序的可读读性,它它是写在在程序里里的信息息,用来来说

4、明某某段程序序的作用用和功能能。Javaa里的注注释根据据不同的的用途分分为三种种类型:l 单行注释释l 多行注释释l 文档注释释第一种是是单行注注释,就就是在注注释内容容前面加加双斜线线(/),jjavaa编译器器会忽略略掉这部部分信息息。如下下例:int c = 100; / 定定义一个个整型第二种是是多行注注释,就就是在注注释内容容前面以以单斜线线加一个个星形标标记(/*)开开头,并并在注释释内容末末尾以一一个星形形标记加加单斜线线(*/)结束束。当注注释内容容超过一一行时一一般使用用这种方方法,如如:/* iint c = 100; / 定定义一个个整型int x=55; */第三种注

5、注释方法法是文档档注释,是是以单斜斜线加两两个星形形标记(/*)开开头,并并以一个个星形标标记加单单斜线(*/)结结束。用用这种方方法注释释的内容容会被解解释成程程序的正正式文档档,并能能被包含含在诸如如javvadooc之类类的工具具程序提提取的文文档里,用用以说明明该程序序的层次次结构及及其方法法。关于于这种注注释的详详细用法法,我们们会在后后面的章章节中讲讲解。M脚下留心心:/*/中可可以嵌套套“/”注释,但但不能嵌嵌套“ /*/”,如:下面的的注释是是非法的的:/*/*innt cc = 10;*/int x=55;*/F不得不说说:我们们要从开开始就养养成良好好的编程程风格,软软件编

6、码码规范中中说:“可读性性第一,效效率第二二”。在程序序中必须须包含适适量的注注释,以以提高程程序的可可读性和和易于维维护性,程程序注释释一般占占程序代代码总量量的200%-550%。2.1.5Javaa中的标标识符Javaa中的包、类、方方法、参参数和变变量的名名字,可可由任意意顺序的的大小写写字母、数字、下划线线(_)和美元元符号($)组组成,但但标识符符不能以以数字开开头,不不能是关关键字。下面是合合法的标标识符:indeentiifieer,userrnammeuserr_naame_useerNaame$useernaame 下面是非非法的标标识符:classs98.33Helllo

7、 Woorldd正确的路路有一条条,错误误的路千千万条,何何苦要去去记住有有哪些错错误的路路呢?永永远用字字母开头头,尽量量不要包包含其他他的符号号就行了了。2.1.6Javaa的关键键字和其他语语言一样样,Javaa中也有有许多保保留关键键字,如如pubblicc,brreakk等,这这些保留留关键字字不能被被当作标标识符使使用。其其实大家家不用死死记硬背背到底有有哪些关关键字,知知道有这这回事就就足够了了,万一一不小心心把某个个关键字字用作标标识符了了,编译译器就能能告诉我我们这个个错误。下面是是Javaa的关键键字列表表,大家家就留个个初步的的印象吧吧!absttracctbooolee

8、anbbreaakbyyteccaseecattchccharrclassscoontiinueedeffaulltdoodouubleeelsseexxtenndfalssefiinallfinnalllyflloattforrif impplemmenttimpoortiinsttancceoff inntinnterrfacceloongnnatiivennewnulllpacckaggeprrivaatepprottecttedppubllicrretuurnsshorrtstatticsstriictffpsuuperrswiitchhthiisthhrowwthrrowsstran

9、nsieentttrueetryyvoiidvoolattileewhiilessyncchroonizzed注意:JJavaa 没有有sizzeoff、gotto、connst这这些关键键字,但但不能用用gotto、connst作作为变量量名。2.1.7Javaa中的常常量常量就是是程序里里持续不不变的值值(有的的书中称称其为字字面量或或实字),Java中的常量包含整型常量,浮点数常量,布尔常量等,下面我们来看一下它们是如何表示的:整型常量量整型常量量可以分分为十进进制,十十六进制制和八进进制来表表示:十进制:0 1 2 33 4 5 66 7 8 99 注意:以以十进制制表示时时,第一一位

10、不能能是0(数数字0除除外)。十六进制制:0 1 2 33 4 5 66 7 8 99 a b cc d e ff A B CC D E FF 注意:以以十六进进制表示示时,需需以0xx或0XX开头,如如:0x8aa 0XXff 0X99A 00x122八进制:0 1 2 33 4 5 66 7 注意:八八进制必必须以00开头。如:01233 0445 0098 0466长整型:长整型必必须以LL做结尾尾,如:9L 1156LL浮点数常常量:浮点数常常量有ffloaat(332位)和dooublle(664位)两两种类型型,分别别叫做单单精度浮浮点数和和双精度度浮点数数,表示示浮点数数时,要要

11、在后面面加上ff(F)或者dd(D),用指指数表示示也可以以。注意意:由于于小数常常量的默默认类型型为dooublle型,所所以flloatt类型的的后面一一定要加加f(FF),用用以区分分。如:2e3ff 33.6dd.4f 0f 3.844d 5.0022ee+233f都是合法法的。布尔常量量:布尔常量量用于区区分一个个事物的的正反两两面,不不是真就就是假。其值只只有两种种:trrue和和fallse。字符常量量:字符常量量是由英英文字母母、数字字、转义义序列、特殊字字符等的的字符所所表示,它它的值就就是字符符本身,如如:a 88 t u00027字符常量量要用两两个单引引号括起起来,JJ

12、avaa中的字字符占用用两个字字节,是是用unnicoode码码表示的的,我们们也可以以使用uuniccodee码值加加上uu来表示示对应的的字符。 字符串常常量:字符串常常量和字字符型常常量的区区别就是是:前者者是用双双引号括括起来的的常量,用用于表示示一连串串的字符符。而后后者是用用单引号号括起来来的,用用于表示示单个字字符。下下面是一一些字符符串常量量:Helllo Worrld 1123 WWelccomee nnXXXX&多学两招招:有些些时候,我我们在无无法直接接往程序序里面写写一些特特殊的按按键,比比如你想想打印出出一句带带引号的的字符串串,或者者判断用用户的输输入是不不是一个个

13、回车键键,等等等。其实实它们都都可以用用一些转转义字符符来表示示,以下下一些特特殊字符符的意义义,供参参考:r表示示接受键键盘输入入,相当当于按下下了回车车键;n表示示换行;t表示示制表符符,相当当于taablee键;b表示示退格键键,相当当于Baack Spaace;表示示单引号号,是双引引号;表示示一个斜斜杠“”。比如上面面的WWelccomee nn XXXX,它的运行行结果是是:WelccomeeXXXnulll常量:nulll常量只只有一个个值,用用nulll表示示,表示示对象的的引用为为空。2.2 变量及及变量的的作用域域2.2.1 变量的的概念变量就是是系统为为程序分分配的一一块

14、内存存单元,用用来存储储各种类类型的数数据。根根据所存存储的数数据类型型的不同同,有各各种不同同类型的的变量。用一个变变量定义义一块内内存以后后,程序序就可以以用变量量名代表表这块内内存中的的数据。我们来来看一下下:int x=00,y;y=x+3;第一句代代码分配配了两块块内存用用于存储储整数,分分别用xx,y作作为这两两块内存存的变量量名,并并将x标标识的内内存中的的数据置置为0,yy标识的的内存中中的数据据为其原原始状态态,可以以认为是是一个未未知数。第二句代代码的执执行过程程,程序序首先取取出x代代表的那那块内存存单元的的数,加加上3,然然后把结结果放到到y所在在的那块块内存单单元,这

15、这样就完完成了yy=x+3的运运算。2.2.2 Javaa的变量类类型在Javva中内内建有八八种基本本变量类类型来存存储整数数、浮点点数、字字符和布布尔值。数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte, short, int, long)浮点类型(float, double)类(class)接口(interface)数组其中引用用数据类类型会在在以后章章节详细细讲解,这这里只讲讲基本数数据类型型。与其他编编程语言言不同的的是,JJavaa的基本本数据类类型在任任何操作作系统中中都具有有相同的的大小和和属性,不不像C语言,在在不同的的系统中

16、中变量的的取值范范围不一一样,在在所有系系统中,Java变量的取值都是一样的,如表2.1。这也是Java跨平台的一个特性。有四种数数据类型型用来存存储整数数,它们们具有不不同的取取值范围围,分别别如表22.1所所示:类型名 大小小 取值范范围bytee 8位位 -11281277shorrt 166位 -33276683327667int 322位 -221477483364882114744836647longg 644位 -992233372203668544775580889222333720036885477758807表2.11这些类型型都是有有符号的的,所有有整数变变量都无无法可靠

17、靠地存储储其取值值范围以以外的数数据值,因因此定义义数据类类型时一一定要谨谨慎。有两种数数据类型型用来存存储浮点点数,它它们是单单精度浮浮点型(ffloaat)和和双精度度浮点型型(dooublle)。浮点数数在计算算机内存存中的表表示方式式比较复复杂,我我们在后后面的课课程为大大家进行行分析,单精度浮点型和双精度浮点型的取值范围见表2.2:类型名 大大小 取值范范围 flloatt 322位 1.4EE-4533.4EE+388,-11.4EE-455-33.4EE+388 dooublle 644位 4.9E-32441.77E+3308, -44.9EE-3224-1.77E+3308表

18、2.22charr类型用用来存储储诸如字字母、数数字、标标点符号号及其他他符号之之类的单单一字符符。与CC语言不同同,Javaa的字符符占两个个字节,是是uniicodde编码码的。$独家见解解:计算算机里只只有数值值,当你你在内存存中看到到一个数数值时,这这个数值值可能代代表各种种意义,比比如你看看到的文文字、图图像和听听到的声声音等都都是使用数字字形式来表表示的。生活活中的数数值也可可以代表表其他意意义,如如12334可以以代表密密码,存存款额,电电报信息息等。根根据上下下线索,我我们能够够知道这这些数值值代表的的意义。其实,字字符也是是一个数数字,当当我们要要给一个个字符变变量赋值值时,

19、就就可以直直接用整整数,如如:977对应字字符aa,我我们使用用 chhar ch=97将字字符aa赋值值给变量量ch。98对应应的是字字符bb,当当在内存存里面躺躺着一个个99时,请请问,它对应应键盘上上的哪个个字母呢呢?大家家都能够够猜出就就是字符符c。如果我们们要将字字符xx赋给给一个ccharr变量,该该填一个个怎样的的整数呢呢?显然然,我们们不太容容易记住住每个字字符所对对应的数数字,所所以,我我们就用用单引号号加上这这个字符符本身来来表示那那个字符符对应的的数字,如如chaar cch=x。boolleann类型用用来存储储布尔值值,在JJavaa里布尔尔值只有有两个,要要么是tt

20、ruee,要么么就是ffalsse。Javaa里的这这八种基基本类型型都是小小写的,有有一些与与它们同同名但大大小写不不同的类类,例如如Boooleaan等,它它们在JJavaa里具有有不同的的功能,切切记不要要互换使使用。2.2.3 注意变变量的有有效取值值范围系统为不不同的变变量类型型分配不不同的空空间大小小,如ddoubble型型常量在在内存中中占八个个字节, flooat的的变量占占四个字字节,bbytee型占一一个字节节等,如如图2.1所示:图2.11byyte b=1129;/ 编译报报错,因因为1229超出出了byyte类类型的取取值范围围。flloatt f=3.55;/编译报

21、报错,因因为小数数常量的的默认类类型为ddoubble型型。dooublle型常常量在内内存中占占八个字字节,而而Javaa只为ffloaat的变变量分配配四个字字节的空空间,要要将八个个字节的的内容装装入四个个字节的的容器,显显然有问问题。改改为:floaat ff=3.5f;编译就可可以通过过了,因因为3.5f是是一个ffloaat型常常数,在在内存中中只占44个字节节。2.2.4基本数数据类型型之间的的转换在编写程程序过程程中,我我们经常常会遇到到的一种种情况,就就是需要要将一种种数据类类型的值值赋给另另一种不不同数据据类型的的变量,由由于数据据类型有有差异,在在赋值时时就需要要进行数数

22、据类型型的转换换,这里里就涉及及到两个个关于数数据转换换的概念念:自动动类型转转换和强强制类型型转换。自动类类型转换换(也叫叫隐式类类型转换换)要实现自自动类型型转换,需需要同时时满足两个个条件,第第一是两两种类型型彼此兼兼容,第第二是目目标类型型的取值值范围要要大于源源类型。例如,当byyte型型向innt型转转换时,由由于innt型取取值范围围大于bbytee型,就就会发生生自动转转换。所所有的数字类类型,包包括整型型和浮点点型彼此此都可以以进行这这样的转转换。请看下面面的例子子:bytee b=3;int x=bb; /没没有问题题,程序序把b的的结果自自动转换换成了iint型型了 强制

23、制类型转转换(也也叫显式式类型转转换)当两种类类型彼此此不兼容容,或目目标类型型取值范范围小于于源类型型时,自自动转换换无法进进行,这这时就需需要进行行强制类类型转换换。强制制类型转换换的通用用格式如如下:目标类型型 变量量=(目标类类型)值例如:bytee a;int b;a = (byyte) b;这段代码码的含义义就是先先将innt型的的变量bb的取值值强制转转换成bbytee型,再再将该值值赋给变变量a,注注意,变变量b本本身的数数据类型型并没有有改变。由于这这类转换换中,源源类型的的值可能能大于目目标类型型,因此此强制类类型转换换可能会会造成你你的数值值不准确确,从下下面的图图中就可

24、可以看出出强制类类型转换换时数据据传递的的过程。图2.22请看下面面的程序序:程序清单单:Coonveersiion.javvapubllic claass Convverssionn pubblicc sttatiic vvoidd maain(Strringg arggs) byyte b ;innt ii = 2666 ;b = (bytte)ii ; Syysteem.oout.priintlln(bytte tto iint is+ +bb) ;程序输出出入下:bytee too innt iis 110字符串可可以使用用加号(+)同其其他的数数据类型型相连而而形成一一个新的的字符串

25、串,读者者只要明明白二进进制与十十进制数数之间的的转换关关系,就就不难明明白上面面程序打打印的结结果了。$独家见解解:要理理解类型型转换,大大家可以以这么想想像,大脑前面面是一片片内存,源源和目标标分别是是两个大大小不同同的内存存块(由由变量及及数据的的类型来来决定),将将源数据据赋值给给目标内内存的过过程,就就是用目目标内存存块去套套取源内内存中的的数据,能能套多少少算多少少。2.2.5 表达达式的数数据类型型自动提提升我们先看看下面一一个错误误程序:程序清单单:Teest.javva claass Tesst puubliic sstattic voiid mmainn(Sttrinng

26、arrgs) bbytee b = 55;b = (b-2); SSysttem.outt.prrinttln(b); 这段代码码中,55-2的的值并未未超出bbytee型取值值范围,然然而当执执行这段段代码时时,Javaa报出如如下错误误:Testt.jaava:6: posssibble losss oof ppreccisiionfounnd : inttrequuireed: bytteb = (b-2); 1 errrorr这是因为为在表达达式求值值时,变变量值被被自动提提升为iint型型,表达达式的结结果也就就成了iint型型,这时时要想把把它赋给给bytte型变变量就必必须强制制

27、转换了了。因此此前面代代码中粗粗体的部部分就应应该改成成:b = (byyte)(b-2);这种特殊殊情况在在编程过过程中如如果遇到到了,只只要知道道怎么解解决就可可以了。关于类型型的自动动提升,Java定义了若干适用于表达式的类型提升规则。第一,所所有的bbytee型、shoort型型和chhar的的值将被被提升到到intt型。第二,如如果一个个操作数数是loong型型,计算算结果就就是loong型型;第三,如如果一个个操作数数是flloatt型,计计算结果果就是ffloaat型;第四,如如果一个个操作数数是dooublle型,计计算结果果就是ddoubble型型。以下代码码演示了了Java

28、a的类型型自动提提升规则则:程序清单单:Prromoote.javvaclasss PPrommotee publlic staaticc vooid maiin(SStriing arggs) bytee b = 550;charr c = a;shorrt ss = 10224;int i = 5000000;floaat ff = 5.667f;doubble d = .112344;doubble ressultt = (f * bb) + (ii / c) - (d * s);Systtem.outt.prrinttln(f * bb) + + + (i / cc) + - + (d

29、 * ss);Systtem.outt.prrinttln(reesullt = + rresuult);我们看看看在下列列代码行行的类型型提升:doubble ressultt = (f * bb) + (ii / c) - (d * s);在第一个个子表达达式f*b中,变变量b被提升升为flloatt类型,该该子表达达式的结结果也提提升为ffloaat类型型。接下下来,在在子表达达式i/c中,变变量c被提升升为innt类型型,该子子表达式式的结果果提升为为intt类型。然后,子子表达式式d*ss中的变变量s被提升升为dooublle类型型,该子子表达式式的结果果提升为为douublee类型

30、。最后,这这三个结结果值类类型分别别是flloatt类型,iint类类型,和和douublee类型。flooat类类型加iint类类型的结结果是ffloaat类型型。然后后flooat类类型减去去douublee类型,该该表达式式的最后后结果就就是dooublle类型型。&多学两招招:Systtem.outt.prrinttln()除了了可以在在屏幕上上打印字字符串外外,还可可以直接接在屏幕幕上打印印其他类类型的数数据,读读者再想想想Syysteem.oout.priintlln(a+1)在在屏幕上上的打印印结果与与Sysstemm.ouut.pprinntlnn(+ aa+11)在屏屏幕上的

31、的打印结结果有什什么不同同呢?前前者将字字符aa与整整数1相加后后得到的的结果是是整数998,后后者将一一个空字字符串与与字符a相相连后再再与整数数1相连形形成一个个新的字字符串“a1”。2.2.6 变量的的作用域域大多数程程序设计计语言都都提供了了“变量量作用域域”(SScoppe)的的概念。在C、C+和Jaava里里,一对对花括号号中间的的部分就就是一个个代码块块,代码块块决定其中中定义的的变量的的作用域域。代码码块由若若干语句句组成,必必须用大大括号包包起来形形成一个个复合语语句,多个复合合语句可可以嵌套套在另外外的一对对大括号号中形成成更复杂杂的复合合语句。如: intt x=0;in

32、nt yy=0;y=y+11; x=xx+1;代码块决决定了变变量的作作用域,作作用域决决定了变变量的“可可见性”以以及“存存在时间间”。参考下面面这个例例子:程序清单单:TeestSScoppe.jjavaapubllic claass TesstSccopee pubblicc sttatiic vvoidd maain(Strringg arggs)int x = 122; intt q = 996; / x和qq都可用用 Sysstemm.ouut.pprinntlnn(xx iss +x); Sysstemm.ouut.pprinntlnn(qq iss +q); q = xx; /

33、* 错误的的行,只只有x可可用, q 超超出了作作用域范范围 */ Sysstemm.ouut.pprinntlnn(xx iss +x); q作为在在里层的的代码块块中定义义的一个个变量,只只有在那那个代码码块中位位于这个个变量定定义之后后的语句句,才可可使用这这个变量量,q=x语句句已经超超过了qq的作用用域,所所以编译译无法通通过。记住这这样的一一个道理理,在定义义变量的的语句所属属于的那那层大括括号之间间,就是是这个变变量的有有效作用用范围,但但不能违违背变量量先定义义后使用用的原则则。M脚下留心心:下面面这样书书写的代代码在CC和C+里是是合法的的: innt xx = 12; in

34、tt x = 996;x = x + 44;/ x运运算后的的结果为为1000 x = xx - 5;/x运运算后的的结果为为7,而而不是995。 在C和C+里面,上上面的两两个x相当于于定义了了两个变变量,第第二层大大括号里里面的代代码对xx的操作作,都是是对第二二个x的操作作,不会会影响到到第一个个x。第一一层大括括号里面面的代码码对x的操作作,都是是对第一一个x的操作作,跟第第二个xx没有任任何关系系。但这种做做法在JJavaa里是不不允许的的,因为为Javva的设设计者认认为这样样做使程程序产生生了混淆淆,编译器器会认为为变量xx已在第一一层大括括号中被被定义,不不能在第第二层大大括号

35、被被重复定定义。2.2.7 局局部变量量的初始始化在一个函函数或函函数里面面的代码码块中定定义的变变量称为为局部变变量,局局部变量量在函数数或代码码块被执执行时被被创建,在在函数或或代码块块结束时时被销毁毁。局部部变量在在进行取取值操作作前必须须被初始始化或进进行过赋赋值操作作,否则则会出现现编译错错误,如如下面的的代码:程序清单单:TeestVVar.javvapubllic claass TesstVaar pubblicc sttatiic vvoidd maain(Strringg arrgs) innt xx;/应改为为intt x=0; x=x+11; /这个xx由于没没有初始始化

36、,编编译会报报错。 Syysteem.oout.priintlln(x iis +x);2.3函函数与函函数的重重载2.3.1函数数假设我们们有一个个游戏程程序,在在程序运运行过程程中,我我们要不不断地发发射炮弹弹。发射炮炮弹的动动作都需需要使用用一段百百行左右右的程序序代码,我们在每次发射炮弹的地方都要重复加入这一段百行程序代码,程序会变得非常臃肿,程序的可读性也就非常差。假如我们要修改发射炮弹的程序代码,需要修改每个发射炮弹的地方,很可能就会发生遗漏。几乎所有的编程语言中都要碰到这个问题,各种编程语言都将发射炮弹的程序代码从原来的主程序中单独拿出来,做成一个子程序,并为这个子程序安排一个名

37、称,在主程序中需要使用到子程序的功能的每个地方,只要写上子程序的名称就行了,计算机便会去执行子程序中的程序代码,当子程序中的代码执行完后,计算机又会回到主程序中接着往下执行。在Java中,我们将这种子程序叫函数。我们来写写一个程程序来说说明函数数的作用用与编写写方式,程序在窗窗口上打打印出33个由*组成的的矩形,如如下图所所示。图2.33我们可以以用下面面的程序序来实现现:程序清单单:Fuunc11.jaavapubllic claass Funnc1pubblicc sttatiic vvoidd maain(Strringg arrgs)/下面面是打印印出第一一个矩形形的程序序代码foor

38、(iint i=00;i3;ii+)ffor(intt j=0;jj5;j+)Sysstemm.ouut.pprinnt(*);SSysttem.outt.prrinttln(); /换换行Syysteem.oout.priintlln();/下面是是打印出出第二个个矩形的的程序代代码foor(iint i=00;i2;ii+)ffor(intt j=0;jj4;j+)Sysstemm.ouut.pprinnt(*);SSysttem.outt.prrinttln();Syysteem.oout.priintlln();/下面面是打印印出第三三个矩形形的程序序代码foor(iint i=00;

39、i6;ii+)ffor(intt j=0;jj100;j+)Sysstemm.ouut.pprinnt(*);SSysttem.outt.prrinttln();Syysteem.oout.priintlln();看不懂上上面程序序中的ffor语语句的读读者,可可以先看看本章后后面关于于forr语句的的讲解,即即使你现现在不愿愿意去看看,也没没多大关关系,你你还是能能够发现现,上面面程序中中的每一一段打印印出矩形形的代码码,除了了宽度和和高度不不一样,其其他的地地方都一一样。我我们可以以把打印印出矩形形的代码码作为子子程序单单独从程程序中提提出来,并并用一个个“名称”来标记记这段代代码,以以后

40、再碰碰到要打打印矩形形时,直直接调用用这个“名称”就可以以了。这这样,我我们对打打印矩形形的程序序代码只只写了一一遍,而而不用重重复书写写那么多多次了。代码如如下:程序清单单:Fuunc22.jaavapubllic claass Funnc2 pubblicc sttatiic vvoidd drrawRRecttanggle(intt x,intt y)foor(iint i=00;ix;ii+)ffor(intt j=0;jjy;j+)Sysstemm.ouut.pprinnt( * );SSysttem.outt.prrinttln(); /换换行Syysteem.oout.priin

41、tlln();pubblicc sttatiic vvoidd maain(Strringg arrgs) drrawRRecttanggle(3,55);drrawRRecttanggle(2,44); drrawRRecttanggle(6,110);以上代码码中,我我们提出出的这段段代码就就是函数数体,用用来标记记这段代代码的“名称”(draawReectaanglle),就是是函数名名,函数数名和函函数体共共同组成成了函数数,在JJavaa中,我我们也称称之为方方法。这这个函数数需要接接受两个个整数类类型的参参数,一一个代表表矩形的的宽度,另另一个代代表这个个矩形的的高度。有时候候,函

42、数数还需要要返回一一个结果果,如果果我们要要编写一一个求解解矩形面面积的函函数,该该函数就就要返回回一个代代表面积积的结果果,函数数的返回回结果都都是有类类型的。所以一一个函数数的定义义必须由由三部分分组成,定定义一个个函数的的格式如如下:返回值类类型 函函数名(参参数类型型 形式式参数11,参数数类型 形式参参数2,.) 程序序代码retuurn返返回值;其中:形式参数数:在方方法被调调用时用用于接收收外部传传入的数数据的变变量。参数类型型:就是是该形式式参数的的数据类类型。返回值:方法在在执行完完毕后返返还给调调用它的的程序的的数据。返回值类类型:函函数要返返回的结结果的数数据类型型。实参:调调用函数数时实际际传给函函数形式式参数的的数据。如果一个个函数不不需要返返回值,我我们可以以省略最最后的rretuurn语语句。如如果你的的函数里里没有rretuurn 语句,则则编译时时系统会会自动在在函数的的最后添添加一个个“retturnn;”。$独家见解解:如何何理解函函数返回回值类型型为vooid的的情况,如如上面打打印矩形形的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理手册

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com