• 数组异常-空指针异常、二维数组、方法


    数组异常-空指针异常

    在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,

    则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常

         int [] arr = new int[4];
            System.out.println(arr[0]);
            arr = null;
            System.out.println(arr[0]);//空指针异常

    /*D:workspase20180914>javac DEMO1.java D:workspase20180914>java DEMO1 0 Exception in thread "main" java.lang.NullPointerException at DEMO1.main(DEMO1.java:8) */

    二维数组:

    三种定义方式:

    第一种:
    int[][] arr = new int[3][4];
    第二种:
    int[][] arr = new int[3][];(了解即可)
    第三种:

    int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

    二维数组的访问:

        /*int[][] arrt = new int[3][4];
    System.out.println(arrt[0][1]);//0
    System.out.println(arrt[1]);//地址
    System.out.println(arrt);//地址
    */

    二维数组的内存图:

    二维数组的遍历:

    循环嵌套

    for(int i=0;i<arr.length;i++){
      for(int j=0;j<arr[i].length;j++){
          arr[i][j];
      }
    };

    举个例子:(累加求和)

    int[][] arrt = {{1,2,3},{2,2,3},{2222,1}};
            System.out.println(arrt[0][1]);
            System.out.println(arrt[2][1]);
            System.out.println(arrt[1][1]);
            //遍历二维数组
            int sum1 = 0;
            int sum2 = 0;
            for(int i = 0;i < arrt.length;i++){
                for(int j = 0;j < arrt[i].length;j++){
                    sum1 = sum1 + arrt[i][j];
                }
                sum2 = sum2 + sum1;
                //分组和
                System.out.println(sum1);
                //清零
                sum1 = 0;
            }
            //总和
            System.out.println(sum2);

     方法:

    在Java中,声明一个方法的具体语法格式如下:
    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
    执行语句
    ………
    return 返回值;
    }
    对于上面的语法格式中具体说明如下:
    ⦁ 修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍public
    ⦁ 返回值类型:用于限定方法返回值的数据类型void
    ⦁ 参数类型:用于限定调用方法时传入参数的数据类型
    ⦁ 参数名:是一个变量,用于接收调用方法时传入的数据
    ⦁ return关键字:用于结束方法以及返回方法指定类型的值(1,结束 2.返回方法指定类型的值给调用者)
    ⦁ 返回值:被return语句返回的值,该值会返回给调用者


    需要特别注意的是,方法中的“参数类型 参数名1,参数类型 参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。

     举个例子:

    class DEMO2 
    {
        public static void main(String[] args) 
        {
            double a = getArea(2);//(2)实参
            System.out.println(a);
            int b = 2;
            getChang(b,3);//(b,3)实参:变量,常量都行;
            /*D:workspase20180914>javac DEMO2.java
            D:workspase20180914>java DEMO2
            12.566370614359172
            长方形的面积为:6*/
        }
        //求圆的面积
        public static double getArea(double r){//(double r)为形参
            double area = r*r*Math.PI;
            //因为返回值为double,需要写return;
            return area;
        } 
        //求长方形的面积
        public static void getChang(int a,int b){//(int a,int b)为形参
            int area = a*b;
            System.out.println("长方形的面积为:"+area);//因为返回值是void,不能写return;
        }
    }

    内存图解:

     

  • 相关阅读:
    电脑与欧姆龙plc通过网络通信
    photometric_stereo halcon光度立体法三维表面重建
    WPF实现放大镜
    备忘
    Halcon模板匹配
    C# Halcon联合编程问题(二)
    C# Halcon混合编程中遇到的问题(一)
    各个平台的解释
    python数据结构的性能测试
    docker container里面为什么不用装OS
  • 原文地址:https://www.cnblogs.com/scw123/p/9647616.html
Copyright © 2020-2023  润新知