Java基础语法(十)数组?不不不,是麻袋,既能装白菜,又能装妹子

Java基础语法(十)数组?不不不,是麻袋,既能装白菜,又能装妹子

Java基础语法(十)数组?不不不,是麻袋,既能装白菜,又能装妹子

前言

好了,我们来说一下数组。

数组

什么是数组?在Java中,数组就是存储多个相同数据的集合,他们的内存地址是相邻的,所以可以通过数组取值。

这么说,是不是有点不好理解,那么这样呢?

我有一颗白菜,手拿着就能回家,那如果是十几颗呢?

我就可以用麻袋!麻袋!装进去,带回家!是的你要存的数据就是白菜,而这个数组就是你要用的麻袋~~~~~

img

麻袋中的白菜怎么拿出来我需要用的呢?

下标,Java中的下标是以0开始的,什么是下标,就是你从0开始查,查到某个你要的数据,查到几,下标就是几,就相当于,我在装白菜的时候,说“这是第0个白菜,这是第1个白菜…”,而他们也能听懂(别管他们能不能听懂,我说能就能,哈哈~~),等我需要哪一颗白菜的时候,喊一声,他就自己跳出来了

Java基础语法(十)数组?不不不,是麻袋,既能装白菜,又能装妹子

白菜可以是任意类型的,但是麻袋要和白菜必须是同样的类型

一维麻袋的定义

两种方法

  1. 直接定义法:直接把白菜装进麻袋a里
int[] a = {
   1,2,3,4,5,6,7};
  1. 实例化对象定义,初始化大小:不知道有什么白菜,先拿一个知道大小的麻袋a,然后再往里面装白菜
int[] a = new int[10];

怎么往麻袋里面装白菜

多种数据,多种数据,多种数据,重要的事情说三遍
多种,怎么办?一个一个往里面装~~
怎么一个一个装?这种重复的事情,当然交给循环来干了!
比如说我要把1-66装进去

int[] a = new int[66];
for(int i = 0;i<a.length;i++){
   
	a[i] = i+1;  //这就是我告诉白菜,你是第i个白菜
}

怎么取出我需要的白菜

我要把名字叫做5的白菜从麻袋里面拿出来,怎么做?

想必你们也都看到了这个a[i],这个就是对麻袋a中叫做i的白菜进行操作~

代码接着上面的

System.out.println(a[5]);  
//结果是6,为啥是6,因为我们的白菜是从1开始往里面装的,而名字是从0开始取的

如果想全部取出,也可以用循环选手哦!

多维数组(多维麻袋)

如果我的白菜,有的老,有的嫩,我想分开装,怎么办?

我告诉你,你这没必要用多个麻袋装,你可以在麻袋里在放几个麻袋啊。

这叫做:多维数组(麻袋里面的白菜,换成了麻袋,然后麻袋里面的麻袋里面装白菜)

定义一个多维麻袋

定义一个里面含有三个麻袋的麻袋,每个麻袋可以装4个白菜

int[][] a = new int[3][4];

往这个多维麻袋里防白菜

先打开这个a[]大麻袋,再打开里面的a[0][]小麻袋,然后才能往里面放白菜

小麻袋也有名字,也是下标,我们要往麻袋里面的第一个小麻袋的第一个位置放一个名字叫做1的白菜,这样做:

a[0][0] = 1;

按一定规律往每个麻袋放白菜

先往第一个小麻袋放,在往第二个小麻袋放…

for (int i = 0;i<a.length;i++){
   
            for (int j = 0;j<a[0].length;j++){
   
                a[i][j] = j;
	}
}

查看我们放入的是否正确

将我们的数组输出就行了

System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));

结果是:

[0, 1, 2, 3]
[0, 1, 2, 3]
[0, 1, 2, 3]

Arrays类操作麻袋

我们可以使用Arrays类操作我们的麻袋

  • 给麻袋的白菜赋值:通过 fill 方法。
    将指定的 int 类型白菜分配给指定 int 型麻袋指定范围中的每个元素
int[][] a = new int[3][4];
Arrays.fill(a[0], 5);
Arrays.fill(a[1], 5);
Arrays.fill(a[2], 5);
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
/* 输出结果: [5, 5, 5, 5] [5, 5, 5, 5] [5, 5, 5, 5] */
  • 对麻袋中的白菜按照大小排序:通过 sort 方法,按升序。
    排序,从小到大
