JAVA 蹒跚自学之 第六日 函数 数组

005

006

定义函数的格式    修饰符  返回值类型  函数名  (参数类型  形式参数1,参数类型  形式参数2,………………………….)

(代码块

     return

 

如何定义一个函数  1  明确要定义的函数的返回值类型   2   明确 要定义的函数的参数列表 3  明确要定义函数的功能,不该函数完成的功能不要加到函数里面,切记,切记。

 

  例如 1 定义一个函数 完成两个数的求和

           public  static  int  getsum(int a ,int b)

                                  {

                                          return  a+b;

                                    }

          2   将2个整数的和 打印到控制台

public  static  int  getsum(int a ,int b)

                                  {

                                          return  a+b;

                                    }

 

 

System.out.println(getsum(8,4));

 

而不应该写成

 

public  static  void  getsum(int a ,int b)

                                  {

                                          System.out.println(a+b);

                                             return;

                                    }

函数只要完成她自己的功能就可以了,不可以把 ,调用函数者要做的事情,也加到函数中去。

 

overload  函数重载

007

 

//需求 根据用户给出的一个1-9之间的数  打印出99乘法表
//思路:1 完成99乘法表的功能函数
       // 2 定义一个带有用户制定的数的重载函数
class OverLoadDemo
{
    public static void show99(int w)
    {
        for (byte x=1;x<=w ;x++ )
        {
            for (byte y =1;y<=x ;y++ )
            {
                System.out.print(y+"*"+x +"="+y*x+"\t");
            }
            System.out.println();
        }
    }

    public static void show99()
    {
        /*for (byte x=1;x<=9 ;x++ )
        {
            for (byte y =1;y<=x ;y++ )
            {
                System.out.print(y+"*"+x +"="+y*x+"\t");
            }
            System.out.println();
        }
        */

        show99(9);
    }
    public static void main(String[] args)
    {
        show99(3);
    }

}

 

函数的重载就是为了提高代码的复用性,提高效率

数组

008

 

数组  常见问题   1   角标越界    2  空指针 

                       int [] arr = new int[]{3,1,55}

                                   System.out.print(arr[8]);

 

                                     ArrayIndexOfBoundsException

 

                   arr = null;

                                   System.out.print(arr[1]);

                                     NullPointerException

 

数组操作一  遍历一个数组

class ArrayDemo
{
    // 定义一个函数 功能是遍历一个数组 并将数组元素打印到控制台上
    public static void show(int[] arr)
    {
        System.out.print("[");
        for (int x=0;x<arr.length ;x++ )  //.length-1  就是数组元素的最后一个元素的角标
        {
            if (x!=arr.length-1)         
                System.out.print(arr[x]+","); //如果角标不是数组里面的最后一个角标 就打印这个
            else
                System.out.print(arr[x]+"]");  //如果是最后一个角标就打印这个
        }
        System.out.println();//整个数组的元素完全输出后就换行
    }
    public static void main(String[] args)
    {
        int[] arr =new int[]{20,63,8,4,55,99};// 静态定义一个 int类型的数组  并赋值
          show(arr); //调用遍历数组元素的函数
    }
}

                                               数组操作二   找出一个数组里面的最大值

 

 

分析:定义一个变量 存储数组里面的第一个元素的值,然后分别与其他元素的值对比,将大的元素的值存放在这个变量中,然后输出此变量的值 就是这个数组里面最大的那个值。

 

步骤:  1 定义一个变量 ,并存储数组的第一个元素的值

              int  m =arr[0]

            2 分别将这个值与数组中其他元素的值做比较,将大的值存储在这个变量中。

代码:  

       public static int getMax(int[] arr)
    {          
           int m =arr[0];  // 定义一个变量 存储数组的第一个元素的值
           for (int w=1;w<arr.length ;w++ )  //  利用for的循环 来实现数组里面的元素的值分别与变量里面的值做比较
           {
               if (m<arr[w])  //将 变量里面的值与数组里面的值比较,并将大的值存储在变量里面
               {
                   m=arr[w];
               }
           }
             return m; //向函数返回这个存储最大值的变量

       }
    public static void main(String[] args)
    {
        int[] arr =new int[]{20,63,8,4,55,99};// 静态定义一个 int类型的数组  并赋值
          //show(arr); //调用遍历数组元素的函数
          int n = getMax(arr);   // 调用 能找出一个数组里面最大值的函数 并用一个变量接收
          System.out.println(n);
    }

              

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2015-05-22 21:20  天上书生  阅读(156)  评论(0编辑  收藏  举报