1.一维数组
1>静态初始化:数据类型[ ] 变量名 = {元素} 例:int[ ] arr = {1,2}
动态初始化:数据类型[ ] 变量名 = new数据类型[数据长度]
例:int[ ] arr = new int[2]
还有一种形式是:int[ ] arr = new int[2] {1,2} (不用,知道即可)
(数组的长度在初始化之后是固定不变的)
2>访问数组元素时可以使用索引进行访问,这时可以使用for循环来读取
例如:arr[0]就表示访问数组的第一个元素;
最常用的取元素方式:for(int i = 0;i<数组的长度;i++){取元素}
此处最常见的异常有:
数组越界异常(IndexOutOfBoundsException):我们写的索引,超过了数组的索引
空指针异常(NullPointerException):数组直接null(没有值)
3>Java中的内存分配
只需要知道内存中有两种叫做栈和堆的内存空间
栈:存储局部变量(写在方法中,条件语句中等),
特点是使用完毕后,立即回收。
堆:存储new出来的东西
特点是使用完成后等待JVM(java虚拟机)中的GC(垃圾回收)机制进行回收。
(只需记住)
(不能直接使用arr,直接读取会得到此数组对应的地址值)
4>数组内存图解
(亲自动手画画,加深记忆力)
5>练习两道题加强了对数组的运用,
例1.依次输出数组中的每一个元素,并获取长度值。
例2.取得数组中的最大值。
2.二维数组
1>格式定义:
1.数据类型[][] 数组名 = new 数据类型[m][n]
m代表的是二维数组中有多少个一维数组
n每一个一维数组中有多少个元素
2.数据类型[][] 数组名 = new 数据类型[][]{{},{},{}}
3. 数据类型[][] 数组名 = {{},{},{}})
(后面两个知道即可)
取得二维数组中的每一个元素方法:遍历,双重for循环
最外面的for遍历的是每一个一维数组
内层for遍历的是每个一维数组中的元素
(二维数组可以理解为一个班级对应一堆学生)
2> 注意事项
我们定义数组的时候一旦确定具体的数据类型,我们的元素就必须是这个数据类型的
数组的缺点,长度固定
(要牢记)
3.Random类
一个很好玩的类,里面有可以获取随机数的方法。
1>数据类型:引用数据类型(就是需要new)
2>使用方式
1.导包
import java.util
2.创建对象
Random 对象名 = new Random()
3.调用方法
注意:调用方法的时候,要确定随机的范围
例:随机0-9中的数字 nextInt(10),其中包含头,不包含尾
(在初始化的时候,是空参数,nextInt()在不写参数时会从232中取值,random的方法就目前本人理解局限性很大,比如无法随机无重复字符串等,因此只需了解即可,后面使用的比如,UUID方法等都有更加完善的效果)
3>练习,猜数字小游戏(随机产生1-100的数,请猜猜是多少)