JAVA Class3

学习内容:

1.数组

(1)一维数组:

声明方式:

int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;

int[] b = {1,2,3,4};

int[] c = new int[]{1,2,3};

遍历数组:

class Test 
{      int[] a = {1,2,3};
    public static void main(String[] args) 
    {    
                for(int i = 0;i<a.length;i++){
                    System.out.println(a[i]);
          }
        
          for(int each : a){ //增强型for循环,类似js的for in

              System.out.println(each);
           }

    }
}
    

(2)二维数组:

声明方式:

int[][] a = new int[2][2];
int[][] b = new int[2][];
int[][] c = {
    {1,2,3},
    {4,5},
    {7,8,9}
};

遍历数组:

class Test 
{      
        int[][] a = {
            {5,8,11},
            {1,23},
            {8,5,3}
        };
    public static void main(String[] args) 
    {
                for(int i = 0;i<a.length;i++){
            for(int j = 0;j<a[i].length;j++){
                System.out.println(a[i][j]);
            }
        }
    }
}           

求数组中数字的最大值:

class Test 
{    
    public static void main(String[] args) 
    {     
                int[] a = {1,2,3,4};
        int max = a[0];
                for(int i = 1;i<a.length;i++){
            if(a[i]>max){
                max = a[i];
            }
        }
        System.out.println("最大值:"+max);
    }
}

(3)数组异常:

class Test 
{    
        int[][] a = {
        {1,2,3},
        {4,5},
        {7,8,9}
    };
        int[] b = {1,2,3};
    public static void main(String[] args) 
    {
        System.out.println(f[1][2]); //数组下标越界异常
        b = null;
        System.out.println(b[0]); //空指针异常
    }
}

 2.传参:

(1)数值传参

class  Test
{    
    public static int Change(int c,int b){
        c=0;  //数值传递
        b=0;
    }
    public static void main(String[] args) 
    {
        int a = 2;
        int b = 3;
        System.out.println(a+","+b);
        Change(a,b);
        System.out.println(a+","+b);
        //数值未改变,因为a,b只是作为形参被传入方法内,
       //c=0,b=0只是把传进去的参数覆写为0而已,原始数据不会改变
    }
}
        

(2)引用传参

class  Test
{       public static int Change(int[] a){
        a[0]=0;  //引用传递
    }
    public static void main(String[] args) 
    {
        int[] t1={1,2,3};
        System.out.println(t1[0]+","+t1[1]);
        Change(t1);
        System.out.println(t1[0]+","+t1[1]);
        //数值改变,因为t1这个数组被当做参数传入了方法中,所以方法中改变的就是t1这个数组本身的数据。
    }
}
    

3.方法重载

方法名重复,形参的数据类型不同、个数不同以及传入顺序不同(三个条件满足一个即可视为方法重载),

另外方法重载和返回值有无、返回值数据类型无关。

JAVA会根据传入的形参的数据类型、个数以及传入顺序来选择调用的方法。

public static void test(int a,intb){
     System.out.print(a+b);
}
public static void test(double a){
     System.out.print(a);
}
public static void test(double a,int b){
     System.out.print(a+b);
}
public static void test(int a,double b){
     System.out.print(a+b);
}
原文地址:https://www.cnblogs.com/whwjava/p/8616349.html