数组总结

匿名数组

package com.Demo_2;

import java.util.Arrays;

public class ShuZu {
    public static void main(String[] args){
        int[] a=new int[3];//创建一个数组大小为3的数组
        //int[] a={1,2,3,9,10};数组的初始化,直接使用int[] a={};不需要使用new
        a=new int[] {13,19,22};

        int[] anonymous={13,11,10};
        a=anonymous;//创建一个匿名数组,同时是数组a的引用指向匿名数组,修改数组a
        System.out.println(Arrays.toString(a));
        /*for(int i=0;i<20;i++)
        {
            a[i]=i;
            System.out.println(Arrays.toString(a));
        }*/
    }
}

数组拷贝 排序

public static void arraycopy(from, fromIdex, to, toIdex, count) 

from 表示原数组,fromIdex表示原数组的开始点。to表示目标数组,toIdex表示目标数组的开始点,count表示复制长度。

int[] b={1,2,3,4,5,9,10};

        System.arraycopy(b,0,b,3,3);

        System.out.println(Arrays.toString(b));

System.arraycopy(),实现过程,是先将原数组b从第0个索引开始,将三个数组放入一个临时数组中{1,2,3},再到目标数组中b第三个索引后开始拷贝。
运行结果为[1,2,3,1,2,3,10]。
但是新生成的数组b不能超过原数组b的长度,否则会出现越界异常。

 Arrays.sort(a);

参数a的类型只能是 int long short char byte boolean float double类型
使用了优化的快速算法,将数组a排序。

命令行参数

每一个Java应用程序都有一个带String[] args参数的main方法,这个参数表名main方法将接受一个字符串数组,也就是命令行参数。在cmd命令行运行,将数据传入数组中。

For each循环

For each循环的格式如下

forvariable : collection)statement

collection为数组或集合
例如:

for(int element:a)
    System.out.println(element);

相当于:

for(int i=0;i<a.length;i++)
{
    System.out.println(a[i])
}

for each语句是java5的新特征之一,在遍历数组、集合方面,for each为开发人员提供了极大的方便。
for each语句是for语句的特殊简化版本,但是for each语句并不能完全取代for语句,然而,任何的for each语句都可以改写为for语句版本。
for each并不是一个关键字,习惯上将这种特殊的for语句格式称之为“for each”语句。从英文字面意思理解for each也就是“for 每一个”的意思。实际上也就是这个意思。
for each的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
foreach语句的局限性
通过上面的例子可以发现,如果要引用数组或者集合的索引,则for each语句无法做到,for each仅仅老老实实地遍历数组或者集合一遍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值