java 第四天笔记

来源:互联网 发布:c语言中的assert 编辑:程序博客网 时间:2024/06/06 19:54
Random

Random:用于产生随机数

使用步骤:
    A:导包
        import java.util.Random;
    B:创建对象
        Random r=new Random();
    C:获取随机数    
        int number =r.nextInt(10);//r.nextInt(51)+50  :50到一百;
                          括号里的是范围(从0开始),后面的数字是移动的位数
        获取随机数范围(0,10)包括0,不包括10;



数组:存储同样的数据类型的多个元素的容器

定义类型:
    A:数据类型[] 数组名;
    B:数据类型 数组名[];
    
    举例
        int[] arr;定义了一个int类型的数组,数组名是arr    
        int arr[];定义了一个int类型的变量,变量名是arr
        
    初始化
        A:动态初始化:只给出长度,由系统给出初始值
        默认值,int为0,Boolean为false,String为null

        B:静态初始化:输出初始化值,由系统决定长度
        
其实数组的每个元素都是有编号的,编号从0开始,最大的是数组的长度-1;
访问格式是:数组名[索引]

动态初始化:
    数据类型[] 数组名=new 数据类型[数组长度];
    new:为数组申请内存分配,开辟空间
        
静态初始化:
    数据类型[] 数组名=new 数据类型[]{值}
    数据类型[] 数组名={值}
错误:int[] arr= new int[5]{};这是错误的

------------------------------------------------

栈:
    存储的是局部变量;
    局部变量就是定义在方法中的变量
堆:
    存储的是new出来的东西,实体,对象
    A:每一个对象都有地址值
    B:每一个对象的数据都有 默认值
    byte,short,int,long  0
    float,double 0.0
    char "\\u000"
    boolean false
    引用类型 null


两个常见的小问题:
        ArrayIndexOutOfBoundsException:数组索引越界
        
        NullPointerException:空指针异常;
            产生原因:数组已经不存在,不再指向堆内存,


null 只能赋值给应用数据类型;


二维数组:其实就是元素为一维数组的数组.

定义格式:
    A:数据类型[][] 数组名;
    B:数据类型 数组名[][];
    C:数据类型[]数组名[];

初始化
    A:动态初始化
        数据类型[][] 数组名=new 数据类型[m][n];
        m表示的是二维数组中一维数组的个数
        n表示的是一维数组的元素个数
    B:静态初始化
        数据类型[][] 数组名=new 数据类型[][]{{}};
        简化:数据类型[][] 数组名={{},{},{}};

重点:arr[1].length  表示第二个一维数组中元素的个数
原创粉丝点击