java数组与字符串的重点概括_Java数组与字符串

Java数组的基本概念

一维数组的创建与使用

foreach语句

多维数组的创建与使用

字符串String入门

1、数组的基本概念

数组是一种线性数据结构, 它是一个有序集, 存储数据类型相同、个数固定的多个元素。

Java的数组是对象方式提供

2、一维数组

2.1、一维数组的使用

步骤:

声明数组(声明数组变量)

声明一个数组变量并没有在内存中为数组分配空间。

只是为数组变量分配了空间,用以存储引用数组的地址。

double[] myList;

double myList[]; //不推荐使用

分配数组的内存空间(创建数组对象)

“new 数组元素类型[数组大小]” 完成为数组分配内存空间。

“=”把创建的数组对象的地址赋值给数组变量。

double[] myList;

myList = new double[10];

使用数组元素

double[] myList;

myList = new double[10];

myList[3] = 12.34;

2.2、Java数组的基本特点

数组分配内存空间时确定数组的大小, 不能改变。

使用数组时, 数组名.length 表示数组的元素个数。

2.3、Java数组的初始化

// 方式一

double[] myList = {1.0, 2.0, 3.0, 4.0, 5.0};

// 方式二

double[] numbers;

numbers = new double[] {1.0, 2.0, 3.0, 4.0, 5.0};

// 方式三

double[] myList = new double[5];

for (int i = 0; i < myList.length; i++) {

myList[i] = i + 1;

}

3、多维数组

Java语言没有真正的多维数组。

所谓多维数组,是数组元素也是数组的数组。

int[][] matrix;

int matrix[][]; //不推荐使用

int[] matrix[]; //不推荐使用

方式1:同时创建整个多维数组对象

int[][] x = new int[3][4];

f35270815315

方式1内存示意图

方式2:分别创建 “行对象”和 “列对象”

int[][] matrix = new int[5][]; //创建 “行对象”

matrix[0] = new int[] { 1, 2, 3, 4, 5 }; //创建 “列对象”

matrix[1] = new int[] { 2, 3, 4, 5 };

matrix[2] = new int[] { 3, 4, 5 };

matrix[3] = new int[] { 4, 5 };

matrix[4] = new int[] { 5 };

f35270815315

方式2内存示意图

4、数组的基本操作

排序、查找、插入、删除、修改、移动......

4.1 数组的循环遍历

方式一:for循环

for(int i = 0; i < array.length; i++) {

//处理数组元素array[i]

}

方式二:foreach循环

遍历数组所有元素

遍历无顺序

不能对数组元素进行修改

for(元素类型 元素变量: 数组变量){

//处理元素变量

}

double[ ] myList = new double[10];

for(double value : myList) {

System.out.println(value);

}

4.2 数组的复制

方式一:用循环语句复制数组

int[] a = {1, 2, 3, 4, 5};

int[] b = new int[a.length];

for(int i=0; i

方式二:使用System类的arraycopy方法

// System.arraycopy(被复制的数组, 从被复制的数组第几个元素开始复制, 复制到的数组, 从复制到的数组第几个元素开始复制, 复制多少个);

int[] a = {1, 2, 3, 4, 5};

int[] b = new int[a.length];

System.arraycopy(a, 0, b, 0, a.length);

方式三:使用数组对象的clone方法复制数组

int[] a = {1, 2, 3, 4, 5};

int[] b = a.clone();

注意

// 相当于指针赋值,b指针和a指针指向同一个数组区域,属于浅层复制

int[] b = a;

4.3 使用Arrays类对数组进行操作

int index = Arrays. binarySearch(数组名, 查找数据)

Arrays.sort(数组名)

boolean b = Arrays.equals(数组名1, 数组名2);

5、字符串java.lang.String

String类用来描述和处理字符串类型。

所有的字符串直接量, 例如"abc", 都是String类。

String类的对象是不可变对象, 即它们的值在对象创建后就不能改变了。

String类需要了解:构造方法、实例方法、静态方法。

5.1 java.lang.String - 常用构造方法

// 使用字符串直接量构造

String message = new String(“welcome to Java”);

// 字符串的快捷初始化方法

// 该方法创建的字符串对象在字符串常量池中,字符串常量池中相同的字符串是同一个对象

String message = “welcome to Java”;

// 使用字符数组构造

char[] charArray = [‘G’, ‘o’, ‘o’, ‘d’, ‘ ’, ‘D’, ‘a’, ‘y’];

String message = new String(charArray);

字符串.intern() 会返回该字符串在常量池中的对象

String s = “welcome to Java”;

String s1 = new String(“welcome to Java”);

String s2 = s1.intern();

System.out.println(“s1 == s is” + (s1 == s)); // false

System.out.println(“s2 == s is” + (s2 == s)); // true

5.2、字符串常见用法

String trim()

String replace(char oldChar, char newChar)

String replaceFirst(String oldString, String newString)

String replaceAll(String oldString, String newString)

int length()

boolean equals(Object anObject)

String substring(int beginIndex)

String substring(int beginIndex, int endIndex)

char chatAt(int index)

int indexOf(String str)

int lastIndexOf(String str)

int compareTo(String anotherString)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值