Java——数组的基本操作

目录

一、数组的概念

二、一维数组

三、二维数组

四、小栗子

五、数组的基本操作

(一)数组的填充与替换

(二)数组的排序

(三)数组的复制

(四)二分查找法

六、总结


一、数组的概念

1、概念:数组是一组数据的集合表现(简单理解)

2、分类:一维数组、二维数组

二、一维数组

1、创建格式:

数组数据类型[ ]数组名;

数组数据类型 数组名[ ];

例:

int [] ShuZu;  //第一种

int ShuZu [];  //第二种

2、分配空间格式:

数组名=new 数组数据类型[数组元素的空间];

例:

ShuZu = new int [5];

2、一维数组的创建并同时初始化:

数组数据类型  数组名 = new 数组数据类型[数组空间];

例:

int ShuZu [] = new int [8];

3、初始化一维数组

三、二维数组

1、数组声明:

(1)数组数据类型 [ ] [ ]数组名;

(2)数组数据类型  数组名 [ ] [ ];

例:

int [][] ShuZu;//第一种


int ShuZu [][];//第二种

2.分配二维数组空间

数组名  = new 数据类型[行数][列数];

含义:建立一个x行y列的数组空间。

例:

ShuZu = new int [2][3];
//创建一个两行三列的数组

四、小栗子

例1、

说明:创建一个用来存放12个月份中每个月份的天数数组并调用输出

public class Demo {
    public static void main(String[] args) {
        int mouth[]=new int []{31,28,31,30,31,30,31,31,30,31,30,31};
        for(int i=0;i< mouth.length;i++){
            System.out.println((i+1)+"月有"+mouth[i]+"天!"); //使用for循环依次遍历数组
        }
    }
}
运行结果:

1月有31天!
2月有28天!
3月有31天!
4月有30天!
5月有31天!
6月有30天!
7月有31天!
8月有31天!
9月有30天!
10月有31天!
11月有30天!
12月有31天!

题目来源:《Java从入门到精通(第6版)》

涉及知识:一维数组的基本创建和使用

例2、

说明:输出一个3行4列的所有元素都为0的矩阵

public class Demo {
    public static void main(String[] args) {
        int [][]x=new int [3][4];
        for(int i=0;i<x.length;i++){ //使用for循环依次遍历数组
            for(int j=0;j<x[i].length;j++){
                System.out.print(x[i][j]);
            }
            System.out.println();
        }
    }
}
运行结果:

0000
0000
0000

题目来源:《Java从入门到精通(第6版)》

涉及知识:二维数组的基本创建和输出

注意:二维数组创建好之后有初始值,并且初始值为0.

五、数组的基本操作

(一)数组的填充与替换

1、方法名:fill方法

2、此方法归属于Arrays类,所以调用此方法前需要导入java.util.Arrays类。

3、导入Arrays类的方法:

import java.util.Arrays;

4、分类:全部填充;部分填充(指定位置填充)

(1)全部填充格式:

//fill(需要填充的数组,填充的值)
//代码实现
Arrays.fill(ShuZu,8)
//将ShuZu中所有位置全部填充8

(2)部分填充(指定位置填充)格式:

fill(需要填充的数组,填充的起始位置(包括),填充的最终位置(不包括),需要填充的值);
//代码实现
Arrays(ShuZu,1,2,6);
//将ShuZu中1索引到2索引填充6

5、

例1:将数组中所有位置填充为6

import java.util.Arrays;
public class Shuzu{
     public static void main(String[] args) {
        int [] arrays = new int[6];
        Arrays.fill(arrays,6);
        for(int i = 0;i< arrays.length;i++){
            System.out.println(arrays[i]);
            }
        }
    }
//运行结果
6
6
6
6
6
6

例2、将数组的1到2索引位置填充8

import java.util.Arrays;
public class Shuzu{
     public static void main(String[] args) {
        int [] arrays = new int[6];
        Arrays.fill(arrays,1,2,8);
        for(int i = 0;i< arrays.length;i++){
            System.out.println(arrays[i]);
            }
        }
    }
//运行结果
0
8
0
0
0
0

(二)数组的排序

1、方法名:sort方法

2、此方法归属于Arrays类,所以调用此方法前需要导入java.util.Arrays类。

3、导入Arrays类的方法:

import java.util.Arrays;

4、语法格式:

Arrays.sort(需要排序的数组);

5、

例:给指定数组进行排序

import java.util.Arrays;
public class Demo {
    public static void main(String[] args) {
        int [] arrays = new int[]{1,2,3,4,5,2,3,1,6,7};
        Arrays.sort(arrays);
        for(int i = 0;i< arrays.length;i++){
            System.out.println(arrays[i]);
        }
    }
}
//运行结果
1
1
2
2
3
3
4
5
6
7

(三)数组的复制

1、方法名:copyOf方法

2、此方法归属于Arrays类,所以调用此方法前需要导入java.util.Arrays类。

3、导入Arrays类的方法:

import java.util.Arrays;

4、语法格式:

(1)全部复制

copyOf(需要进行复制的数组,复制后新数组的长度);

(2)部分复制(指定位置复制)

copyOfRange(需要进行复制的数组,起始位置(包括),最终位置(不包括));

5、

例1:复制指定数组(全部复制)

import java.util.Arrays;
public class Demo {
    public static void main(String[] args) {
        int [] arrays = new int[]{1,2,3,4,5,2,3,1,6,7};
        int arrays_01 = Arrays.copyOf(arrays,10);
        for(int i = 0;i< arrays.length;i++){
            System.out.println(arrays_01[i]);
        }
    }
}
运行结果:
1
2
3
4
5
2
3
1
6
7

例2、复制上边数组的1到3索引(部分复制)

import java.util.Arrays;
public class Demo {
    public static void main(String[] args) {
        int [] arrays = new int[]{1,2,3,4,5,2,3,1,6,7};
        int [] arrays_01 = Arrays.copyOfRange(arrays,2,3);
        for(int i = 0;i< arrays_01.length;i++){
            System.out.println(arrays_01[i]);
        }
    }
}
//运行结果
3

(四)二分查找法

1、方法名:binarySearch()方法

2、此方法归属于Arrays类,所以调用此方法前需要导入java.util.Arrays类。

3、导入Arrays类的方法:

import java.util.Arrays;

4、注意:该方法返回的是想要查找元素排序后所在位置的索引值

5、语法格式:

binarySearch(元素所在数组,要搜索的值);

6、

例:查找数组中指定数值

 import java.util.Arrays;
public class Demo {
    public static void main(String[] args) {
        int [] arrays = new int[]{8,9,7};
        Arrays.sort(arrays);
        int newarrays=Arrays.binarySearch(arrays,9);
        System.out.println("9的位置为:"+newarrays);
    }
}
//运行结果:

9的位置为:2

六、总结

1、想要使用数组的以上操作,就必须导入Arrays包,否则无法使用,会出现报错,导入方式在上边的例子中已经说明。

2、这次呢咱就先聊到这里,后续会有更多的关于Java的基础知识供大家一起学习参考,以上内容如果哪里有错误,希望大家可以指出,欢迎大家的评论。

3、此文章若涉及到某些侵权问题,可以随时告诉我,我将立即撤回进行更改,最后谢谢大家的支持!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星离~

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值