一维数组
定义方式
int[] a;
char b[];
有这两种方法可以定义数组 其中第一种方式比较常见
for'(inttemp:b) 遍历b这个数组
下标越界
二维数组 两个框 [][]第一个是竖第二个是横 是其中
例题5.1
代码
public class JGD1 {//创建类
public static void main(String[] args) {//主方法
// TODO Auto-generated method stub
int day[]=new int[] {31,28,31,30,31,30,31,31,30,31,30,31};//创建并初始化一维数组
for(int i=0;i<12;i++) {//利用循环将信息输出
System.out.println((i+1)+"月有"+day[i]+"天 ");//输出每个月的天数
}
}
}//输出每个月有多少天
代码图
运行结果图
替换数组元素
Arrays.fill(数组名,值);//替换数组
Arrays.fill(数组名,前索引,后索引,值) 前改后不改
索引 就是下标
import java.util.Arrays;
public class JDG2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[]=new int [] {45,12,2,10};
Arrays.fill(arr,1,2,8);//重点
for(int i=0;i<arr.length;i++) {
System.out.println("第"+i+"个元素是:"+arr[i]);
}
}
}
1 .{45,12,2,10};
2 .(arr,1,2,8);
前索引会改
后索引不改
就是前改后不改
数组元素排序
本人觉得可以用if判断语句
Arrays.sort(数组名)//排序数组
import java.util.Arrays;
public class JDG2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[]=new int [] {23,42,12,8};
Arrays.sort(arr);//重点
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
}
}
Arrays.sort(arr);
个人理解这个代码打上去直接就可以直接排序、
复制数组
新数组名 = Arrays.sopyof(旧数组名,新数组长度);//复制函数
import java.util.Arrays;
public class JDG2 {
public static void main(String[] args) {//主函数
// TODO Auto-generated method stub
int arr[]=new int [] {23,42,12};//旧数组长度位3
int newarr[]=Arrays.copyOf(arr,2);//新数组长度5 空位补零 溢出去掉后面的数
for(int i=0;i<newarr.length;i++) {//循环遍历赋值后的新数组
System.out.println(newarr[i]);
}
}
}
int arr[]=new int [] {23,42,12};//旧数组长度位3
int newarr[]=Arrays.copyOf(arr,2);//新数组长度5 空位补零 溢出去掉后面的数
for(int i=0;i<newarr.length;i++) {//循环遍历赋值后的新数组
int newarr[]=Arrays.copyOfRange(arr,0,3);复制数组arr
前索引是0 后索引是3 前在后不在
int arr[]=new int [] {23,42,12,84,10};//旧数组长度位5
int newarr[]=Arrays.copyOfRange(arr,0,3);//新数组长度3 空位补零 溢出去掉后面的数
前在后不在
查询数组
索引 = Arrays.binarySearch(数据名,值);他会在这个数组里查询这个索引所在的位置并返回
排序
public static void main(String[] args) {//主函数
// TODO Auto-generated method stub
int ia[]=new int [] {1,8,9,4,5};//旧数组长度位5
Arrays.sort(ia);//排序 从小到大 从0开始
int index = Arrays.binarySearch(ia,4);//查询数组ai中元素4的位置
System.out.println("4的索引位置是:"+index);//将索引输出
先排序在查询!否则结果不可控
另外一种查询数组;
索引 = Arrays.binarySearch(数组名,前索引,后索引,值);
查询数组 :先排序后查询 前含后不含