上午讲了循环作业
default 后面的 break 也要加,因为default 不一定出现在最后
银行密码的那个 设置一个count=3 用while(>0),count–
数字循环那个是 (i2)(i*5)
乘法口诀那个 j与 i 有关,并不是单纯的j<=9
数组
大容器,可以存储很多个值
数组是 引用类型
数组中的类型要一致,char 在 int 里面进行了类型转换
1.1 数组的使用
int[] scores;
scores=new int[3];
(int [] arr=new int[5];)
int[] scores2={121,124,124,214,214,}
int[] score3=new int[]{125,215,1253,253,253,}
1.2 数组的取值
索引值是从0开始的
索引的有效取值范围是[0,length-1]
bound 边界 exception 例外
1.3 数组的赋值
arr[Index]=X;
所有引用类型的0值都是null
0值就是没有赋值
null 无效的,空的 牛 cow
1.4 求最值
怎么输出最大值所在的索引值
int maxIndex=0;
for(int i=1;i<arr.length;i++){
maxIndex=arr[maxIndex]>arr[i]?maxIndex:arr[i]; }
1.5 数组的遍历
1.普通for
2.
for(int item : arr1){
System.out.println(item);
}
这个是把数组中每个数取出来赋值给item
代码不懂也要写,写到了就会了
报异常,最先反应就是数组索引越界了
为什么区分数据类型
基本数据类型存储的是值
引用数据类型存储的是某块内存空间的起始地址
引用类型至少占用两块内存
基本
引用数组 存在堆内存里面 在栈里面占一个存地址的内存,在堆空间里占了数值内存
1.6
引用赋值
int[] arr2=arr1;
赋值的是地址
arr1改变,arr2也会变
int[] arr2= new int [arr1.length]
for循环
凡是new 出来的都在堆空间
new出来的都是对象
new 是开辟新空间的意思
引用里面放的是地址
数组内存空间连续,数组的查询性能较高
数组是定长的,这辈子长度固定了
int[] arr1={13,55,13,124,1};
arr1=new int[5]
这是把arr1指向新建出来的数组了,原数组长度不变
1.7 数组拷贝
Arrays.copyOf
1.8 数组比较
Arrays.equals
1.9 数组排序
Arrays.sort
引用类型里面 双等号 比较的是内存地址
1.10 数组动态扩容
names=Arrays.copyOf(names,names.length*2)
1.11
代码敲三遍
二维数组
int[][] arr=new int[3][];
arr[0]=new int[3];
arr[1]=new int[5];
arr[2]=new int[9];
int[][] arr2=new int[3][2];
arr2[0]=new int[2];
arr2[1]=new int[2];
arr2[2]=new int[2];
int[][] arr3={{1,2,3,4,5},{6,7,8,9,10}};
java培训班 工作 考研
二维数组里面的数组元素是一维数组
int[][] arr=new int[][];
代码没打三遍就算不会
数组元素是引用类型 引用中存的都是地址
里面放的是地址
前面知识学得不牢固,下回记得写三遍。先把循环作业写完了