• 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;
        }
    }
  • 相关阅读:
    dedecms 织梦本地调试 后台反映非常慢的处理办法
    phpcms前端模板目录与文件结构分析图【templates】
    phpcms 思维导图
    Linux下文件的复制、移动与删除
    动态加载dll中的函数
    ava中关于String的split(String regex, int limit) 方法
    java.io.File中的 pathSeparator 与separator 的区别
    如何删除输入法记忆的词汇
    zip4j -- Java处理zip压缩文件的完整解决方案
    file.separator 和 / 区别
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/12347363.html
Copyright © 2020-2023  润新知