龙空技术网

数组

丷何以笙箫默丷 17

前言:

今天咱们对“println输出数组”可能比较注重,你们都想要剖析一些“println输出数组”的相关资讯。那么小编在网摘上汇集了一些关于“println输出数组””的相关文章,希望你们能喜欢,姐妹们一起来学习一下吧!

1、数组的含义

一组能够存储相同数据类型值的变量集合。如果我们有很多个相同类型的变量需要存除,如果每一个变量都单个定义,那么就会非常繁琐,而且不便于后期代码的维护。

就比如生活中的衣柜,如果给每一件衣服都放在一个衣柜里,那么不仅存放衣服这一过程会非常复杂,需要不停开门关门,对有限的空间资源占用也很大,所以我们会选择将所有的衣服放在同一个衣柜里,此时的衣服就相当于相同类型的变量,衣柜就相当于一个数组。

2、定义数组的几种方式

(1)使用默认的初始值来初始化数组中的每一个元素。

定义格式:

数组元素类型[ ] 数组名 = new 数组元素类型[ 数组中元素个数(数组的长度)]

示例

public class Test01 {	public static void main(String[] args) {		//1、定义一个名为array的数组		int[] array = new int[10];	}}

(2)先声明,然后再赋予默认的初始值,就是将(1)中的进行拆分

定义格式:

数组元素类型[ ] 数组名;数组名 = new 数组元素类型[ 数组中元素个数(数组的长度)];

示例

public class Test01 {	public static void main(String[] args) {		//2、定义一个名为array的数组		int[] array ;		array = new int[10];	}}

(3)先声明,再使用指定的值进行初始化

定义格式

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

示例

public class Test01 {	public static void main(String[] args) {		//3、定义一个名为array的数组		int[] array = new int[] {1,2,3,4,5,6,7};	}}

(4)将第三种写法简写,直接给数组赋值

定义格式

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

示例

public class Test01 {	public static void main(String[] args) {		//4、定义一个名为array的数组		int[] array = {1,2,3,4,5,6,7};	}}

注意

数组中的每一个数据称为元素,数组元素的位置从0开始,数组中的位置称为下标;

数组一定要有长度,在定义时指定长度或者直接给定数组的元素个数,即为长度;

3、遍历数组

(1)利用for循环遍历数组

public class Test01 {	public static void main(String[] args) {		//定义一个名为array的数组		int[] array = {1,2,3,4,5,6,7};		//for循环遍历数组		int length = array.length;		for(int i=0;i<length;i++) {			System.out.println(array[i]);		}	}}控制台输出:1 2 3 4 5 6 7

(2)利用foreach遍历数组

语法格式

for(数组中的元素类型 变量 : 数组名){    //对变量需要进行的操作}

这种遍历方式不能控制下标,会遍历数组中所有的数据;

示例

public class Test01 {	public static void main(String[] args) {		//定义一个名为array的数组		int[] array = {1,2,3,4,5,6,7};		//foreach循环遍历数组		for(int arr : array) {			System.out.println(arr);		}	}}控制台输出:1 2 3 4 5 6 7

(3)利用可变参数遍历数组

语法

public static void traversal(int... 变量名){    //遍历操作}

示例

public class Test01 {	public static void main(String[] args) {		traversal(1,2,3,4);		}	public static void traversal(int... array) {		int length = array.length;		for(int i=0;i<length;i++) {			System.out.println(array[i]);		}	}}

注意点

可变参数相当于一个数组,作为数组使用,传值的时候直接传数组;

可变参数只能是参数列表中的最后一个,如果可变参数后面还有参数,会把传递的参数全部赋值到可变参数中,会导致可变参数后面的参数接收不到值。

4、遍历数组时的异常

(1)空指针异常(NullPointerException)

当一个变量为null时,即没有赋值时,调用该变量的属性和方法

示例

public class Test02 {	public static void main(String[] args) {		int[] array = null;		for(int i=0;i<array.length;i++) {			System.out.println(array[i]);		}	}}控制台输出:Exception in thread "main" java.lang.NullPointerException	at study.Test02.main(Test02.java:6)

(2)数组下标越界异常(ArrayIndexOutOfBoundsException)

遍历数组时超出了数组的实际长度,就会导致数组下标越界异常

示例

public class Test03 {	public static void main(String[] args) {		int[] array = {1,2,3,4};		for(int i=0;i<5;i++) {			System.out.println(array[i]);		}	}}控制台输出:1234Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4	at study.Test03.main(Test03.java:8)

5、数组内存结构

数组内存结构

在内存中分栈内存和堆内存,

栈内存大小固定,用于存储局部变量、基本数据类型的临时变量和引用类型变量;

堆内存大小不固定,存储的是对象。数组是引用类型,会存储在堆内存中;

存储数组时,实际是在栈内存中存入了一个地址,这个地址指向堆中一块特定的内存区域。

6、二维数组

Java中没有真正的多维数组,多维数组的表示方式是数组中的元素还是数组,遍历二维数据就是将利用两次for循环,外层for循环遍历外层数组,内层for循环遍历数组中的数组,完成要完成的操作即可。

示例:

public class Test04 {	public static void main(String[] args) {		int[][] array = {{1,2,3},{4,5,6},{7,8,9}};		int temp = 0;		int length1 = array.length;		for (int i = 0; i < length1; i++) {			int length2 = array[i].length;			for (int j = 0; j < length2; j++) {				temp = array[0][0];			}		}		System.out.println(temp);	}}

7、数组的最大值与最小值

public class Teat05 {	public static void main(String[] args) {		int[] array = {25,435,245,24,5};		getMax(array);		getMin(array);	}	public static void getMax(int[] array) {		int max = array[0];		int length = array.length;		for(int i=0;i<length;i++) {			if(array[i]>max) {				max = array[i];			}		}		System.out.println("数组中最大值是"+max);	}	public static void getMin(int[] array) {		int min = array[0];		int length = array.length;		for(int i=0;i<length;i++) {			if(array[i]<min) {				min = array[i];			}		}		System.out.println("数组中最小值是"+min);	}}控制台输出:数组中最大值是435数组中最小值是5

标签: #println输出数组 #定义一个数组类型为字符串类型求数组中所有数的和