Java核心技术精要:数组与字符串详解

需积分: 9 1 下载量 122 浏览量 更新于2024-07-29 收藏 478KB DOC 举报
"CORE JAVA总结_沈红喜" 在Java编程中,J2SE(Java Standard Edition)是核心部分,包含了开发桌面应用和网络应用所需的基础类库。以下是对标题和描述中涉及的知识点的详细说明: 一、常用基础类 - 数组 1. 排序算法 - 选择排序:通过比较找到最小元素并放置到已排序部分的末尾,每次迭代将未排序部分的最小元素移到前面。 - 冒泡排序:相邻元素两两比较,若顺序错误则交换,最大元素逐渐“冒泡”到末尾。 - 插入排序:遍历未排序部分,将每个元素插入到已排序部分的正确位置。 2. 数组创建:声明数组变量并分配内存,如`int[] a = new int[100];` 3. `Arrays`工具类 - 提供了丰富的静态方法用于操作数组,例如获取数组长度、转换数组为字符串、复制数组、填充数组以及排序等。 4. `Arrays` API举例 - `.length`属性:返回数组长度 - `Arrays.toString(ary)`:将数组转换为字符串形式 - `Arrays.copyOf(ary, newLength)`:创建数组副本,指定新长度 - `Arrays.copyOfRange(ary, from, to)`:复制数组的一部分到新数组 - `Arrays.fill(ary, obj)`:用指定对象填充整个数组 - `Arrays.sort()`:对数组进行排序 5. 数组拷贝:数组无论通过引用传递还是使用`clone`方法,都是深拷贝,意味着原始数组和拷贝的数组之间互不影响。 6. 控制台输入数组:通常使用循环结构(如`while (true)`)配合`Scanner`类读取用户输入,然后用`break`语句跳出循环。 7. 二维数组:二维数组可以看作是一组数组的集合,各行元素数量可以不同。使用`Arrays.deepToString(aa)`可以显示二维数组的详细内容。 二、字符串和正则表达式 1. Java字符串的不可变性 - 字符串一旦创建,其内容就不能更改,因为`String`对象是在常量池中创建的。但可以通过创建新的`String`对象来改变字符串内容。 2. 字符串拼接 - 基本数据类型(除了`boolean`)可以直接与`String`对象拼接,使用`+`运算符。 3. `String` API - `new String(char[])`:从字符数组创建字符串 - `String.valueOf(Object)`:将任何对象转换为字符串表示 - `length()`:返回字符串长度 - `charAt(index)`:获取指定索引处的字符 - `toCharArray()`:将字符串转换为字符数组 - `startsWith(str)`, `endsWith(str)`:检查字符串是否以指定字符串开头或结尾 - `equals(str)`, `equalsIgnoreCase(str)`:比较字符串内容是否相等,忽略大小写 - `indexOf(str/char)`, `indexOf(str, int)`, `lastIndexOf()`:查找子串或字符的索引,有重复时需要注意 - `replace(str/char, newStr/char)`, `replaceAll()`:替换指定子串或字符 - `substring(from)`, `substring(from, to)`:提取子字符串 - `toUpperCase()`, `toLowerCase()`:将字符串转换为大写或小写 - `trim()`:去除字符串两端的空白字符 - `compareTo(str)`:根据Unicode值比较字符串,返回值可正可负 4. `StringBuilder`类 - 从Java 5开始引入,作为可变字符串,用于高效地构建和修改字符串,非线程安全。在需要频繁修改字符串的情况下,推荐使用`StringBuilder`而非`String`。 总结,掌握这些基础类和字符串操作对于深入理解Java编程至关重要,它们是构建复杂程序的基石。在实践中,熟练运用这些知识可以提高代码效率和可读性。