javazi定义函数 java自定义函数返回数组_javazi定义函数

javazi定义函数 java自定义函数返回数组_赋值_02

定义函数的格式    修饰符  返回值类型  函数名  (参数类型  形式参数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  函数重载

javazi定义函数 java自定义函数返回数组_javazi定义函数_03

 

//需求 根据用户给出的一个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); 
    } }

 

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

数组

javazi定义函数 java自定义函数返回数组_数组_04

 

数组  常见问题   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); 
    }