第五章(数组)

一维数组

 

定义方式

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]+"天 ");//输出每个月的天数

}

}

}//输出每个月有多少天

代码图:

6cd18f25ebd848b3ae556641dd7d5a17.png

 运行结果图:

d0f185d0820344acafce20141ef255b1.png

 替换数组元素

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(数组名,前索引,后索引,值);

查询数组 :先排序后查询 前含后不含

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值