热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java二维数组实例分析

这篇文章主要介绍了Java二维数组实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java二维数组实例分析文

这篇文章主要介绍了Java二维数组实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java二维数组实例分析文章都会有所收获,下面我们一起来看看吧。

什么是数组

数组(Array)是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量/12713827)。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。 数组是用于储存多个相同类型数据的集合。

举例(装备栏)

Java二维数组实例分析

数组,元素和下标:

比如打王者荣耀时每个人都要出装备,每个人都有自己的装备栏。那么这个装备栏就是一个数组,里面的装备就是元素,装备放的位置就是下标。也就是说每个下标都对应一个装备,下标是从0开始的,所以第一个装备对应的下标为0

声明数组

int类型

声明数组时固定数组长度,数组的长度是不变的。 两种声明方式,第一种声明时直接赋值。第二种声明时不赋值,但固定长度,虽然没有赋值但是会默认将全部元素赋值0。

public class Test {
    public static void main(String[] args) {
        //声明int类型数组并初始化赋值
        int[] a={1,2,3,4,5,};
        //声明数组设值数组长度,并初始化全为0
        int[] b=new int[10];
    }
}

String类型

这里与上面没什么区别也是两种声明方法。

public class Test {
    public static void main(String[] args) {
        //声明int类型数组并初始化赋值
        int[] a={1,2,3,4,5,};
        //声明数组设值数组长度,并初始化全为0
        int[] b=new int[10];
        //声明String类型数组并初始化赋值
        String[] d={"aa","bb","cc"};
        //声明数组固定长度,默认初始化全为0
        String[] c=new String[10];
    }
}

数组操作

遍历数组

遍历数组: 两种方法,for循环和for in 循环

for循环,这里我在数组中放了三个元素,也就是装备。循环输出,从下标为0的开始输出. zb.length 是这个数组的大小

public class Test {
    public static void main(String[] args) {
       String[] zb={"冷静之靴","泣血之刃","名刀司命"};
        for (int i = 0; i < zb.length; i++) {
            System.out.println(zb[i]);
        }
    }
}

结果:

Java二维数组实例分析

for in循环,忘了这个循环怎么用的可以参考上一篇文章,金丹篇有详细介绍。

public class Test {
    public static void main(String[] args) {
       String[] zb={"冷静之靴","泣血之刃","名刀司命"};
        for (String s : zb) {
            System.out.println(s);
        }
    }
}

二维数组

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。

二维数组就是一个普通一维数组中每个元素都是一个一维数组,组合起来就是二维数组。

Java二维数组实例分析

继续用之前的例子。每局游戏开始,一方的数据面板有个默认排序(显示装备,经济的那个面板)。每个人有一个装备栏,相当于是一个数组。那么信息面板上有五个装备栏(一方队伍),并且按默认顺序排列,也相当于一个数组。一个装备栏算一个元素,装备栏的位置就是下标。但是这个数组中的每个元素也是一个数组,所以数据面板就相当于是一个二维数组。

声明二维数组

声明二维数组的方法和声明数组没什么区别还是两种情况

public class Test {
    public static void main(String[] args) {
        //声明二维数组并赋值
        int[][] a={{123},{456},{789}};
        //声明二维数组固定大小
        int[][] ns = new int[3][5];
    }
}

上面用王者荣耀介绍二维数组可能有些读者还有点迷,现在把上面那个例子用代码敲出来。

这里想不起来装备啥名了,后面三个人的装备我直接 复制了

public class Test {
    public static void main(String[] args) {
          //五个人,每个人装备栏有三个装备。
        String[][] wzry=new String[5][3];
        //给第一个人买装备,就是给第一个数组赋值
        wzry[0][0]="宝石";
        wzry[0][1]="血刀";
        wzry[0][2]="金身";
        //给第二个人买装备,就是给第二个数组赋值
        wzry[1][0]="铁剑";
        wzry[1][1]="草鞋";
        wzry[1][2]="护甲";
        //给第三个人买装备,就是给第三个数组赋值
        wzry[2][0]="宝石";
        wzry[2][1]="血刀";
        wzry[2][2]="金身";
        //给第四个人买装备,就是给第四个数组赋值
        wzry[3][0]="宝石";
        wzry[3][1]="血刀";
        wzry[3][2]="金身";
        //给第五个人买装备,就是给第五个数组赋值
        wzry[4][0]="宝石";
        wzry[4][1]="血刀";
        wzry[4][2]="金身";
    }
}

现在来运行一下看看每个人的装备都有啥

//第三个人的第二个装备
        System.out.println("第三个人的第二个装备");
        System.out.println(wzry[2][1]);
        //第一个人的第三个装备
        System.out.println("第一个人的第三个装备");
        System.out.println(wzry[0][2]);
        //第五个人的全部装备
        System.out.println("第五个人的全部装备");
        for (int i = 0; i < 3; i++) {
            System.out.println(wzry[4][i]);
        }

结果:

Java二维数组实例分析

关于“Java二维数组实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java二维数组实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程笔记行业资讯频道。


推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了在Java中gt、gtgt、gtgtgt和lt之间的区别。通过解释符号的含义和使用例子,帮助读者理解这些符号在二进制表示和移位操作中的作用。同时,文章还提到了负数的补码表示和移位操作的限制。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
杨胤才_669
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有