本文共 1660 字,大约阅读时间需要 5 分钟。
****1.Random:用于产生随机数的类; 使用步骤: 1.创建Random对象 Random r = new Random(); 2.产生随机数 int num = r.nextInt(m); m:代表的是随机数的范围; [0,m)//包左不包右 如何产生负数: 1.在产生随机数的步骤时,不传参数;随机生成一个int范围内的数;(包含负数) 2.int num = - r.nextInt(m); 范围:-[0,m) 创建对象时传入一颗种子: Random r = new Random(long seed); seed:代表的是种子,随机生成一次随机数; ***2.一维数组:一包烟 定义格式: 动态初始化:由编程者给与数组的长度,由系统自动生成初始化值; 数据类型[] 数组名 = new 数据类型[元素个数]; 静态初始化:由编程者给与数组的每一个元素的值,由系统自动计算数组的长度; 数据类型[] 数组名 = {元素1,元素2,元素3....}; 数组的特点: 1.数组一旦被定义,长度不可以改变; 2.数组中存储的元素类型必须一致; 3.数组可以存储基本数据类型和引用数据类型; 数组的属性: length(长度属性) int 数组长度 = 数组名.length; 访问数组的元素: 数组名称[索引]; 给数组的元素赋值: 数组名称[索引] = 初始化值; 数组的索引: 数组的索引从0开始到数组的长度-1; 数组的遍历: //利用for循环遍历 int[] arr = {1,2,3,4,5}; for(int i = 0;i < arr.length;i++){ System.out.println(arr[i]); } 3.二维数组:(一条烟) 了解 概念:存储了元素为一维数组的数组就是二维数组; 定义格式: 动态初始化: 数据类型[][] 数组名 = new 数据类型[m][n]; m:二维数组中一维数组的个数 n:二维数组中一维数组的元素个数 静态初始化: 数据类型[][] 数组名 = { {元素1,元素2,元素3...},{元素1,元素2,元素3...},{元素1,元素2,元素3...}....}; //直接输出二维数组的名字得到的是二维数组在内存中的地址值 //输出二维数组名[索引]得到的是二维数组中该索引位置上的一维数组的地址值 //输出二维数组名[索引][索引]得到的是二维数组中该索引位置上的一维数组对应的索引编号元素; 二维数组的遍历: //获取二维数组中一维数组的个数:二维数组名.length for(int i = 0;i < arr.length;i++){ //获取二维数组中一维数组的元素个数:二维数组名[索引].length for(int j = 0;j < arr[i].length;j++){ //获得所有的元素 System.out.println(arr[i][j]); } } ****4.数组常见的异常: 1.java.util.ArrayIndexOutOfBoundsException:索引越界异常; 出现的原因:访问了不存在的索引元素; 解决办法:不妨问不存在的索引元素; 2.java.util.NullPointerException:空指针异常; 出现的原因:使用了值为null的对象调用了方法或者属性; 解决办法(debug模式):找到为null的对象.处理该对象; *5.Java中的内存分配: 组成: 栈内存:用来存放局部变量(看到方法的执行流程) 堆内存:用来存放new出来的东西; 方法区:用来存放字节码文件(.class),常量池; 本地方法区:存放系统相关的方法; 寄存器:和CPU有关; 栈内存存储的数据的特点: 1.先进后出(压栈的效果)==>弹夹 2.栈内存的数据在使用完毕后立即回收; 堆内存存储的数据的特点: 1.用来存放new出来的东西; 2.堆内存的数据在使用完毕后等垃圾回收机制空闲的时候回收;转载地址:http://zalti.baihongyu.com/