//数组b的第一行只包含一个元素,b[0].length=1
//第二行包含两个元素,b[1].length=2//第三行包含三个元素,b[2].length=3
河北软件职业技术
数组和方法
二维数组元素的引用格式:数组名[行下标][列下标]例3.5二维数组的使用。intb[][]={{11},{21,22},{31,32,33}};for(inti=0;i
河北软件职业技术数组和方法
行、列下标不能越界。
数组的赋值
在Java语言中,由于数组是一个对象,所以不能用赋值运算符来拷贝一个数组。通过特殊的通用方法arraycopy()来实现。它是System类中的静态方法。arraycopy()方法的格式为:publicstaticvoidarraycopy(src,src_pos,dst,dst_pos,count);其中,src表示源数组名;dst表示目的数组名;src_pos为整型,表示源数组的起始下标值;dst_pos为整型,表示目的数组的起始下标值;count为整型,表示要拷贝的数组元素的个数。
河北软件职业技术数组和方法
arraycopy()功能:把源数组src中从下标值src_pos开始的元素复制到从下标值dst_pos开始的目的数组dst中,复制的元素个数为count。例3.6System.arraycopy()方法的使用。(CopyArray)intx[]={78,89,92,76,95,87};inty[]={0,0,0,0};System.arraycopy(x,0,y,0,y.length);
河北软件职业技术
数组和方法
Java语言的方法和方法重载3.2Java语言的方法和方法重载
方法定义和使用的进一步说明
方法是动作发生的地方,方法定义了可以在对象上进行的操作。(1)数组作为方法的参数和返回值类型传例3.7在Java语言中方法间参数的传递通常有两种方法:传数组作为方法的参数和返回值。(ArraySort2)递数值和传递地址递数值传递地址生成数组方法:staticint[]creatIntArray(intn);打印数组元素:staticvoidprintIntArray(intintArray[])把实参的值赋值给方法定义中的行参。对行参的改引用数据类型作为参数进行传递时,参数的求各元素的和:staticintfindSum(intintArray[])变并不影响实参。这时,实参和行参分别占用了不值就是对象的引用。此时,实参将自己的地同的内存空间。(基本数据类型作为参数进行传递求最大值:staticintfindMax(intintArray[])址传送给行参,即行参执行实参的地址。因时,是传值传递)此对行参的改变会影响实参。按升序排序:staticvoidbubbleSort(intintArray[])
河北软件职业技术
数组和方法
(2)类对象作为方法的参数和返回值类型类对象作为方法的参数时,在方法体中访问对象的变量、调用对象方法的格式:对象名.变量名对象名.方法名()例3.8编写小程序,求1!+2!+……+20!,要求把1!,2!,……的结果放到一个数组中,并按每行3各显示该数组的各个元素。(FindFactSum)注意:自定义函数mypaint()。注意:自定义函数。例3.9编写一个小程序,使用Student类对象作方法参数。注意:方法publicvoidinceaseScore(Studentstud);
河北软件职业技术数组和方法
(3)方法的嵌套调用方法中不能再定义其它方法,但方法中可以调用类自身的其它方法或别的类的方法。例3.10编写程序,求Fibonacci数列的前n项。Fibonacci数列定义:fib(0)=fib(1)=1;fib(n)=fib(n-1)+fib(n-2);main()方法调用fibArray()方法fibArray()方法fib()方法
多次调用fib()方法
河北软件职业技术
数组和方法
(4)方法的递归调用如果一个方法定义中直接或间接调用它本身,就是方法的递归调用。递归体:递归的方式递归方法一般由两部分组成:递归出口:递归终止的条件例:求fibonacci数列的第n项fib(4)
longfib(intn)fib(2)fib(3){if(n==0||n==1)return1;fib(0)fib(1)fib(1)fib(2)elsereturnfib(n-1)+fib(n-2);}fib(0)fib(1)
河北软件职业技术数组和方法
main()方法
Java应用程序中,必须有一个类(而且只能有一个类)定义一个main()方法,当一个源程序文件中包含一个或多个类时,程序文件名一定要与包含那main()方法的类名相同。main()方法的格式:publicstaticvoidmain(Stringargs[]){语句序列;}main()方法不需要在程序中显示调用,而是通过Java虚拟机自动调用。Java应用程序运行时,它是Java程序执行的入口,系统自动执行该方法中的语句序列。