java数组的创建、修改、遍历、转置

数组的创建、修改、遍历、转置

import java.util.Arrays;

public class ArrayTeat {
    public static void main(String[] args) {
        //一维数组的创建
        int[] a = {0, 1, 2};//静态的初始化
        int[] b = new int[3];//动态的初始化
        b[0] = 0;
        b[1] = 1;
        b[2] = 2;
        System.out.println(Arrays.toString(a));
        //不能直接打印a System.out.println(a);出来的将会是一串乱码
        System.out.println(Arrays.toString(b));
        //copy拷贝
        //浅拷贝
        int[] c = a;  //将a的数组给了c,所以c和a指向了同样的数组。
        c[0] = 100;    //将c里面的第一个变量改为10,a也会随之改变
        System.out.println(a[0]);
        //深拷贝
        int[] d = new int[a.length];
        for (int i = 0; i < a.length; i++) {
            d[i] = a[i];  //把数组里的每一项一一对应过来了
        }
        d[0] = 0;  //不会对a有影响
        System.out.println(a[0]);

        //fori
        System.out.println("==============================");
        for (int i = 0; i < b.length; i++) {
            b[i] = i + 1;  //修改
            System.out.println(b[i]);  //读取,展示修改是否有影响
        }
        //foreach
        System.out.println("===================");
        for (int x : b){
            x = 1; //对于x来说是生效的;对于b来说是无效的
            System.out.println(x);//读取,foreach的形式不能做修改
        }
        System.out.println(Arrays.toString(b));
        System.out.println("=====================================================");
        //二维数组
        int[][] e  = new int[2][2];//先声明后开辟空间
        System.out.println(e[0][0]);
        e[0][0] = 101;
        e[0][1] = 102;
        int[][] f = {{101, 102},{0,0}};
        System.out.println(Arrays.toString(e[0]));
        System.out.println(Arrays.toString(f[0]));
        //已经初始化了,修改初始化的内容
        //单个的改
        e[1][0] = 201;
        e[1][1] = 202;
        //一起改
        f[1] = new int[]{201, 202};
        //遍历
        System.out.println("=============================");
        for (int i = 0; i < e.length; i++) { //查询 + 修改
            for (int j = 0; j < e[i].length; j++) {
                System.out.print(e[i][j] + " ");
            }
            System.out.println();
        }
        System.out.println("=======================");
        for (int[] x : e) {//查询;foreacher是一个迭代器,不能接受数据,所以不能修改
            for (int y : x) {
                System.out.print(y + " ");
            }
            System.out.println();
        }
        //矩阵转置
        //1 2 3
        // 4 5 6
        int[][] origin = {{1, 2, 3},{4, 5, 6}};
        //转成
        //1 4
        //2 5
        //3 6
        //初始化目标
        int[][] target = new int[3][2];
        for (int i = 0; i < origin.length; i++) {
            for (int j = 0; j < origin[i].length; j++) {
                target[j][i] = origin[i][j];
            }
        }
        for(int[] x : origin){
            System.out.println(Arrays.toString(x));
        }
        for(int[] x : target){
            System.out.println(Arrays.toString(x));
        }
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值