java-数组(2)

数据的索引从0开始,到“数组长度-1”结束

如果访问数组元素的时候,索引编号并不存在,就会发生数组索引边界异常ArrayIndexOutOfBoundsException
package demo01;
/*
数据的索引从0开始,到“数组长度-1”结束

如果访问数组元素的时候,索引编号并不存在,就会发生数组索引边界异常ArrayIndexOutOfBoundsException

 */
public class demo10Array {
    public static void main(String[] args) {
        int[] ArrayA={10,20,30};
        //索引编号并不存在,会发生数据索引边界异常的报错
        System.out.println(ArrayA[5]);//ArrayIndexOutOfBoundsException

    }
}
所有的引用类型的变量,都可以赋值为一个null值,代表其中什么都没有

数组必须进行new创建初始化才能使用其中的元素
如果只是赋值了一个null,没有进行new创建,将发生空指针异常NullPointerException
package demo01;
/*
所有的引用类型的变量,都可以赋值为一个null值,代表其中什么都没有

数组必须进行new创建初始化才能使用其中的元素
如果只是赋值了一个null,没有进行new创建,将发生空指针异常NullPointerException
 */
public class demo11Array {
    public static void main(String[] args) {
        int[] ArrayA=null;
        //数组并未进行new创建
        System.out.println(ArrayA[5]);//NullPointerException

    }
}
如何获取数据长度,格式:
数组名称.length
结果将会得到一个int型数字,代表数组的长度
数组一旦创建,程序运行期间,长度不可以改变
package demo01;

import com.sun.prism.shader.Solid_ImagePattern_Loader;

import java.sql.SQLOutput;

/*
如何获取数据长度,格式:
    数组名称.length
    结果将会得到一个int型数字,代表数组的长度
    数组一旦创建,程序运行期间,长度不可以改变
*/
public class demo12ArrayLength {
    public static void main(String[] args) {
        int[] ArrayA=new int[3];
        int len=ArrayA.length;
        System.out.println(len);
        System.out.println(ArrayA);//[I@1540e19d

        ArrayA=new int[5];//重新创建了一个数组,数组的变量名称和上一个数组的相同
        int len1=ArrayA.length;
        System.out.println(len1);
        System.out.println(ArrayA);//因为是重新创建所以重新开辟了内存空间,内存地址哈希值会发生变化([I@1540e19d)
    }
} 

遍历数组,说的是对数组当中的每一个元素进行逐一、挨个处理,默认的处理方式是打印输出
package demo01;
/*
遍历数组,说的是对数组当中的每一个元素进行逐一、挨个处理,默认的处理方式是打印输出
*/
public class demo13ArratLength {
    public static void main(String[] args) {
        int[] ArrayA=new int[]{1,2,3,4,5,6,7,8,9,10};
        //获取数组的长度
        int len=ArrayA.length;
        //使用for循环,循环的次数就是数组的长度
        for(int i=0;i<len;i++){
            System.out.println(ArrayA[i]);
            }

        }
}
package demo01;

public class demo14Assay {
    public static void main(String[] args) {
        int[] ArrayA=new int[]{3000,3500,3001,4000,2000,8000,6000,1000};
        //输出数组中的最小值
        int max=ArrayA[0];
        for(int i=1;i<ArrayA.length;i++){
            if(ArrayA[i]>max){
                max=ArrayA[i];
            }
        }
        System.out.println("最大值是"+max);

        //输出数组中的最小值
        int min=ArrayA[0];
        for(int i=1;i<ArrayA.length;i++){
            if(ArrayA[i]<min){
                min=ArrayA[i];
            }
        }
        System.out.println("最大值是"+min);
    }
}

package demo01;
//题目:将数组中元素的顺序反转
public class demo15 {
    public static void main(String[] args) {
        int[] ArrayA={9,8,7,6,5,4,3,2,1,0};
        //利用临时变量交换数据
        for(int min=0,max=ArrayA.length-1;min<max;min++,max--){
            int temp=ArrayA[min];
            ArrayA[min]=ArrayA[max];
            ArrayA[max]=temp;
        }
        //遍历数组
        for(int i=0;i<=ArrayA.length-1;i++){
            System.out.println(ArrayA[i]);
        }

    }
}
package demo01;
//数组方法的传递
//调用数组方法时,传递的参数实际上是数组的内存地址的哈希值
public class demo16 {
    public static void main(String[] args) {
        //调用printArray方法
        int[] ArrayA={10,20,30,40,50};
        printArray(ArrayA);//调用时,传递的参数实际上是数组的内存地址的哈希值

    }

    //定义方法
    public static void printArray(int[] ArrayA){
        for(int i=0;i<ArrayA.length;i++){
            System.out.println(ArrayA[i]);
        }
    }
}
package demo01;
/*
一个方法可以有0或1或多个参数,但是只能有0或1个返回值
如果想有多个返回值,可以将多个返回值以一个数组的形式返回

数组作为方法的参数,传递进去的是数组的内存地址的哈希值
数组作为方法返回值,返回的也是数组的内存地址的哈希值
 */
public class demo17 {
    public static void main(String[] args) {
        int[] suanfa={10,20,30};
        System.out.println(suanfa[0]);
    }

    public static int[] suanfa(int a,int b,int c){
        int sum=a+b+c;
        int avg=sum/3;
        int[] ArrayA={sum,avg};
        return ArrayA;
    }
}
原文地址:https://www.cnblogs.com/jingdenghuakai/p/12347363.html