Java开发——4.数组

简介: 数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。

数组:

数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。


格式一:

数据类型[] 数组名;

示例:

int[] arr;        

double[] arr;      

char[] arr;


格式二:

数据类型数组名[];

示例:

intarr[];

doublearr[];

chararr[];


动态数组初始化:

数组动态初始化就是只给定数组的长度,由系统给出默认初始化

int[] arr=newint[3];
System.out.println(arr);//[I@1540e19d//访问数组元素格式System.out.println(arr[0]);//0System.out.println(arr[1]);//0System.out.println(arr[2]);//0



静态数组初始化:

在创建数组时,直接将元素确定,由系统计算出数组的长度。

标准定义格式:

数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};


简写定义格式:

数据类型[] 数组名 ={元素1,元素2,...};


publicclassArrayDemo {
publicstaticvoidmain(String[] args) {
//定义数组int[] arr= {1, 2, 3};
//输出数组名System.out.println(arr);
//输出数组中的元素System.out.println(arr[0]);//1System.out.println(arr[1]);//2System.out.println(arr[2]);//3      }
  }


数据元素的访问——索引:


每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。

这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。


publicclassArrayDemo {
publicstaticvoidmain(String[] args) {
int[] arr=newint[3];
//输出数组名System.out.println(arr); //此处输出的是:数组名的地址值[I@880ec60//输出数组中的元素//数组名[索引值]System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
    }
}


遍历输出数组中的内容:


//普通的遍历的形式publicclassArrayTest01 {
publicstaticvoidmain(String[] args) {
int[] arr= { 1, 2, 3, 4, 5 };
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
  }
}
//利用循环进行数组遍历,注意数组下标是从0开始的,所以最大索引值为 数组长度-1//数组的最大长度可以用 数组名.length 获取数组的最大长度publicclassArrayTest01 {
publicstaticvoidmain(String[] args) {
//定义数组int[] arr= {11, 22, 33, 44, 55};
//使用通用的遍历格式for(intx=0; x<arr.length; x++) {
System.out.println(arr[x]);
        }
    }
}


案例:实现数组中的内容对称:

原数组:{1,2,3,4,5}


对称后:{5,4,3,2,1}

注:中间的数不变,下标为0的位置与下标为length-1位置的数值进行互换;

下标为1的位置与下标为length-2位置的数值进行互换...


publicclassDemo{
publicstaticvoidmain(String[] args) {
int[] arr= {1,2,3,4,5};
for(intx=0;x<arr.length/2;x++){
inttemp=arr[x];
arr[x] =arr[arr.length-1-x];
arr[arr.length-1-x] =temp;
    }
//输出反转后的数组for(intx=0;x<arr.length;x++){
if(x==arr.length-1){
System.out.println(arr[x]);
        }else{
System.out.print(arr[x]+",");
        }
    }
  }
}


二维数组


二维数组其实就是这个二维数组中有 多少个 一维数组。

格式一:

数据类型[][] 变量名 = new 数据类型[m][n];

m表示这个二维数组有多少个一维数组

n表示每一个一维数组的元素个数


格式二:

数据类型[][] 变量名 = new 数据类型[m][];

m表示这个二维数组有多少个一维数组
这一次没有直接给出一维数组的元素个数,可以动态的给出


格式三:

标准版:

数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};

简化版:

数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};


例子:

简化版:int[][] arr =  { {1,2,3} , {4,5} , {6} };


遍历二维数组:


publicclassArrayCase {
publicstaticvoidmain(String[] args) {
// 定义二维数组int[][] arr= {{22, 66, 44}, {77, 33, 88}, {25, 45, 65}};
//遍历第一个一维数组for(intx=0; x<arr[0].length; x++){
System.out.println(arr[0][x]);
        }
System.out.println("=====================");
//遍历第二个一维数组for(intx=0; x<arr[1].length; x++){
System.out.println(arr[1][x]);
        }
System.out.println("=====================");
//遍历第三个一维数组for(intx=0; x<arr[2].length; x++){
System.out.println(arr[2][x]);
        }
System.out.println("=====================");
//用户循环改进yfor (inty=0; y<arr.length ; y++) {
for(intx=0; x<arr[y].length; x++){
System.out.println(arr[y][x]);
            }
System.out.println();
        }
    }
}


相关文章
|
2月前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
204 10
|
2月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
9天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
56 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
19天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
100 13
|
24天前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
56 10
|
17天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
54 2
|
27天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
2月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
66 2
|
2月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。