程序=算法+数据结构
前面学习的if , if else ,switch ,循环解决的都是流程问题,即算法问题;数据结构,简单的说就是把数据按照特定的某种结构来保存,设计合理的数据结构是解决问题的前提
算法:解决问题的步骤或流程(顺序,分支,循环)
数据结构:将数据按某种结构来保存,好的数据结构会导致好的算法
数组就是最基本的一种数据结构。
数组:
1.必须相同类型 (与js的有区别)
2.按线性顺序,一个跟一个
3.数组也是一种数据类型
声明:
int[] a=new int[4]; //声明一个整型数组,名为a ,可以存储4个整数 ,定义数组new后,每个元素默认都是0
double[] b=new double[10]; 浮点数组,可存10个浮点数
初始化
int[] arr; arr=new int[4]; int[] arr={1,5,8,3};//直接大括号的,只能声明时同时初始化 int[] arr; arr={1,5,8,3} // 错误,没有声明时同时初始化 int[] arr=new int[]{1,5,8,3};//这样写也可以
数组的访问
通过下标,下标从0开始
int[] arr=new int[4]; arr[0]=10; arr[4]=90;//错误,超过界限, 数组遍历: for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); }
数组的复制
System.arraycopy(原数组,原数组开始下标,新数组,粘贴在新数组哪个下标,复制个数)