当前位置: 首页 > article >正文

Java——一维数组和二维数组(主要详讲一维数组)

目录

一维数组

创建,初始化,赋值

注意

一些数组的便捷使用方法

使用 .length得到数组长度

Arrays相关的使用

二维数组


文章某些地方会出现java与c语言的比较

文章内容参考韩顺平老师的课堂笔记

一维数组

创建,初始化,赋值

可以先创建再初始化,也可以创建的时候直接初始化。但是,如果选择先创建再初始化,就不能够整体赋值,只能一个一个赋值;如果选择创建的同时直接初始化,就可以直接整体赋值。

//首先,我们需要知道,以下两句话是相同的效果。平常写的时候就看个人习惯
int[] a;
int a[];

/*—————————————————动态初始化:只规定数组长度,不做初始化赋值—————————————————*/
//只有一种方式: 元素个数必须写在new后面的方括号里,不能写在等号前面方括号里
int a[] = new int[6];

/*—————————————————静态初始化:创建的同时确定内容—————————————————*/
//第一种
int a[]={6,6,6};
//第二种
int a[]=new int[]{6,6,6};
//第三种
int a[]=new int[3];
a[0]=a[1]=a[2]=6;    //当然也可以通过循环来初始化赋值
  • 一点个人总结的的小技巧:方括号里的数字,整体初始化赋值,这两者必须有且只有一个。如果要整体初始化,那么方括号里就不能写具体的数字;如果方括号里写了具体的数字,就不能整体初始化赋值。

如果不做初始化,那么将自动初始化为:

整型数组都默认初始化为 0(byte,short,int,long)

浮点型数组,默认初始化为 0.0(float,double)

char默认初始化为 \u0000 

布尔型数组初始化为 false

String初始化为null

注意

  1. 创建数组的时候,元素个数是可以写变量的哦。但是c语言就只能是常量,所以java在这里相对灵活了一点点。
int n=6;
int a[]=new int[n];

     2.元素个数确定后无法更改(跟c语言一样不是动态的),使用的时候也不能越界。

     3.凡是有new关键字出现,jvm就会在堆内存中为其开辟一块新的空间。我们做动态初始化的时候,那个等号其实就是把开辟的空间地址赋给数组变量。

一些数组的便捷使用方法

使用 .length得到数组长度

int a[]={1,2,3,4,5};
System.out.println(a.length);
//运行结果为:5

Arrays相关的使用

Arrays.fill 快速初始化 / 填充一个数组

int a[]=new int[6];
Arrays.fill(a , 6);
//现在数组a每个元素都是 6

 Arrays.toString 以字符串形式输出一个数组

int a[]=new int[6];
Arrays.fill(a , 6);
System.out.println(Arrays.toString(a));
//输出结果:[6, 6, 6, 6, 6, 6]

Arrays.sort 将数组按照升序排列

int a[]={5,4,3,2,1};
Arrays.sort(a);
System.out.println(Arrays.toString);
//输出结果:[1,2,3,4,5]

二维数组

int a[][]=new int[3][4];
//第一个方括号可以看做有多少个一维数组,第二个看做到了这个一维数组的第几个元素
//可以抽象地理解为,前面表明多少行,后面表明多少列

其余性质,使用方法,注意事项均和一维数组一样。


http://www.kler.cn/a/15802.html

相关文章:

  • 通过JS删除当前域名中的全部COOKIE教程
  • JMeter与大模型融合应用之JMeter日志分析服务化实战应用
  • 小白进!QMK 键盘新手入门指南
  • 如何在 Ubuntu 上安装 Jellyfin 媒体服务器
  • Java中的集合类与线程安全的讨论
  • NFS-Ganesha 核心架构解读
  • Vivado约束添加方法:一文全面解析IO和时序约束
  • RSA算法仿真模拟
  • package.json第三方配置
  • Linux 中安装配置 LVS 实现前向代理负载均衡的步骤
  • C++linux高并发服务器项目实践 day4
  • vueuse常用hooks
  • docker登录harbor、K8s拉取镜像报http: server gave HTTP response to HTTPS client
  • Scala语言入门以及基本语法
  • 【Java入门合集】第二章Java语言基础(一)
  • 简单认识 Postman界面操作
  • 千耘导航让普通棉农享受到科技红利
  • 多维评测指标解读2022MSU世界编码器大赛结果
  • 考研拓展:汇编基础
  • Python 多线程实例
  • 「SQL面试题库」 No_53 项目员工II
  • web小游戏开发:华容道(一)
  • WordPress切换为经典编辑器可视化/文本切换不显示解决方法
  • 入参校验产品化 schema
  • SQL server 数据库同步(发布与订阅)【解决办法】
  • 即时通讯独立系统源码包含Android 、iOS、PC