第十一课 数组及应用

1 数组概述

  • 数组是相同类型数据(数据类型任意,包括基本类型和引用类型)的有序集合
  • 数组是一个对象,数组元素相当于对象的成员变量
  • 数组长度确定,不可变
  • 数组中的元素必须是相同类型
  • 数组是引用类型

2 数组的声明

// 声明
int[] a;
int b[];

// 创建数组对象
a = new int[4];
b = new int[5];

// 初始化
a[0] = 1; // 动态初始化
int c[] = {1,2,3,4,5}; // 静态初始化

3 多维数组

  • 创建多维数组时,低维必须规定长度,高维可以不用
int[][][] array01 = new int [1][2][3]; // 正确
int[][][] array02 = new int [1][][]; // 正确
int[][][] array03 = new int [][2][3]; // 错误
int[][][] array04 = new int [][][3]; // 错误
  • 数组的拷贝:
int[][] array01 = new int[2][2];
int[][] array02 = new int[2][2];

array01[0][0] = 11;
array01[0][1] = 12;
array01[1][0] = 13;
array01[1][1] = 14;

System.arraycopy(array01, 0, array02, 0, 2);
// System.arraycopy(src, srcPos, dest, destPos, length);
// src:源数组
// srcPos:从源数组取值的位置
// dest:目标数组
// destPos:复制到目标数组中的位置
// length:长度

for (int i = 0; i < 2; i++) {
	for (int j = 0; j < 2; j++) {
		System.out.print(array02[i][j] + "\t");
	}
	System.out.println();
}

4 数组的应用——字符串(看源码)

4.1 String常见方法

方法用法
equals比较两个字符串是否相等
replace把原有的字符替换成想要的字符
split按照指定的字符将字符串进行分割
trim去除字符串的首尾空格

4.2 StringBuffer和StringBuilder

  • StringBuilder:线程不安全,效率高

    • 初始创建的核心数组长度是16,当存入的字符串长度大于16时,触发核心数组的扩容,扩容是新建一个原有长度2倍+2的字符型数组替换老数组
  • StringBuffer:线程安全,效率低

另:

  • 命令行参数问题:
public static void main(String[] args)
// main函数中的传参(String[] args)可以通过命令行的方式进行传入
// 命令行语句:java 类名 传参1 传参2 “带空格的参数 用引号引起”
  • 增强的for循环(JDK1.5之后)
for(int i: a) // i是临时变量,a是需要遍历的数组变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值