数组,多维数组

1.数组

变量:存储数据

数组:存储多个数据

数组:

  •         一段连续的内存空间
  •         多个相同数据类型的有序集合

特点:

  •         引用数据类型
  •         是定长的,长度一旦确定不可改变
  •         存储的多个数据类型相同
  •         有序的,有索引

索引:连续的内存空间每一个小空间的符号

  •         从0开始,每次加一
  •         每个数组的第一个空间索引:0
  •         每个数组的最后一个空间索引:数组名.length-1

操作数组中的数据:

  •         根据索引操作
  •         数组名[索引]

数组的定义语法:

        声明:

                数据类型[] 数组名

数据类型:根据存储的数据的类型

初始化:第一次赋值

        动态初始化:先创建数组,后附值

                数据类型[] 数据名 = new 数据类型[长度]        

                数组只创建不赋值,只附默认值 

        静态初始化:创建数组同时赋值

                数据类型[] 数据名 = new 数据类型[]{};        

遍历:

        普通for循环

        增强for循环

二维数组:

        数组中数组

                动态初始化:

                静态初始化:

                        数据类型[][]  数组名 = new 数据类型[][]{{},{}};

                         数据类型[][]  数组名 = {{},{}};

                        数据类型[] 数组名[] = new 数据类型[][]{{},{}};

2.异常             

异常体系:

        Throwable

        /                \

Error                 Exception

                           /            \

     RuntimeException       CheckedException

Error:  错误,一般是由虚拟机生成脱出的,不由程序猿控制

Exception:异常

        RuntimeException 运行时异常:发生在程序运行期间,一旦遇到下面代码无法执行,可以通过简单的增强程序的健壮性的代码处理   ->(if)

        CheckedException 编译时异常|检查时异常,发生在程序编译时异常不处理,程序无法运行。

        常见的运行时异常:NullPointerException  空指针异常

                                        ClassCastException   类型转换异常

                                        NegativeArraySizeException   数组长度负数异常

                                        ArrayIndexOutOfBoundsException  数组索引越界

                                        ArithmeticException    数字异常

        运行时异常都会直接或简洁的继承自RuntimeException

       编译时异常:

                在编译时就出现的异常,就必须要解决

        异常处理方案:

                所有的异常都可以通过异常处理方案处理

                        编译时异常只能通过异常处理方案

                        运行时异常可以通过简单增强程序健壮性代码解决,也可以通过异常处理方案

                异常抛出:throws

                        抛出到方法上:谁调用谁处理

                异常的捕获: 捕获异常,提供异常的代码  alt + enter        alt CTRL+ t

                try{

                有可能出现的异常的代码;

                }catch(异常类型A e){

                        遇到当前类形的异常对应的异常处理代码

                }finally{

                       一定会执行的代码 

               }

                注意:

                        try中一旦遇到异常,try中的代码无法继续执行,直接判断能被哪一个catch捕获,

                                从上到下判断,如果所有的catch都不能捕获,程序直接结束,这个异常没有处理。

                        try中如果执行没有遇到异常,就不会判断catch的捕获

                        一个try后面可以跟1-n个catch

                        大范围类型的catch捕获放在后面,小返回的放前面

                        finally的代码无论try中是否出现异常 一定会执行会finally(做资源的关闭)

        自定义异常:

                自定义异常必须直接或者简洁的继承自Exception

                运行时异常必须直接或间接的继承RuntimeException

                throw制造异常

        对于编译型异常和运行时异常:关系编译型是异常是在编译时就会报错的,我们需要认为的处理或是抛给上一层处理(谁调用谁处理),但运行时异常,只有在运行时才又可能会出错,我们可以捕获异常或者是增强程序健壮性(让代码运行时不会出错或是给出解决方案)。

        3.判断是否为三角形

public class ExceptionText {
    public static void main(String[] args) {
        triangle(-1,3,5);
    }
    static void triangle(int a,int b,int c){
        int[] arr = {a, b, c};
        for (int num:arr){
            if (num<=0){
                throw new IllegalArgumentException("老哥咱就不能输入大一点的数");
            }
        }
        Arrays.sort(arr);
        if (arr[0]+arr[1]<=arr[2]){
            throw new IllegalArgumentException("a,b,c不能构成三角形");
        }
        System.out.println("a,b,c能构成三角形");
    }
}
class NumberException extends RuntimeException{
    public NumberException(String message) {
        super(message);
    }

    public NumberException() {
    }
}

4.可变参数

可变参数:就是参数的个数可以变化

                注意:

                        变量接收是数组

                        如果参数是多个,可变参数在最后面且只能存在一个可变参数

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值