第四章     数组与方法

方法

方法可以简化程序,节省编写代码的时间,在c语言中叫函数,我面前面也接触过main();这是我们程序的入口,必须使用的方法。

方法的声明

返回值类型 方法名称(类型 参数 1,类型 参数 2,…)

{

程序语句

return 表达式;

}

如果方法没有返回值,则 return 语句可以省略。

实例:先输出20*,在输出I LOVE YOU,在输出20*

public class java44

{

 public static void main(String []args)

  {

   star();

   System.out.println(" I LOVE YOU ");

   star();

  }

 public static void star()

  {

   for(int i=0;i<20;i++)

     System.out.print("*");

    System.out.println();

  }

}

star()方法并没有任何返回值,所以 star()方法前面加上了一个 void 关键字。此外,因为 star()没有传递任何的参数,所以star()方法的括号内保留空白即可。

方法的参数和返回值

如果方法有返回值,则在声明方法之前就必须指定返回值的数据类型。相同的,如果有参数要传递到方法内,则在方法的括号内必须填上该参数及其类型。

实例:给star一个值,输出2倍这个值的星星

public class java45

{

 public static void main(String [] args)

  {

   int num;

   num=star(10);

   System.out.println(num+"stars printed");

  }

 

 public static int star(int n)

  {

   for (int i=1;i<=2*n;i++)

     System.out.print("*");

   System.out.println();

   return 2*n;

  }

}

将数组传递到方法中

方法不只可以用来传递一般的变量,也可用来传递数组。

一维数组的传递

要传递一维数组到访法里,只要指明传入的参数是一个数组即可。

public class java46

{

 public static void main(String [] args)

  {

   int sz[]={22,34,12,35,78};

   System.out.println("shu zu de shu zhi shi : ");

   sf(sz);

  }

 public static void sf(int arr[])

  {

  for (int i=0;i<arr.length;i++)

    {

     System.out.print(+arr[i]);

     System.out.print(" ");

    }

  }

}

二维数组的传递和一维数组的方法一样。

返回数组的方法

如果方法返回整数,则必须在声明时在方法的前面加上int 关键字。相反的如果返回的是一维的整型数组, 则必须在方法的前面加上 int[] 若是返回二维的整型数组,则加上int[][],以此类推。

public class java47

{

 public static void main(String [] args)

  {

   int a[]={90,20,33,23,24,30},b[]={30,29,44,234,423,23};

   int max,max2;

   max=m(a);

   max2=m(b);

   System.out.println("a shu zu de zui da zhi : "+max);

   System.out.println("b shu zu de zui da zhi : "+max2);

  }

 public static int m(int arr[])

  {

   int max=arr[0];

   for(int i=0;i<arr.length;i++)

     {

       if ( max<arr[i] )

         max=arr[i];

     }

     return max;

  }

}

这个实例不好理解,但是很有帮助,希望大家能明白