Java从小白到入门,Day4(数组)
数组是储存在一个连续的内存块中的元素集合,用于存储多个同类型的数据。
索引(下标):数组中的每一个数据的编号,为int类,依次从0开始到length-1编号。
数组项(元素):指数组中的一个数据。数组中每一个数据的数据类型必须相同。一个索引对应一个数组项,它们是一一对应的。
长度:指数组中项的数量,为int类型,用length表示,长度是固定的。
数组类型默认值: 数字类型,0; boolean,false; char,'\0'; String,null.
String转char: 字符串变量.tocharArray() //表达式返回为:char[].
对数组最基本操作:存,取数据。
核心思想:就是对下标的操作。
声明数组: 代码结构,int [] array=new int[length];
获取数组项,array[下标] //下标为int类从0到length-1,之间的任意数字。
获取数组的长度, array.length //array为数组,.为的,length为长度。
数组初始化器:代码结构,int [] array={1,2,3,4}; //优先选择。
或者 int [] array=new int[]{1,2,3,4};
数组的遍历:就是依次得到数组的每一项,有for,foreach两种方法。
例, int [] array={1,2,3};
for方法: for(int i=0; i<array.length;i++ ){System.out.print(array[i]+"\t"); } // i表示下标,"\t"是分割符。
foreach方法: for(int j:array){System.out.print(array[j]+"\t");} //表示依次取出数组中每一项,取出依次,将数组项赋值给变量j,知道数组中索引数组项取完为止。效率高于for.
System.arraycopy(数组1,0,数组2,1,数组1.length); // 把数组1从下标为0的数组项移到数组2,下标为1的数组中去;
array1=java.util.Arrays.copyof(1,2);// 1:指原数组的变量, 2:指新数组(array1)的长度。 效果如:[1,2]→[1,2,0,0].
JDK中提供快速排序: java.util.Arrays.sort(数组变量);
冒泡排列:规则(从后往前)
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
代码结构:
for(int i=1;i<=array.length-1;i++){ // i:控制比较轮次,1≤i≤array.length-1,总次数为array.length。
for(int j=0;j<array.length-i;j++){ // j:控制下标,j与j+1 项对比,0≤j<array.length-i。
if (array[i]<array[j]){
int tmp;
tmp=array[i];
array[i]=array[j];
array[j]=tmp;
二维数组:int[][] nums=new int[2][3];//2:指行。 3:指列。
初始化器:int[][] nums = {{34,11,3},{1,2,3}};
遍历:for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums[0].length; j++) {
System.out.print(nums[i][j]+"\t");}
System.out.println();}