int[][] a = new int[3][4];
//随便给几个值
a[0][2] = 5;
a[1][3] = 3;
a[2][0] = 4;
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
/* 排序前: [0, 0, 5, 0] [0, 0, 0, 3] [4, 0, 0, 0] */
Arrays.sort(a[0]);
Arrays.sort(a[1]);
Arrays.sort(a[2]);
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
/* 排序后: [0, 0, 0, 5] [0, 0, 0, 3] [0, 0, 0, 4] */
  • 比较数组:通过 equals 方法比较数组中元素值是否相等。
    不相等返回false
int[][] a = new int[3][4];
int[][] b = new int[3][4];
System.out.println(Arrays.deepEquals(a, b));
//结果:false

小练习

定义一个二维麻袋,里面有三个麻袋,分别装3个女孩(用字符串显示名字)

Java基础语法(十)数组?不不不,是麻袋,既能装白菜,又能装妹子

结语

今天把数组学习了,可以做点小练习,毕竟我觉得(我觉得)不简单,那么,今天就到这里就要说再见了呢,拜拜~

Java基础语法(十)数组?不不不,是麻袋,既能装白菜,又能装妹子

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100262.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 511遇见易语言教程外形框和模仿进度条闪烁效果「建议收藏」

    511遇见易语言教程外形框和模仿进度条闪烁效果「建议收藏」本节课录制了易语言的外形框,录了外形看的填充颜色、线条颜色、现行选中项,线型、线条效果,线宽、外形、并且实现了通过外形框来实现仿制进度条,及闪烁效果。视频链接:73外形框和模仿进度条闪烁效果源码:.版本2.子程序__启动窗口_创建完毕时钟1.时钟周期=10.子程序_时钟1_周期事件置随机数种子().如果真(外形框3.宽度≤400)外形框3.宽度=外形框3.宽度+取随机数(1,10).如果真结束.版本2.子程序__启

    2022年7月13日
    17
  • Mybatis中javaType和jdbcType对应关系

    Mybatis中javaType和jdbcType对应关系

    2021年9月7日
    75
  • 刚开的博客测试下[通俗易懂]

    刚开的博客测试下[通俗易懂];;;;;;;;;——————-iK7VUYG0yF6lS3QNNmW4Gw==tRymiHsi9AbKpr3tTFXxup1GFhuX0czs73gSv/E7b5c=uk29oXxJxAg+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=eIWSkIow/vo+D0WGWLg/LaJ5+a4y4SSHbrMB4JywbGg=pcL609

    2022年7月11日
    16
  • 利用XLSTransformer生成多sheet的excel

    利用XLSTransformer生成多sheet的excelXLSTransformertransformer=newXLSTransformer();Filetemplate=ResourceUtils.getFile("classpath:template/excel/claim_summary_report.xls");InputStreamis=newFileInputStream(te…

    2022年7月24日
    6
  • matlab三维拟合曲面_热传导的三种边界条件

    matlab三维拟合曲面_热传导的三种边界条件1第三类边界条件的热传导方程1.1热传导方程热传导在一维的各向同性介质里的传播可用以下方程表达:∂u∂t=a∂2u∂x2(1)\frac{\partialu}{\partialt}=a\frac{\partial^{2}u}{\partialx^{2}}\tag{1}∂t∂u​=a∂x2∂2u​(1)其中,u=u(x,t)u=u(x,t)u=u(x,t),a=λcρa=\frac{\lambda}{c\rho}a=cρλ​,λ\lambdaλ表示介质的热传导率,ccc表

    2025年7月31日
    2
  • 数论 同余定理

    数论 同余定理同余定理给定一个正整数 m 如果两个整数 a 和 b 满足 a b 能够被 m 整除 即 a b m 得到一个整数 那么就称整数 a 与 b 对模 m 同余 记作 a b modm 对模 m 同余是整数的一个等价关系 记法 a b modd 性质 反身性 对称性 传递性等同余符号两个整数 a b 若它们除以整数 m 所得的余数相等 则称 a 与 b 对于模 m 同余或 a 同余于 b 模 m 记作 a b modm

    2025年7月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号