大数据开发笔记day06

大数据开发笔记day06

Java语言基础(主要是JavaSE部分)

今日所学的知识点:数组:Array

一.数组的定义
二.数组的内存结构
三.数组操作常见问题
四.数组操作常见练习

一.
1.数组的定义:
同一种类型数据的集合,可以是基本数据类型,也可以是引用数据类型
2.数组特点:
数组存储的都是相同数据类型的元素
数组的长度也就是数组中元素的个数
元素从0开始编号,编号也称“索引”:index(下标,角标)
数组中元素的访问方式是通过数组名+索引的方式
3.数组变量的定义:
int[] arr;
4.数组的初始化:两种格式(动态和静态)
动态初始化:数组的创建和元素的赋值分开进行
    格式:元素类型[] 数组名 = new 元素类型[数组长度];
            int[] arr = new int[3];
静态初始化:数组创建时就给数组元素赋值
 格式:元素类型[] 数组名 = new 元素类型[]{元素1,元素2,…};
        int[] arr = new int[]{6,8,9,0};
          静态初始化的简化写法
        int[] arr = {6,8,9,0};
5.数组遍历:依次访问每个元素
           访问的次数就是元素的个数
           访问次数的确定:length属性
***凡是方法后面都加(),属性后面是不加()。比如说:Math.random();  main(); 

二.
数组的内存结构:Java程序在运行时,为了提高运行效率,对JVM虚拟机的内存进行了不同区域的划分,主要有以下几种:
1.栈内存(stack):内存空间是按MB计算的,一般是8MB-10MB左右。用于存储局部变量,当数据使用完,所占空间会自动释放。
***存放在栈中的条件是:【1】在方法内;【2】基本数据类型
2.堆内存(heap):存放数组和对象,通过new建立的实例都存放在堆内存中。
每一个实例都有内存地址值
实例中的变量都有默认初始化值
当实例不再被使用,会在不确定的时间被垃圾回收器回收
3.方法区(method area):存放类文件和方法
三.
1.数组索引越界异常(ArrayIndexOutOfBoundsException)
        int[] arr = new int[5];
        System.out.println(arr[5]);
    原因:访问到了数组中的不存在的索引发生异常
2.空指针异常(NullPointerException)
        int[] arr = new int[5];
        arr = null;
        System.out.println(arr[0]);
    原因:arr引用没有指向数组,却在操作数组中的元素
四.
1.用键盘录入数组,获取数组的最值
2.获取指定元素第一次出现的索引
3.数组的复制:返回值类型是数组
4.合并两个数组

你可能感兴趣的:(大数据开发笔记day06)