Java中for语句的新写法

本文介绍Java中两种for循环的写法:传统for(;;)循环与增强for循环(:)。通过示例代码展示了如何使用增强for循环遍历列表,并解释了其简洁性和兼容性问题。

for循环的两种写法
1,for( ; ; )
2, for( : )
代码如下:

public static void main(String[] args) {

   List<String> list = new ArrayList<String>();
   list.add("xiao");
   list.add("ping");
   list.add("guo");

  /*  jdk1.5新写法
   * <p>
   * 优点:简洁结合泛型使用更简洁
   * <p>
   * 缺点:jdk1.4向下不兼容
   */
   for (Object o : list) {
    System.out.println(o);
   }
Java 中编写数据库插入语句通常借助 JDBC(Java Database Connectivity)来实现,以下是具体介绍: ### 1. 使用 Statement 执行静态 SQL 插入语句 ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class InsertWithStatement { public static void main(String[] args) { try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yourdatabase", "yourusername", "yourpassword"); // 创建 Statement 对象 Statement stmt = conn.createStatement(); // 定义插入语句 String sql = "INSERT INTO emp (empno, ename, job, hiredate, sal) VALUES (1, 'John', 'Manager', '2023-01-01', 5000.00)"; // 执行插入操作 int rowsInserted = stmt.executeUpdate(sql); if (rowsInserted > 0) { System.out.println("数据插入成功!"); } // 关闭资源 stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 这种方式适用于 SQL 语句固定的情况,不过存在 SQL 注入风险。 ### 2. 使用 PreparedStatement 执行动态 SQL 插入语句 ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Date; public class InsertWithPreparedStatement { public static void main(String[] args) { try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yourdatabase", "yourusername", "yourpassword"); // 定义带有占位符的插入语句 String sql = "INSERT INTO emp (empno, ename, job, hiredate, sal) VALUES (?,?,?,?,?)"; // 创建 PreparedStatement 对象 PreparedStatement pstmt = conn.prepareStatement(sql); // 设置占位符的值 pstmt.setInt(1, 2); pstmt.setString(2, "Jane"); pstmt.setString(3, "Developer"); pstmt.setDate(4, Date.valueOf("2023-02-01")); pstmt.setFloat(5, 4000.00f); // 执行插入操作 int rowsInserted = pstmt.executeUpdate(); if (rowsInserted > 0) { System.out.println("数据插入成功!"); } // 关闭资源 pstmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 使用 `PreparedStatement` 可有效防止 SQL 注入,适合处理动态数据插入。 ### 3. 批量插入数据 ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Date; public class BatchInsert { public static void main(String[] args) { try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yourdatabase", "yourusername", "yourpassword"); // 定义带有占位符的插入语句 String sql = "INSERT INTO emp (empno, ename, job, hiredate, sal) VALUES (?,?,?,?,?)"; // 创建 PreparedStatement 对象 PreparedStatement pstmt = conn.prepareStatement(sql); // 批量添加数据 for (int i = 3; i <= 5; i++) { pstmt.setInt(1, i); pstmt.setString(2, "Employee" + i); pstmt.setString(3, "Staff"); pstmt.setDate(4, Date.valueOf("2023-03-01")); pstmt.setFloat(5, 3000.00f); pstmt.addBatch(); } // 执行批量插入操作 int[] rowsInserted = pstmt.executeBatch(); System.out.println("成功插入 " + rowsInserted.length + " 条数据!"); // 关闭资源 pstmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 批量插入可提高插入大量数据时的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值