//数组知识总结课件
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]+" ");
// }
//
}
}