热门标签 | 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二维数组实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程笔记行业资讯频道。


推荐阅读
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 本文将探讨Java编程语言中对象和类的核心概念,帮助读者更好地理解和应用面向对象编程的思想。通过实际例子和代码演示,我们将揭示如何在Java中定义、创建和使用对象。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文探讨了在Java中如何正确地将多个不同的数组插入到ArrayList中,避免所有数组在插入后变得相同的问题。我们将分析代码中的问题,并提供解决方案。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 深入解析ArrayList与LinkedList的差异
    本文详细对比了Java中ArrayList和LinkedList两种常用集合类的特性、性能及适用场景,通过代码示例进行测试,并结合实际应用场景分析其优缺点。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • Java 实现二维极点算法
    本文介绍了一种使用 Java 编程语言实现的二维极点算法。该算法用于从一组二维坐标中筛选出极点,适用于需要处理几何图形和空间数据的应用场景。文章不仅详细解释了算法的工作原理,还提供了完整的代码示例。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • ------------------------------————————————————————————————1.定义一个类,实现与被增强对象相同的接口2.在类中定义一个对象,记住被增强 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 本文介绍 Java 中如何使用 Year 类的 atMonth 方法将年份和月份组合成 YearMonth 对象,并提供代码示例。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
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社区 版权所有