Java - 字串和数组

本文介绍了Java中字串的基本操作,包括连接、提取子串、比较等,并讲解了如何利用String类的方法进行处理。此外,还详细阐述了Java数组的特性,包括一维数组与多维数组的概念及应用。
  1、字串:
  Java没有提供内建的字串类型,但标准Java库中包含了一个预定义类,很自然地称作“String”,每个用双引号封闭的字串都是String的一个实例。
  例如:“abc","hello"
  Java允许使用+号把两个字串连接起来。连接一个字串和一个非字串值时,后者被转换成字串。这个特性常用于输出语句中。
  子串:使用String类提供的substring方法,可从一个较大的字串中提取出一个子串。
  Java中字串中头一个字符的位置是0,
  可以使用length方法得到字串的长度。
  可以使用charAt(n)来提取位置n处的字符。
  可以使用equals方法来判断两个字串是否相等。如想检测两个字串是否相等,同时忽略大小写字母的区别可以使用equalsIgnoreCase方法。
  不能使用==来判断两个变量是否相等。
  2、数组:
  Java语言中,数组是第一类对象。当建立一个数组后,就不能轻易地改变它的大小。当你试图对数组声明边界外的任何一个元素进行访问时,程序运行就会中止,但编译的时候可以通过。
  Java有一个建立一个数组对象并同时提供初始化值的简写形式:
  int[] smallPrimes ={2,3,4,5,6};
  另外可以初始化一个“匿名数组”:
  new int[] {2,3,4,5,6};
  当将一个数组作为方法的参数时,又不想建立一个本地数组变量来保存数组,就可以使用匿名数组的方法。
  如果想知道一个数组包含的元素数量,可以使用arrayName.length方法。
  数组的复制:可以把一个数组变量复制给另一个,但两个变量引用的都会是相同的数组,可以使用
  System.arraycopy(from,fromIndex,to,toIndex,count);方法。
  数组作为参数使用:Java中数组作为参数,使用的是引用的方式,即传递的数组的地址,在方法中改变数组元素的值可以改变源数组元素的值。
  数组作为返回值使用:一个方法可以返回一个数组。
  多维数组:
  Java语言中可以定义一个二维数组,但没有多维数组。多维数组实际上是通过数组的数组来实现的。  
### 实现模糊查询功能 为了在 Java 环境中使用人大金仓数据库执行模糊查询,主要依赖于 JDBC (Java Database Connectivity) 来建立连接并发送 SQL 查询语句。SQL 查询可以通过 `LIKE` 关键字配合通配符 `%` 或 `_` 完成模式匹配,从而实现字符串的部分匹配[^3]。 下面是一个简单的例子展示如何设置环境以及编写代码来进行模糊查询: #### 设置JDBC驱动 确保项目中有适合版本的人大金仓数据库 JDBC 驱动包,并配置好数据源或直接加载驱动类。对于较新的应用程序框架,推荐采用 Druid 这样的连接池管理工具来优化性能资源利用效率[^1]。 ```java // 加载人大金仓数据库的JDBC驱动 Class.forName("com.kingbase8.Driver"); ``` #### 编写模糊查询逻辑 创建 PreparedStatement 对象时指定带有 LIKE 子句的 SQL 语句,并通过 setString 方法传递参数值给占位符 ? ,其中 % 表示任意数量字符的位置。 ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class FuzzyQueryExample { public static void main(String[] args) throws Exception { String url = "jdbc:kingbase8://localhost:54321/your_database"; String user = "username"; String password = "password"; try (Connection conn = DriverManager.getConnection(url, user, password)) { String query = "SELECT * FROM your_table WHERE column_name LIKE ?"; try (PreparedStatement pstmt = conn.prepareStatement(query)) { // 使用%作为前缀后缀表示任意长度的其他字符围绕着输入的关键字 String keyword = "%example%"; pstmt.setString(1, keyword); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { System.out.println(rs.getString("column_name")); } } } catch (Exception e) { e.printStackTrace(); } } } ``` 此段代码展示了基本流程:获取 Connection 对象 -> 创建 PreparedStatement 并填充参数 -> 执行查询 -> 处理结果集。注意这里使用的 `keyword` 变量包含了两个百分号 (`%`),这告诉数据库引擎去查找任何包含 `"example"` 字串的数据项。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值