数组

  

数组

在java中数组是用来村删除一组像同类数据的数据结构 当数组输出和完毕后 java为数组在内存中分配一段连续的空间 其在内存中开辟的空间也随之固定  数组的长度就不能发生改变  即使数组中美元保存任何数据 数组所占的空间依然存在

数组有哪四要素
要素一:数组名称:用来区分不同的数组
要素二:数组元素:向数组中存放的数据
要素三:元素类型:数组元素的数据类型
要素四:元素下标:数组元素的编号,也叫索引
从0开始,通过下标来访问数组元素

定义数组

在java中定于数组方法有两种

数据类型[]数组名=new 数据类型[数组长度]               int [] scores =new int [5];

数据类型  数组名[] =new 数据类型[数组长度]           String cities[] =new String[6];

定义数组石一定要指定数组名和数组类型  

必须书写[]表示定义了一个数组而不是一个普通的变量

[数组长度]决定连续分配的空间个数通过数组的length属性可获取此长度

数组的数据类型用于确定每个空间的大小

数组元素分配的初始值

数组元素类型默认初始值
byte,short,int ,long0
float,double0.0
char'\u0000'
booleanfalse
引用数据类型null

 

数组初始化 

所谓数组初始化 就是在定义数组同时一并完成赋值操作

数组初始化的语法

数据类型[]数组名={值1,值2,值3,.......}  或者 数据类型[]数组名=new 数据类型[]{值1,值2,值3,.......}

处理数组

     数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者for循环

public staic void main(String[]agrs){
    int socre[]={75,67,90,100,0};
    for(int i=0;i<socre.length;i++){
        System.out.println("socre["+"i+""]="+socre[i])
}

}
    

求最大值

public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int[] scores=new int[5];
        for (int i = 0; i < scores.length; i++) {
            System.out.println("请输入第"+(i+1)+"个数:");
            scores[i]=input.nextInt();
        }
        for (int i = 0; i < scores.length; i++) {
            System.out.print(scores[i]+",");
        }
        System.out.println();
        int max=scores[0];
        for (int i = 0; i < scores.length; i++) {
            if (scores[i]>max){
                max=scores[i];
            }
        }
        System.out.println("最大值为:"+max);
    }

二维数组      

java中定义和操作多为数组的语法与一维数组类似在实际应用中 三维及以上的数组很少使用 主要使用二位数组

定义二维数组的语法         数据类型[][]数组名; 或者 数据类型 数组名 [][];

数据类型为数组元素的类型  [][] 用于表明定义了一个二维数组通过多个下标进行数据访问

定义一个整型二维数组 关键代码   

int[][]scores;

scores=new int[5][50] ; 或者 int [] []scores =new int[5][50];

二维数组实际上是一个以为数组 他的每一个元素又是一个一维数组

 

定义二维数组并初始化数组元素的两种方法  

int [] []scores =new int [] []{{90,80,50},{50,80,60},{50}} 

int scores ={{90,80,70},{60,50},{50}}

Arrays类的常用方法

方法返回类型说明
equals(array1,array2)boolean比较两个数组是否相等
sort(array)void对数组array的元素进行升序排列
toString(array)String将一个数组array转换成一个字符串
fill(array,val)void把数组array的所有元素都赋值为val
copyOf(array,length)把array数据类型一致把数组array复制成一个长度为length的新数组
binarySearch(array,val)int查询元素值val在数组array中的下表

 

Arrays类的应用

1比较两个数组是否相等

Array类的equals()方法用于比较两个数组是否相等 只有两个数组长度相等对应位置元素也一一相等是 该方法返回 true 否则返回 false

2对数组的元素进行升序排序

Array类的sort()方法对数组元素进行升序排序 即从小到大的顺序排序

3将数组转换城字符串

Array类中提供了专门输出数组中的内容方法 toString() 该方法用于将一个数组转换成一个字符串 它按照顺序方式把多个数组元素连在一起 多个数组元素直接使用英文逗号和空格隔开 利用这种方法可以很清楚的观察到各个数组元素的值

4 将数组所有元素赋值为相同的值

Array类的fill方法用于把数组array的所有元素都赋值为val

5 将数组复制成一个长度为设定值的新数组

初始化一个整形一维数组 使用Array类的copyOf()方法把数组复制成一个长度为设定值的新数组

6 查询元素在数组的下标

Array类的bianrySearch()方法用于查询数组元素在数组中的下表 调用该方法时要求数组的元素已经按升序排列 这样才能得到正确结果

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值