//数组知识总结课件 package f.java; import java.util.Scanner; public class shuzu0913 { public static void main(String[] args) { // TODO Auto-generated method stub //数组 // int[] array=new int[5];//new代表的意思: 开辟一个存储空间 //索引从0开始 //数组具有初始默认值eg:byte、int等初始值为0;string类型的初始值是空; //给数组赋值(利用索引也可以赋初始值)eg: // array[0]=1; // array[1]=2; // array[2]=3; // array[3]=4; // array[4]=5; //直接初始化赋值 // int[]a1={1,2,3,1}; // //或者 // int[]a2=new int[]{1,2,3,4}; // //重新赋给a2新数值; // a2=new int[]{11,20,30,40,70}; // System.out.println(array[4]); // //集合的遍历 // for(int i=0;i<a2.length;i++) // { // System.out.println("a2["+i+"]="+a2[i]); // } // System.out.println("foreach遍历:"); // //foreach遍历 // //定义一个临时变量,按顺序去遍历集合的每个单元 // for(int temp:a2)//temp这个变量每循环一次输出一个; // { // System.out.println(temp); // } //练习 int[]a3=new int[4]; // a3[0]=1; // a3[1]=2; // a3[2]=3; // a3[3]=4; // int [] a4=new int[]{1,2,3,10,20}; // int[] a5={20,30,40,50}; // a5=new int[]{1,4,7,9,10}; // System.out.println(a5[2]); // for(int b=0;b<a5.length;b++) // { // System.out.println(a5[b]); // } // System.out.println("foreach集合遍历"); // //foreach // for(int c:a5) // { // System.out.println(c); // } // 一维数组总结: //一维数组:具有相同数据类型的线性集合, // 必须定义数组的数据类型 // 按顺序存储,并具有索引(索引从0开始)。 // 使用之前必须初始化,初始化后大小不可变。 //写法:数据类型[]数组名=new 数据类型[长度] 数据类型[]数组名={值1,值2,.....}; 见9--23行 //使用:利用索引使用数组的数值; //索引:索引从0开始;索引最大值是数组长度-1; //集合遍历:for循环;eg:for(i=0;i<数组名.length;i++)或者foreach循环for(数组的数据类型 变量名:数组名) 见25--36行 //练习题:冒泡排序;二分查找 //二维数组 //一维数组里面放一维数组 // int[][]j=new int[3][4]; // j[0][0]=1; // j[0][1]=2; // j[0][2]=3; // j[0][3]=4; // j[1][0]=5; // System.out.println("j.length="+j.length); //遍历for // for(int A=0;A<j.length;A++) // { // for(int B=0;B<j[A].length; B++) // { // System.out.print(j[A][B]+""); // } // System.out.println(); // } //二维数组foreach遍历 // System.out.println("foreach遍历"); // for(int[] m:j) // { // for(int n:m) // { // System.out.print(n); // } // System.out.println(); // } //二维数组练习 // int[][]a7=new int[3][2]; // a7[0][0]=1; // a7[0][1]=2; // a7[1][0]=3; // a7[1][1]=4; // for(int A1=0;A1<a7.length;A1++) // { // for(int B1=0;B1<a7[A1].length;B1++) // { // System.out.print(a7[A1][B1]+""); // } // System.out.println();//换行的作用 // } // // //二维数组总结: //实质:一维数组里面放一维数组,可以想想一个XY坐标的表格 //数据类型[][]数组名=new数据类型[行数][列数] 或 数据类型[][]数组名={{数组1},{数组2},{数组3}.......}; 见70行 //每个单元的数组长度可以不同。 //属性:length表示二维数组的行数,并不是所有单元的总数。 //使用方式:使用索引:数组名[行索引][列索引]=值; //遍历:外层从二维数组中先取出一维数组的索引 for循环: 外层通过行索引取出每行的数组 foreach循环:外层通过临时变量取出每行数组 // 内层从以为说数组中索引取出值 内层 遍历行的数组 内层遍历行的数组 见78--98 //一维数组冒泡排序练习 //随机输入5个数字,要求小到大排序打印出来 // int[]i={10,20,30,14,15,26}; // for(int a=0;a<i.length;a++) // { // for(int b=a+1;b<i.length;b++) // { // int temp; // if(i[a]>i[b]) // { // temp=i[a]; // i[a]=i[b]; // i[b]=temp; // } // // } // // } // for(int c=0;c<i.length;c++) // { // System.out.print(i[c]+" "); // } // } }