Java基础--day04
1、产生整数随机数
(1)Random:用于产生随机数的类。
• 使用步骤:1-导包 import java.util.Random; 2-创建对象 Random r = new Random(); 3-获取随机数 int number = r.nextInt(10);
• 产生的数据在0到10之间,包括0,不包括10。
• 括号里面的10是可以变化的,如果是100,就是0-100之间的数据
2、数组
(1)数组概述:数组是存储同一种数据类型多个元素的容器。即可以存储基本数据类型,也可以存储引用数据类型。
(2)数组定义格式:1、数据类型[] 数组名; 2、数据类型 数组名[]; 注意:数组中还没有元素。
(3)数组的初始化:Java数组必须初始化后才能使用,初始化数组就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。动态初始化只指定长度,由系统给出初始化值。静态初始化给出初始化值,由系统决定长度。
动态初始化:数据类型[] 数组名 = new 数据类型[数组长度]; //数组长度其实就是数组中元素的个数。
静态初始化:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3}; //简略书写:数据类型[] 数组名 = {元素1,元素2,元素3};
(4)数组的内存分配:Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。栈(存储局部变量)、堆(存储new出来的元素)、方法区、本地方法区、寄存器。
(5)数组元素的访问:数组中的每个元素都是有编号的,从0开始到数组长度-1,称为索引。格式:数组名[编号]; //数组名[索引];
(6)常见异常:
*
A
:
java.lang.ArrayIndexOutOfBoundsException
*
数组越界异常
*
产生的原因:就是你访问了不存在的索引元素。
*
B
:
java.lang.NullPointerException
*
空指针异常
*
产生的原因:数组已经不指向堆内存的数据了,你还使用数组名去访问元素。
(7)二维数组:其实就是一个元素为一维数组的数组。
定义格式:数据类型[][] 数组名;
初始化方式:
--数据类型[][] 变量名 = new 数据类型[m][n]; //动态初始化
--数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}}; //静态初始化
--简化版格式:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}}; //静态初始化