Java核心技术精要:数组与字符串详解
"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编程至关重要,它们是构建复杂程序的基石。在实践中,熟练运用这些知识可以提高代码效率和可读性。
![](https://csdnimg.cn/release/download_crawler_static/4009127/bg7.jpg)
![](https://csdnimg.cn/release/download_crawler_static/4009127/bg8.jpg)
剩余35页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)