Java数组(未完待续)

诸神缄默不语-个人CSDN博文目录

我写Java的一天,是复健的一天。
很难想象我本科考96分的一门课,在区区5年之后,我就忘得这么彻彻底底。

数组Array:用来存储固定大小的同类型元素

1. 创建数组

数组是Java的内置对象,所以可以直接实例化。
如果不直接赋值,默认用0来填充元素。

  1. 一维数组
    1. 先声明后创建(指定数组元素数目)
      dataType[] arrayRefVar;  //或dataType arrayRefVar[];
      arrayRefVar = new dataType[arraySize];
      
    2. 在一步内完成声明与创建(指定数组元素数目)
      ataType[] arrayRefVar = new dataType[arraySize];
      
      示例:
      int[] a= new int[4];
      
    3. 在一步内完成声明与创建(直接赋值)
      dataType[] arrayRefVar = {
              
              value0,value1,value2,value3,value4,value5};
      
      示例:
      int[] arr=new int[] {
              
              4,4,6,5,3,2,8,1};
      
  2. 二维数组
    type[][] typeName = new type[typeLength1][typeLength2];  //或type[] typeName[] = new type[typeLength1][typeLength2];     或type typeName[][] = new type[typeLength1][typeLength2]; 
    
    引用:
    str[1][0];           //第二行第一列
    

2. 数组转字符串

通过迭代的方式一步一步塞进去我就不写了。

通过Arrays类的方法进行转换:
一维数组:Arrays.toString(array)
多维数组:Arrays.deepToString(mat)

多维数组示例:

// A Java program to print 2D array using deepToString()
import java.util.Arrays;

public class GfG
{
    
    
	public static void main(String[] args)
	{
    
    
		// Create a 2D array
		int[][] mat = new int[2][2];
		mat[0][0] = 99;
		mat[0][1] = 151;
		mat[1][0] = 30;
		mat[1][1] = 5;

		// print 2D integer array using deepToString()
		System.out.println(Arrays.deepToString(mat));
	}
}

输出:[[99, 151], [30, 5]]

deepToString不能直接用于int一维数组,但是Integer和String的数组就可以。示例代码:

// Java program to demonstrate that deepToString(strs))
// works for single dimensional arrays also, but doesn't
// work single dimensional array of primitive types.
import java.util.Arrays;
public class Deeptostring
{
    
    
	public static void main(String[] args)
	{
    
    
		String[] strs = new String[] {
    
    "practice.geeksforgeeks.org",
									"www.geeksforgeeks.org"
									};
		System.out.println(Arrays.deepToString(strs));
		
		Integer [] arr1 = {
    
    10, 20, 30, 40};
		System.out.println(Arrays.deepToString(arr1));
		
		/* Uncommenting below code would cause error as
		deepToString() doesn't work for primitive types
		int [] arr2 = {10, 20, 30, 40};
		System.out.println(Arrays.deepToString(arr2)); */	
	}
}

输出:

[practice.geeksforgeeks.org, www.geeksforgeeks.org]
[10, 20, 30, 40]

System.out.println(array);无法直接将数组打印成人类可读的形式,这样打印是的是数组的首地址。

其他本文撰写过程中使用的参考资料

  1. Java数组的三种打印方式_数组打印_chenkaibsw的博客-CSDN博客
  2. Arrays.deepToString() in Java with Example - GeeksforGeeks
  3. Java官方文档:Arrays (Java Platform SE 7 )

猜你喜欢

转载自blog.csdn.net/PolarisRisingWar/article/details/132702706