java(5)之数组

本文详细介绍了数组在编程中的概念、特点,如其数据类型灵活性、长度固定、下标从0开始等。重点讲解了一维数组的创建、初始化、操作,以及数组的长度获取、填充、复制、比较、排序、搜索和字符串转换。同时涉及了二维数组的创建和访问示例。
摘要由CSDN通过智能技术生成

1、什么是数组

数组就是用来储存相同数据类型的数据集合,可使用共同的名称来引用数组中的数据,数组的类型有很多种,但是指定了数组的类型就只能存储这一类数据。

2、数组的特点

1、既能存储原始数据也能催出对象类型

2、长度一旦确定就不能改变

3、数组元素的下标是从0开始的

4、可以创建存储数组的数组

5、数组可以作为对象进行处理,数组具有length属性(用来表示数组的长度)

3、一维数组

1、一维数组的建立

代码示例如下:

int [] x = new int[5];//创建一个整形数组并且长度为5

(创建只需要这样的格式即可)

2、初始化一维数组

代码示例如下:

int [] x = new int[5];//创建一个整形数组并且长度为5
x[0] = 1;
x[1] = 2;
x[2] =3;
x[3] = 4;
x[4] = 55;

这样就是一个完整的数组创建

还有一种初始化方式如下:

int [] y = {1,2,3,4,5,6};//这样创建了一个长度为6的整形数组

3、一维数组的操作

访问一维数组的元素

以前面代码为例访问 x 的第一个元素即为

x [0] ;

修改一维数组

代码示例如下:

x[0] = x[0]+y[0];
System.out.println(x[0]);

结果如下:

4、数组的常用操作

1、数组的长度

数组名.length

2、数组填充

Arrays.fill(数组名,值)或者Arrays.fill(数组名, 开始下标,结束下标,值)

示例代码如下:

Arrays.fill(x,2,4,2);
System.out.println(Arrays.toString(x));

结果如下:

3、数组的复制,比较,排序

复制

代码示例如下:

System.arraycopy(x,2,y,2,2);//将x从下标为2开始复制到y里的下标为2,长度为2
System.out.println(Arrays.toString(y));

结果如下:

比较:

Arrays.equals(数组1,数组2)

这里的函数的返回值是boolean,也即是true或者false

排序:

包括两种

1、函数方法

sort(数组,开始下标,结束下标)(在这里下标可以不填,默认是全部排序)函数方法排序是升序排序

2、冒泡排序

代码示例

import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        int [] y = {1,0,9,8,7,4,9};//这样创建了一个长度为6的整形数组
        int temp;
        for(int i = 0;i<y.length-1;i++){
            for (int j =i;j<y.length;j++){
                if (y[j]<y[i]){
                    temp = y[i];
                    y[i] = y[j];
                    y[j] = temp;//作一个交换操作实现排序操作
                }
            }
        }
        System.out.println(Arrays.toString(y));
    }
}

结果如下:

4、数组搜索指定元素

函数方法:

Arrays.binarySearch(数组,开始位置,结束位置,查找值)(开始和结束的下标可以省略)

5、数组转化为字符串

就是前面使用过的 toString方法代码中能看到具体使用方法

5、多维数组

1、创建和声明多维数组(这里具体说二维数组)以及访问

代码示例

public class eerwei_2 {
    public static void main(String[] args){
        int [][] a ={{1,2,3,4},{1,2,3,4},{1,2,3,4}};//创建了一个二维数组为3行4列
        System.out.println(a[1][1]);
    }
}

结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

过度引用

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

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

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

打赏作者

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

抵扣说明:

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

余额充值