使用Java定义数组

目录

1.数组的创建

1.1语法

 1.2代码举例

1.3数组的使用

2.数组在方法的使用

 2.1基本用法

2.2引用类型

3. 数组作为方法的返回值

3.1传址

 3.2返回一个新的数组

 4.二维数组

4.1基本语法

 4.2遍历二维数组


1.数组的创建

1.1语法

// 动态初始化
数据类型 [] 数组名称 = new 数据类型 [] { 初始化数据 };
// 静态初始化
数据类型 [] 数组名称 = { 初始化数据 };

 1.2代码举例

public class TestArray {
    public static void main(String[] args) {
        int [] array = {1,2,3,4,5};
        int [] array2 = new int[3];
        int [] array3 = new int[]{1,2,3};
       
    }

}

1.3数组的使用

求数组长度

public class TestArray {
    public static void main(String[] args) {
        int [] array = {1,2,3,4,5};

        System.out.println(array.length);//求数组的长度
        System.out.println(array[2]);//打印,下标从零开始

        array[2] = 8;
        System.out.println(array[2]);//给下标为3的数重新赋值
       
    }

}

遍历数组

1.for循环,遍历数组
2.for-each 是for循环的另一种使用方式, 能够更方便的完成对数组的遍历,可以避免循环条件和更新语句写错
3.借助Java的操作数组的工具类 Arrays.toString  :将参数的数组  以字符串的形式进行输出
public class TestArray {
    public static void main(String[] args) {
        int [] array = {1,2,3,4,5};

          int[] array = {1,2,3,4,5};

        //1、for循环
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");//遍历数组,即打印数组中的数
        }
        System.out.println();//换行

        //2、for -each 
        for (int x: array ) {
            System.out.print(x+" ");
        }
        System.out.println();

        //3、字符串形式打印
        System.out.println(Arrays.toString(array));
       
    }

}

2.数组在方法的使用

 2.1基本用法

使用方法来遍历数组

int[] a 是函数的形参 , int[] array  是函数实参 .
如果需要获取到数组长度 , 同样可以使用 a.length
public class TestArray {

    private static void printf(int[] a) {
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+" ");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        int [] array = {1,2,3,4,5};

        printf(array);
       
    }

}

2.2引用类型

将函数的实参传到方法中的形参,如果形参中某个元素改变,实参也会跟着改变

如果在方法中new一个新的数组来接收,则地址会改变,如果我们要打印出来的话,是是不会影响到元数组的,即实参不会被影响

public class TestArray {

     public static void func1(int[] array) {
        array = new int[]{3,4,5,2,8};//定义了一个新的数组,地址不一样,
                                      //所以改变不了原本实参的数组

    }
    public static void func2(int[] array) {
        array[0]=45;//使用的地址和原本是一样的,所以可以改变实参的数
    }

    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println("原数组:"+Arrays.toString(array));

        func1(array);
        System.out.println("定义新数组:"+Arrays.toString(array));
        
        func2(array);
        System.out.println("传形参数组:"+Arrays.toString(array));
    }

}

 

3. 数组作为方法的返回值

3.1传址

写一个数组,将数组的每一个元素加2;因为使用的是传址,在方法中加2时,原来的数组也会改变,这样就破坏了原来的数组。

public class TestArray {
    public static void add(int[] array) {
    //每个数组元素加2
        for (int i =0; i < array.length; i++) {
            array[i] = array[i] + 2;
        }
    }
   //遍历数组
    public static void printArray(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");
        }
    }
    //主函数
    public static void main(String[] args) {
        int[] array = {1,2,3,4};
        add(array);
        printArray(array);
    }

}

 

 3.2返回一个新的数组

 new一个新的数组,是引用了原来数组的元素,不是引用原来数组的地址,所以返回的时候知识将这个数组的首元素返回给函数的调用者,没有拷贝数组的内容,从而更高效。

public class TestArray {
    //new新的数组,并且返回数组
    public static int[] form(int[] array) {
        int[] arr = new int[array.length];
        for (int i = 0; i < array.length; i++) {
            arr[i] = array[i] + 2;
        }
        return arr;
    }
    //遍历新的数组
    public static void print(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+ " ");
        }
    }
    //主函数
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        int[] put = form(array);
        print(put);
    }

}

 

 4.二维数组

二维数组本质上也是一个一维数组,只不过每个元素又是一个一维数组

4.1基本语法

数据类型 [ ][ ] 数组名称 = new 数据类型 [ 行数 ][ 列数 ] { 初始化数据 };

 4.2遍历二维数组

public class TestArray {

     public static int[][] Array(int[][] array1) {
        int[][] ret = new int[3][3];
        for (int i = 0; i < array1.length; i++) {
            for (int j = 0; j < array1[i].length; j++) {
                ret[i][j] = array1[i][j];
            }
        }
        return ret;
    }

    public static void main(String[] args) {
        int[][] array1 = {{1, 2, 3}, {2, 3, 4}, {3, 4, 5}};
        int[][] array2 = Array(array1);
        for (int i = 0; i < array1.length; i++) {
            for (int j = 0; j < array1[i].length; j++) {
                System.out.print(array2[i][j]+" ");
            }
            System.out.println();
        }
    }
}

  

  • 29
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论
Java中,有多种定义数组的方法。其中一种方法是使用new关键字来创建并初始化数组。语法如下: 数据类型[] 数组名 = new 数据类型[] {元素1, 元素2, ...}; 例如,如果想定义一个整数类型的数组,可以使用以下代码: int[] arr = new int[] {1, 2, 3}; 另一种定义数组的方法是在声明数组时直接初始化数组元素。语法如下: 数据类型[] 数组名 = {元素1, 元素2, ...}; 例如,定义一个字符类型的数组可以使用以下代码: char[] arr = {'a', 'b', 'c'}; 还有一种方法是使用匿名数组,适合在直接给方法传入参数时使用。语法如下: 方法名(new 数据类型[] {元素1, 元素2, ...}); 例如,在调用一个专门用来循环输出数组的函数时,可以使用以下代码: printArr(new char[] {'a', 'b', 'c'}, len); 总结来说,Java定义数组的方法包括使用new关键字创建并初始化数组、在声明数组时直接初始化数组元素以及使用匿名数组。这些方法可以根据具体的需求选择适合的方式来定义数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java数组怎么定义?java数组定义方法](https://blog.csdn.net/weixin_45987729/article/details/124300818)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java数组的三种定义方法](https://blog.csdn.net/qq_39072607/article/details/89717022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Fly upward

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

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

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

打赏作者

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

抵扣说明:

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

余额充值