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();
        }
    }
}


相关文章
|
3天前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
6天前
|
存储 前端开发 JavaScript
【前端学java】一篇文章带你精通java 中的数组(10)
【8月更文挑战第10天】一篇文章带你精通java 中的数组
9 3
【前端学java】一篇文章带你精通java 中的数组(10)
|
6天前
|
Java 索引
java中的栈(利用数组实现栈)
这篇文章通过Java代码示例介绍了如何使用数组实现栈操作,包括栈的初始化、入栈、出栈、判断栈满和空以及遍历栈的方法。
java中的栈(利用数组实现栈)
|
8天前
|
前端开发 Oracle Java
【前端学java】java开发的依赖安装与环境配置(1)
【8月更文挑战第8天】java开发的依赖安装与环境配置
26 1
【前端学java】java开发的依赖安装与环境配置(1)
|
11天前
|
Java
Java数组几道练习题
Java数组几道练习题
27 11
|
6天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
6天前
|
安全 前端开发 Java
Web端系统开发解决跨域问题——以Java SpringBoot框架配置Cors为例
在Web安全上下文中,源(Origin)是指一个URL的协议、域名和端口号的组合。这三个部分共同定义了资源的来源,浏览器会根据这些信息来判断两个资源是否属于同一源。例如,https://www.example.com:443和http://www.example.com虽然域名相同,但由于协议和端口号不同,它们被视为不同的源。同源(Same-Origin)是指两个URL的协议、域名和端口号完全相同。只有当这些条件都满足时,浏览器才认为这两个资源来自同一源,从而允许它们之间的交互操作。
Web端系统开发解决跨域问题——以Java SpringBoot框架配置Cors为例
|
11天前
|
Java
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
Java数组的2个小案例(杨辉三角分析和商品管理增删改查)
36 4
|
5天前
|
SQL 存储 Java
完整java开发中JDBC连接数据库代码和步骤
该博客文章详细介绍了使用JDBC连接数据库的完整步骤,包括加载JDBC驱动、提供连接URL、创建数据库连接、执行SQL语句、处理结果以及关闭JDBC对象的过程,并提供了相应的示例代码。
|
5天前
|
Java
Java中 字符串,字符串数组,整型数组初始化
Java中 字符串,字符串数组,整型数组初始化
6 0