Java数组之零碎知识点

直接上代码

数组创建

//直接初始化:“[]”内不能写数字
    int[] array1 = {1, 2, 3, 4, 5};
    int[] array2 = new int[]{1, 2, 3, 4, 5};

//默认初始化:“[]”内写数字,数组内元素全为0
    int[] array3 = new int[10];

//数组元素可通过下标访问
    System.out.println(array[0]);

//数组名.length 求数组长度
    System.out.println(array.length);

//数组长度可以是变量
    int n = 10;
    int[] array4 = new int[n];

//不同元素类型数组
    double[] array5 = {1.0; 2.0, 3.0};
    String[] array6 = {"mother", "fu**er", "!!!"};

数组使用

//局部变量使用前必须初始化
    int[] array;
    system.out.println(array);//报错

//“array”是引用变量,直接打印array的时候,只会打印地址
    int[] array = null;
    system.out.println(array);//输出null

//数组只有定义的时候可以初始化
    int[] array1;
    array1 = {1, 2, 3, 4, 5};//报错

    int[] array1;
    array1 = new int[] {1, 2, 3, 4, 5}//正确

数组遍历,查找,排序,转字符,比较,填充......

import java.util.Arrays;
//数组遍历之增强for循环,for-each
    
    int[] array = {1, 2, 3, 4, 5};
    for (int x : array){
    //遍历这个数组的时候,把数组中的元素赋值给x
        system.out.println(x);
    }
//数组转字符串(利用工具类Arrays.toString)
    System.out.println(Arrays.toString(array));

//数组排序(利用工具类Arrays.sort)
    Arrays.sort(array,0 , 3)//对 [0,3) 区间的元素进行排序
    System.out.println(Arrays.toString(array));

//数组查找之Arrays.binerysearch(用于排序后查找目标元素是否在索引)
    int key = 5;
    int index = Arrays.binarySearch(array, key);
    //找到了就返回目标元素的索引,没找到就返回-1

//数组比较(Arrays.equals)
     Arrays.equals(array1,array2).sout;

//数组填充(Arrays.fill)
    int[] array = new int[10];
    Arrays.fill(array, 0,3,9);//现在array里[0, 3)里是9

//数组拷贝(Arrays.copyOf)
    int[] copy = Arrays.copyOf(array, array.length*2);//可以当作扩容

//按位置拷贝(Arrays.copyOfRange)
     int[] copy = Arrays.copyOf(array, 0, 3);//拷贝了array中 [0, 3) 区间的元素
    
    

二维数组定义和初始化

    int[][] array = {{1, 2, 3}, {4, 5, 6}};
    int[][] array = new int[][] {{1, 2, 3}, {4, 5, 6}};
    int[][] array = new int[2][]//可以定义不规则二维数组但行不能省略

 二维数组的打印

    int[][] array = {{1, 2, 3}, {2, 4, 6}}
//此时打印的是两个地址,二维数组存储的是每个一维数组的地址
    System.out.println(Arrays.toString(array));

//要打印二维数组中最小单元元素需要用deepToString
    System.out.println(Arrays.deepToString(array));

//或者双层for-each
    for(int[] tmp; array){
        for(int x, tmp){
            System.out.print(x + " ")
        }
        System.out.println
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
引用\[3\]中提供了一种方法来输出字符串数组。无论是二维字符数组还是一维字符指针数组,都可以通过循环遍历输出字符串数组中的所有字符串。例如,对于一个二维字符数组,可以使用以下代码来输出字符串数组中的所有字符串: ```c #include <stdio.h> int main() { char strs\[4\]\[10\] = {"tom", "jack", "rose", "lily"}; for (int i = 0; i < 4; i++) { printf("%s\t", strs\[i\]); } printf("\n"); return 0; } ``` 这段代码中,我们使用了一个循环来遍历字符串数组中的每个字符串,并使用`printf`函数来输出每个字符串。每个字符串都使用`%s`格式符进行输出。在循环结束后,我们使用`printf`函数输出一个换行符,以便在输出结果中换行。 请注意,对于一维字符指针数组,也可以使用类似的方法来输出字符串数组中的字符串。只需将循环中的`printf`函数替换为`puts`函数即可。 #### 引用[.reference_title] - *1* [字符数组的输入和输出](https://blog.csdn.net/NuYoaH502329/article/details/127797561)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C语言零碎知识点之字符串数组](https://blog.csdn.net/cnds123321/article/details/122973636)[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^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Bu_lng

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

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

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

打赏作者

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

抵扣说明:

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

余额充值