从0学开发笔记-数组

从0学开发笔记-数组

1.初始化方式

  • 动态初始化(指定长度)
    基本格式:数据类型[] = new 数组名称[数组长度];
//创建一个数组里面能存300个int数据
  	int[] arrarA = new int[300];
  • 静态初始化(指定内容)
  1. 基本格式:数组类型[] 数组名称 = new 数据类型[] { 元素1,元素2,…}
// A code block
//直接创建一个数组,里面装的都是int数字
int[] arrayA = new int[] { 1, 15,25}
//创建一个数组,用来装字符串
 String[] arrayB  = new String[] { "Hello","World","Java"}
  1. 省略格式:数据类型[] 数组名称 = {元素1,元素2,元素3…}
// A code block
//直接创建一个数组,里面装的都是int数字
int[] arrayA = { 1, 15,25}

//静态基本格式拆分为两个步骤
int[] arrayB;
arrayB = new int[] {11,12,13}
//动态基本格式拆分为两个步骤
int[] arrayC;
arrayC = new int[5];

注意事项:
1.静态初始化没有指定长度,但是仍然后自动推算得到长度
2.静态初始化的基本格式可以拆分为两个步骤
3.动态初始化也可以拆分为两个步骤
4.静态初始化一但使用省略格式,就不能拆分为两个步骤了

2.访问数组元素进行获取

  • 索引方式和C一样:数组名称[索引值];(索引值也是从0开始到数组长度-1)
// A code block
// 进行赋值
int[] arrayA = {1,2,3,4,5};
arrayA[0] = 6;
int i = arrayA[0]; 

3.获取数组的长度

// A code block
// 进行赋值
int[] arrayA = {1,2,3,4,5};
//获取数组的长度
int len = arrayA.length;

注意事项:数组一旦确定,在程序运行过程中数组长度不能改变

	问题: 下图所示的arrayC又新赋值一个数组,那原来的数组如何调用?

在这里插入图片描述

3.数组作为方法的参数和返回值

  1. 调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值
// A code block
public static void printArray(int[] array){	
		for (i = 0;i<array.length;i++){
			System.out.println(array[i])
		}
}
//调用
int[] arrayA = new int[] {1,2,3}
printArray(arrayA);
  1. 数组作为方法的返回值
public static int[] calculate(int a ,int b){
	int sum = a + b;
	int avg = sum/2;
	//第一种方动态数组初始化
	int[] array = new int[2];
	array[0] = sum;
	array[1] = avg;
	//第二种静态初始化
	int[] array = new int[] {sum,avg};
	return array;
}

//接受
int[] result = calculate(int a ,int b);

4.数组工具类

java.util.Arrays是一个数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作。

  • public static String toString(数组);//将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3…]) (str = “abc”+6//这里的6也会变成字符进入字符串中 str为"abc6")
  • public static void sort(数组);//按照默认升序(从小到大)对数组的元素进行排序

注意事项

  • 如果是数值,sort默认按照升序从小到大
  • 如果是字符串,sort默认按照首字母升序
  • 如果是自定义类型,那么这个自定义的类需要有(Comparable或者Comparator接口的支持)

猜你喜欢

转载自blog.csdn.net/weixin_42595206/article/details/112838911