前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java基础-数组

Java基础-数组

作者头像
cwl_java
发布2019-11-12 12:55:21
3550
发布2019-11-12 12:55:21
举报
文章被收录于专栏:cwl_Javacwl_Java

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102953977

数组的基本概念
  • 数组是相同类型数据的有序集合.
    • 相同类型的若干个数据,按照一定先后次序排列组合而成。
    • 其中,每一个数据称作一个数组元素
    • 每个数组元素可以通过一个下标来访问它们.
数组特点
  • 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
  • 其元素必须是相同类型,不允许出现混合类型。
  • 数组中的元素可以是任何数据类型,包括基本类型和引用类型。

备注:数组属引用类型

创建数组
  • 一维数组的声明方式有两种
代码语言:javascript
复制
type[] arr_name;
type arr_name[];

例如:

代码语言:javascript
复制
int[] intArrays;	int intArrays[];
double[] doubleArrays;
Person[] pArrays;
String[] strArrays;

代码示例

代码语言:javascript
复制
package com.cwl.base.day03.array;

import com.cwl.base.day03.User;

/**
 * @program: java_base
 * @description:
 * @author: ChenWenLong
 * @create: 2019-11-07 14:13
 **/
public class Test01 {

    public static void main(String[] args) {
        int[]  arr01 = new int[10] ;			//索引下标[0, length-1]:0,1,2,3,4,5,6,7,8,9
        String   arr02[] = new  String[5];

        arr01[0] = 13;
        arr01[1] = 15;
        arr01[2]  = 20;
//		arr01[10] = 100;    // java.lang.ArrayIndexOutOfBoundsException

        //通过循环初始化数组
        for(int i=0;i<arr01.length;i++){
            arr01[i] = 10*i;
        }
        //通过循环读取数组里面元素的值
        for(int i=0;i<arr01.length;i++){
            System.out.println(arr01[i]);
        }

        User[]   arr03 = new User[3];
        arr03[0] = new User(1001,"**");
        arr03[1] = new User(1002,"**");
        arr03[2] = new User(1003,"**");

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

    }
}
动态初始化
  • 数组定义与为数组元素分配空间并赋值的操作分开进行
静态初始化:
  • 除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
代码语言:javascript
复制
格式: 类型 []  数组名 = {元素1[, 元素2 ……]};
int []	a = {1, 2, 3, 4, 5};
  • 数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个 元素也被按照实例变量同样的方式被隐式初始化 代码示例
代码语言:javascript
复制
package com.cwl.base.day03.array;

import com.cwl.base.day03.User;

/**
 * @program: java_base
 * @description:
 * @author: ChenWenLong
 * @create: 2019-11-07 14:37
 **/
public class Test02 {

    public static void main(String[] args) {
        //静态初始化
        int[]  a = {2,4,65};
        User[]  b ={
                new User(1001,"赵一"),
                new User(1002,"张三"),
                new User(1003,"李四")
        };

        //默认初始化
        int[]   c = new int[3];		//默认给数组的元素进行赋值。赋值的规则和成员变量默认赋值规则一致。

        //动态初始化
        int[] a1 = new int[2];//动态初始化数组,先分配空间;
        a1[0]=1;//给数组元素赋值;
        a1[1]=2;//给数组元素赋值;

    }
}
数组的拷贝
  • 使用java.lang.System类的静态方法
代码语言:javascript
复制
public static void arraycopy
(Object src,int srcPos,Object dest,
int destPos,int length)
  • 可以用于数组src从第srcPos项元素开始的length个元素拷贝到目标数组从destPos项开始 的length个位置。 如果源数据数目超过目标数组边界会抛出 IndexOutOfBoundsException 异常。
代码语言:javascript
复制
package com.cwl.base.day03.array;

/**
 * @program: java_base
 * @description:
 * @author: ChenWenLong
 * @create: 2019-11-07 15:10
 **/
public class Test03 {

    public static void main(String[] args) {
        int[] a = new int[4];
        //初始化数组元素的值
        for(int i=0;i<a.length;i++){
            a[i] = 100*i;
        }
        //读取元素的值
        for(int i=0;i<a.length;i++){
            System.out.println(a[i]);
        }
        System.out.println("##########");
        //foreach循环:用于读取数组元素的值,不能修改元素的值
        for(int   m : a){
            System.out.println(m);
        }

        String[] ss = { "aa", "bbb", "ccc", "ddd" };
        for (String temp : ss) {
            System.out.println(temp);
        }


    }
}
命令行参数
  • JAVA应用程序的主方法(程序的入口)
代码语言:javascript
复制
public static void main (String args[]) {…}
public static void main (String[] args) {…}
  • 命令行参数
    • 在启动Java应用程序时可以一次性地向应用程序中传递0~多个参数----命令行参数
    • 命令行参数使用格式:
    • 由参数args接收
    • 空格将参数分开
    • 若参数包含空格,用双引号引起来
代码语言:javascript
复制
java ClassName lisa "bily" "Mr Brown“
Java.uitl.Arrays
  • 该类提供了关于数组操作的API.
    • 打印数组----toString方法。
    • 比较两个数组是否相同----equals方法。
    • 数组排序----sort方法。
    • 数组查找----binarySearch 方法
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数组的基本概念
  • 数组特点
  • 创建数组
  • 动态初始化
  • 静态初始化:
  • 数组的拷贝
  • 命令行参数
  • Java.uitl.Arrays
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档