栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组

数组是一种数据结构,用来存储同一类型的集合,也就是说数组包含的变量必须是相同类型!
二.创建数组
基本语法如下:
//动态初始化数据类型[] 数组名称 = new 数据类型 []{初始化数据};//静态初始化数据类型[] 数组名称 = {初始化数据};
代码示例
public class java { public static void main(String[] args) { //动态初始化 //数据类型[] 数组名称 = new 数据类型 []{初始化数据}; int[] arr1 = new int[]{1,2,3}; //静态初始化 //数据类型[] 数组名称 = {初始化数据}; int[] arr2 ={1,2,3}; }}
注意:静态初始化的时候,数组元素的个数和初始化数据的格式是一样的!
如果你学过其他语言,例如C语言,c语言的数组创建是这样的
数据类型 数组名[]={初始化数据};
例如: int arr[] = {1,2,3};
其实Java中也可以做到这样,但是不推荐这么写,Java是一种强类型语言,变量前面就是类型,一目了然!
三.数组的使用
我们看一个例子,如何获取数组的长度
代码如下:
public class java { public static void main(String[] args) { int[] arr ={1,2,3}; int len = arr.length; System.out.println(len);//3 }}
毫无疑问这个代码运行结果是3;
那么我们如何访问数组元素呢?
我们来看下面的代码:
public class TestDemo { public static void main(String[] args) { int[] arr ={1,2,3}; int len = arr.length; System.out.println(len);//3 System.out.println(arr[0]);//1 System.out.println(arr[1]);//2 System.out.println(arr[2]);//3 }}
显而易见的是,直接使用数组名[数组元素下标]来访问数组元素。但出现了一个问题,为什么arr[0]是1而arr[1]是2?为什么不是arr[1]是1 arr[2]是2吗?
这里我们得出一个结论,数组的下标是从0开始的,不是从1开始的。
我们来尝试访问一下arr[3]看会出现什么情况.
public class TestDemo { public static void main(String[] args) { int[] arr ={1,2,3}; int len = arr.length; System.out.println(len);//3 System.out.println(arr[0]);//1 System.out.println(arr[1]);//2 System.out.println(arr[2]);//3 System.out.println(arr[3]); }}

我们发现前面都和我们预想一样输出结果都正确,但唯独出现了一串红字,这串红字说明存在数组越界。
我们由此得出一个结论:在Java下标访问操作中不能超出有效范围也就是[0,length-1],如果超出有效范围,会抛出下标越界异常。
四.数组的遍历
所谓遍历,是指将数组中的所有元素都访问一遍,不重不漏,需要搭配循环语句!
我们学了数组的访问,那么我们如何遍历数组呢?有两种常用方法 一种是for循环,一种是foreach循环。
for循环示例
public class TestDemo { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; for(int i = 0 ;i < arr.length;i++){ System.out.print(arr[i]+" "); } }}

我们发现打印出来了数组的元素。
for-each示例
foreach基本使用方法:元素类型 变量:数组名
public class TestDemo { public static void main(String[] args) { int[] arr = {1,2,3,4,5}; for(int x:arr){ System.out.print(x+" "); } }}

执行结果一致。
那么我们什么时候使用for循环,什么时候使用foreach循环?
foreach循环适用于不知道循环次数,或者是循环次数很难计算。
for循环适用于知道循环次数,在复杂的循环中效率更高。
如果是在循环中使用增删查改操作,for循环可以实现,因为foreach循环不能实现这些操作。
五.数组作为方法的参数
基本用法:
1.打印数组内容
代码示例:
public class TestDemo { public static void printArray(int[] arr){ for(int x:arr){ System.out.print(x+" "); } } public static void main(String[] args) { int[] arr = {2,3,4,5,6}; printArray(arr); }}

2.求数组元素的和
public class TestDemo { public static int sum(int []arr) { int sum = 0;//一定要初始化为0,不然是随机值 for (int i = 0; i < arr.length; i++) { sum += arr[i]; } return sum; } public static void main(String[] args) { int[] arr = {1,2,3,4,5}; int ret = sum(arr); System.out.println(ret); }}

3.数组每个元素乘2输出
public class TestDemo { public static void multiplication(int[] arr){ for(int i = 0 ;i < arr.length;i++){ arr[i]=arr[i]*2; } } public static void printArray(int[] arr){ for(int x:arr){ System.out.print(x+" "); } } public static void main(String[] args) { int [] arr = {1,2,3,4}; System.out.println(“乘2前:”); printArray(arr); System.out.println(); System.out.println(“乘2后:”); multiplication(arr); printArray(arr); }}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号