Day1:(1)Random:用于产生随机数步骤
:1:导包import java.util.Random;
2:创建对象:Random r = new Random();
3:获取随机数:int number = r.nextInt(10);
10表示获取随机数范围【0,10)Random r = new Random();
int numberr = r.nextInt(10);System.out.printIn("number:"+number);
(2)如果要1~10之间的数,则 int numberr = r.nextInt(10) + 1;
如果想要多次循坏,在定义变量下面加while(ture){ 循环体;break;}
(3)数组:存储多个变量。
定义格式:1:数据类型[] 数组名;
2:数据类型 数据名[];
(4)数组初始化
1:动态初始化:只给长度,系统给初始化值
2:静态初始化:只给初始化值,长度由系统决定1: int [] arr = new int[3];
new:为数组申请内存分配,开辟数组。
【3】:数据个数。
(5)[I@104c575 :地址值。地址值无意义。最大编号是数组的长度-1数组名和编号(索引)配合使用获取元素值
访问格式:数组名[索引]
System.out.printIn(arr[0]);......
(6)内存分配:栈(存储局部变量)
堆(存储new出来的东西)
方法区(面向对象进阶)
本地方法区(和系统相关)
寄存器(给CPU使用)
局部变量:定义在方法中的变量 堆:实体,对象 使用完毕,立即回收
每一个对象都有地址值
每一个对象的数据都有默认值 byte,short,int,long 0 float,duble 0.0 char'\u0000' boolean false
引用类型 null
使用完毕后,会在垃圾回收器空闲的时候被回收
Day 2:
(7)赋值:
定义数组: int[] arr = new int[3];
输出数组名及元素:System.out.printIn(arr);
System.out.printIn(arr[0]); System.out.printIn(arr[1]);
System.out.printIn(arr[2]);
给数组中的元素赋值arr[0]=100;arr[2]=200;
再次输出数组名和元素System.out.printIn(arr);
System.out.printIn(arr[0]); System.out.printIn(arr[1]);
System.out.printIn(arr[2]);
(8) 定义两个数组分别给数组中的元素赋值分别再次输出数组名及元素步骤同(7)
(9)两个数组指向同一个地址定义一个数组int[] arr = new int[3]
赋值
arr[0] = 100;
arr[1] = 100;
arr[2] = 100;
输出在定义第二个数组,把第一个数组的地址值赋值给第二个数组
int[] arr2 = arr;
给第二个数组赋值arr2[0] = 111;
arr2[1] = 222;
arr2[2] = 333;
输出;
(10) 静态初始化静态初始化格式:
数据类型[] 数据名 = new 数据类型[]{元素1,元素2,元素3...};
例: int[] arr = new int[]{1,2,3};
简化格式:数据类型[] 数组名 = {元素1,元素2,
元素3,...};
例:int[] arr = {1,2,3};
(11)常见问题:ArrayIndexOutOfBoundsException:数组索引越界异常
产生原因:访问了不存在的索引
引用类型:类 接口 数组
常量:空常量 null 是可以赋值给引用类型的NullPointerExpection:空指针异常
产生原因:数组已经不再指向堆内的数据,还使用数组名访问元素。
(12)定义数组最简单的方法是静态初始化通过
for循环获取数据int[] arr = {1,2,3,4};
for(int x=0; x<5;x==)
System.out.printIn(arr[x]);
为了方便数数组中的个数,数组提供了一个属性:length用于获取元素个数
格式:数组名.length
System.out.printIn("数组共有"+arr.length+"个");
for(int x=0; x<arr.length;x==){ System.out.printIn(arr[x]); }
(13)数组获取最值(数组中的最大值最小值)用组内一个元素做参照物让剩下所有元素与参照物比较
如果符合条件(大||小)就留下当全部元素比较完毕,
留下来的元素就是(最大||最小)int[] arr = {4,8,6,3,7};
int max = arr[0];
for(int x=1;x<arr;x++)
{if(arr[x]>max){max=arr[x];}
}
System.out.printIn("max:"+max);
(14)二维数组元素为一位数组的数组定义格式:1:数据类型[][] 数组名;(推荐方式)
2:数据类型 数组名[][];
3:数据类型[] 数组名[];
初始化A:动态:数据类型[][] 数组名 = new 数据类型[m][n];
m:表示二维数组中一维数组个数
n:表示一维数组中的元素个数
B静态:数据类型[][] 数组名 = new 数据类型[][]{{元素1},{元素2},{元素3}...};
简化格式:数据类型[][] 数据名 = {{元素1},{元素2},{元素3}...};
二维数组配合索引名可以获取到每一个以为数组每一个一维数组配合索引可以获取到数组中的元素
二维数组arr 一维数组:arr[索引]元素:arr[索引][索引]