一.1维数组

概念:

1.存储多个数据(一组数据的容器) ​ 2.元素:数组中数据 ​ 3.下标/索引:元素的编号,从0开始

数组的声明:

数据类型 [ ] 数组名;

数组的初始化:

1.静态初始化:初始化时,数据由程序员给定,长度由系统自动分配 ​ 2.动态初始化:初始化时,长度由程序员给定,数据由系统分配默认值

    //动态初始化String[] names = new String[5];或者String[] names;names = new String[5];

整数类型默认:0 ​ 浮点类型默认:0.0 ​ 字符类型默认:' ' ​ 布尔类型默认:false ​ 引用类型默认:null(空)

注意:

1.数组是引用数据类型 ​ 2.数组可以存储多个数据(这个是和变量最大的不同) ​ 3.数组一旦初始化后,长度不可以改变

数组的排序:冒泡排序

口诀:

N个数字来排队 ​ 两两相比,小靠前 ​ 外层循环N-1 ​ 内层循环N-1-i

 int[] is = {45,69,32,28,52,18};for(int i = 0;i<is.length-1;i++){//冒泡排序for(int j = 0;j<is.length-1-i;j++){if(is[j] > is[j+1]){int temp = is[j];is[j] = is[j+1];is[j+1] = temp;
for(int num : is){//遍历输出System.out.println(num);

数组的扩容:

含义:新建一个数组,给予新的长度,将原数组数据拷贝过去即可。

    //原数组   String[] names = {"北条麻衣","易烊千玺","肖战","王一博"};//新数组String[] newNames = new String[names.length*2];//将原数组中的数据设置到新数组中for(int i = 0;i<names.length;i++){newNames[i] = names[i];}//将新数组的地址赋值给原数组的引用names = newNames;//遍历原数组for(String str : names){System.out.println(str);

数组的删除:

太过简单,此处不做讲解

Arrays工具类:

含义:Java提供的专门操作数组的工具类

工具类:该类里的所有方法都是静态的

API:Java类的使用说明书

        int[] is = {45,69,32,28,52,18};//排序(18,28,32,45,52,69)Arrays.sort(is);//查找(返回值:如果key在数组中,就返回数组的下标;否则返回 -插入点-1)int index = Arrays.binarySearch(is,56);System.out.println("下标为:" + index);//替换//Arrays.fill(is,888);//替换局部:从开始下标处(包含)替换到结束下标处(不包含)//Arrays.fill(is,1,4,666);//将数组转换为字符串String str = Arrays.toString(is);System.out.println(str);

二.2维数组

含义:

二维数组中包含了多个一维数组

数组的声明:

数据类型 [ ] [ ] 数组名;

数组的初始化:

1.静态初始化:数据由程序员指定,长度由系统自动分配 ​ 2.动态初始化:长度由程序员指定,数据由系统赋默认值 ​ 整数类型:0 ​ 浮点类型:0.0 ​ 字符类型:' ' ​ 布尔类型:false ​ 引用类型:null

        //通关下标获取元素String str = names[0][1];System.out.println("通关下标获取元素:" + str);//获取长度System.out.println("获取二维数组中一维数组的个数:" +          names.length);//2System.out.println("获取二维数组中第一个一维数组元素的个数:" + names[0].length);//3System.out.println("获取二维数组中第二个一维数组元素的个数:" + names[1].length);//4System.out.println("--------------");//遍历思路:循环取出一维数组,再循环取出一维数组的元素//遍历 -- forfor (int i = 0; i < names.length; i++) {for (int j = 0; j < names[i].length; j++) {System.out.println(names[i][j]);}}System.out.println("--------------");//遍历 -- foreachfor (String[] ss : names) {for (String s : ss) {System.out.println(s);}}

1维数组 2维数组相关推荐

  1. Numpy 生成 Bool型数组、一维转多维数组reshape、多维转一维数组、替换数组元素、提取数组元素、数组交集、差集、过滤数组元素、二维数组反转行、交换数组维度

    1. 创建一个 [3,5] 所有元素为 True 的数组 In [162]: b = np.ones((3,5), dtype=bool)In [163]: b Out[163]: array([[ ...

  2. C++二维数组名与数组指针的思考

    二维数组名和数组指针可以当做一个东西用,但两者之间的含义是不同的. 二维数组名是一个指向数组中所有元素的指针,而数组指针是一个行指针.体现在sizeof()上的不同. #include <ios ...

  3. HDU2642(二维的树状数组)

    二维的树状数组,我记得是模版!^ _ ^ 题意很清楚:就是这部分的原理:sum(x1,y1)+sum(x2-1,y2-1)-sum(x1,y2-1)-sum(x2-1,y1);其实可以和概率论中的一个 ...

  4. java 3维_java 二维/三维/多维数组

    如图,声明一个数组,引用存在栈中,new出来的对象存在堆中. 我把多维数组理解为数组中嵌套另一个数组. 下方代码为三维数组,如果是动态赋值,只需要声明多维数组的大小(new int[3][][]),需 ...

  5. C# 指定格式的字符串截成一维数组(二维数组)的操作类

    指定格式的字符串截成一维数组(二维数组)的操作类 做项目时经常会遇到将"1,3,a,b,d"截成一维数组或将"1,a;2,b;3,c;4,d"截成二维数组.虽然 ...

  6. 编程之美2.15 二维数组最大子数组的和(数组下标从(1,1)开始)

          首先,我们看到这篇文章的题目,我们就会想到之前的那个题目 -- 连续子数组最大和问题.这个问题无疑就是把原问题扩展到二维的情况.       想起来这个问题也不是很难,我们可以求解一维矩阵 ...

  7. php n维数组扁平化,js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解...

    数组的扁平化:将多维数组变成一维数组 对于一个像这样的嵌套数组:a=[1,[2,[3,4]],5,6]我们想要把它变成一个一维数组,有下面几种方法: 方法一:递归一 function parseArr ...

  8. python将二维数组转换为一维数组_python的set处理二维数组转一维数组的方法示例...

    for splitValue in set(dataset[:, featureIndex].tolist()): 首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重:但是set接收 ...

  9. 【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )

    文章目录 一.指针数组 和 二维数组 数据 拷贝到 自定义二级指针 中 1.函数形参 设计规则 2.三种内存模型 对应 函数形参 指针退化规则 二.完整代码示例 一.指针数组 和 二维数组 数据 拷贝 ...

  10. 【C 语言】数组 ( 多维数组操作模型 | 取某个数组元素地址 | 取某个数组元素值 )

    文章目录 一.多维数组操作模型 1.取出某个数组元素地址 2.取出某个数组元素值 总结 一.多维数组操作模型 以 // 声明一个多维数组int array[2][3]; 二维数组为例 ; 1.取出某个 ...

最新文章

  1. Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现
  2. angular 图片引入_推荐一个 angular 图像加载插件
  3. Boosting集合算法详解(一)
  4. 为什么用Spring来管理Hibernate?
  5. 移除集合效率高还是add高_java集合详解
  6. php控制器的作用,控制器定义 · ThinkPHP5.0完全开发手册 · 看云
  7. 转数组_Java中IO必杀技-文件转字节数组
  8. 两台无线路由桥接(WDS)的简单方法(TP-LINK841N,当AP用)
  9. Ubuntu在系统栏 给应用程序添加提示图标
  10. 二等水准数据平差_自编单次二等水准平差计算表
  11. 关于Tapestry5中的配置项的说明
  12. vue 自己捣鼓周日程日历组件(WSchedule)
  13. 《软件随想录》:Joel Spolsky对计算机学生的七大建议
  14. 怎么安装iso服务器系统安装win7系统,win7纯净版iso怎么安装
  15. 2021 年年度最佳开源软件
  16. egg Cannot find module ‘diagnostics_channel‘
  17. OSPF路由协议及工作原理(一)
  18. C++中的stack容器适配器
  19. 智能巡检系统:企业安全生产管理的智能助手
  20. python并列柱状图x轴设定_Matplotlib绘图时x轴标签重叠的解决办法

热门文章

  1. 有多少人等着看百度区块链的笑话?
  2. 社会工程学在***中的应用--一个密码引发的“血案”
  3. linux系统切换root用户的多种方式
  4. 数据可视化工具之常见的折线图与折现面积图分析
  5. 社区里的志愿者与专业人员
  6. #include tchar.h 是什么意思
  7. win10下anaconda、tensorflow-cpu以及tensorflow-gpu安装
  8. 诺基亚2016年会重返智能手机市场?
  9. 技术大牛都在看的10本书,找到了
  10. 【python练习题 03】高矮个子排队