当前位置: 首页 > 开发者资讯

Java如何使用常用 API Java 常用 API 使用教程

  Java 拥有丰富多样的, API它们为开发者提供了高效、便捷的方式来处理各种编程任务。这些 API 就像是一个庞大的工具箱,涵盖了从基础的数据类型操作到复杂的网络编程、文件处理、数据库连接等众多方面,帮助开发者能够快速构建出功能强大的应用程序。熟练掌握 Java 常用 API 是成为一名优秀 Java 开发者的重要一步。

  Java 集合框架 API

  List 接口及其实现类(ArrayList、LinkedList 等)

  ArrayList :基于动态数组实现,提供了快速的随机访问。,例如创建一个存储整数的 ArrayList:

  ArrayList<Integer> arrayList = new ArrayList<>();

  arrayList.add(1);

  arrayList.add(2);

  arrayList.add(3);

  System.out.println(arrayList.get(1)); // 输出 2

  LinkedList :基于双向链表实现,适合频繁的插入和删除操作。创建 LinkedList 示例:

  LinkedList<String> linkedList = new LinkedList<>();

  linkedList.add("a");

  linkedList.add("b");

  linkedList.add("c");

  linkedList.removeFirst(); // 删除第一个元素

  Set 接口及其实现类(HashSet、TreeSet 等)

  HashSet :存储无序、不重复的元素。它通过哈希表来实现。例如:

  HashSet<Integer> hashSet = new HashSet<>();

  hashSet.add(1);

  hashSet.add(2);

  hashSet.add(1); // 添加失败,因为元素重复

  TreeSet :提供有序、不重复的元素存储。它底层是基于红黑树数据结构。使用示例:

  TreeSet<String> treeSet = new TreeSet<>();

  treeSet.add("apple");

  treeSet.add("banana");

  treeSet.add("cat");

  System.out.println(treeSet.first()); // 输出 apple,第一个元素按自然排序

  Map 接口及其实现类(HashMap、TreeMap 等)

  HashMap :存储键值对(key - value),根据键来存取值,底层基于哈希表。示例:

  HashMap<String, Integer> hashMap = new HashMap<>();

  hashMap.put("one", 1);

  hashMap.put("two", 2);

  System.out.println(hashMap.get("two")); // 输出 2

  TreeMap :基于红黑树的键值对映射,按键的顺序进行排序。代码示例:

  TreeMap<String, Double> treeMap = new TreeMap<>();

  treeMap.put("math", 95.5);

  treeMap.put("english", 92.3);

  System.out.println(treeMap.firstKey()); // 按键的字典顺序输出第一个键


  Java I/O(输入输出)API

  文件操作 API(File 类)

  创建 File 对象表示文件或目录:

  File file = new File("C:\\test.txt");

  if (file.exists()) {

  System.out.println("文件存在");

  } else {

  System.out.println("文件不存在");

  }

  创建目录:

  File dir = new File("C:\\newdir");

  dir.mkdirs(); // 创建多级目录

  字节流(InputStream 和 OutputStream)

  读取文件(使用 FileInputStream):

  FileInputStream fis = new FileInputStream("C:\\test.txt");

  int data;

  while ((data = fis.read()) != -1) {

  System.out.print((char) data);

  }

  fis.close();

  写入文件(使用 FileOutputStream):

  FileOutputStream fos = new FileOutputStream("C:\\test.txt");

  String str = "Hello, Java!";

  byte[] bytes = str.getBytes();

  fos.write(bytes);

  fos.close();

  字符流(Reader 和 Writer)

  读取文本文件(使用 FileReader):

  FileReader fr = new FileReader("Ctest:\\.txt");

  char[] chars = new char[100];

  fr.read(chars);

  String content = new String(chars);

  System.out.println(content);

  fr.close();

  写入文本文件(使用 FileWriter):

  FileWriter fw = new FileWriter("C:\\test.txt");

  fw.write("Java is great!");

  fw.close();

云服务器3.png

  Java 日期时间 API(java.time 包)

  LocalDate、LocalTime 和 LocalDateTime

  获取当前日期和时间:

  LocalDate localDate = LocalDate.now();

  LocalTime localTime = LocalTime.now();

  LocalDateTime localDateTime = LocalDateTime.now();

  System.out.println("当前日期:" + localDate);

  System.out.println("当前时间:" + localTime);

  System.out.println("当前日期时间:" + localDateTime);

  日期计算:

  LocalDate date = LocalDate.now();

  LocalDate nextWeek = date.plusWeeks(1);

  LocalDate previousMonth = date.minusMonths(1);

  DateTimeFormatter 类(用于日期时间格式化和解析)

  格式化日期时间:

  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy - MM - dd HH:mm:ss");

  LocalDateTime dateTime = LocalDateTime.now();

  String formattedDateTime = dateTime.format(formatter);

  System.out.println(formattedDateTime);

  `` `

  解析日期时间字符串:

  String strDateTime = "2024 - 11 - 01 14:30:00";

  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy - MM - dd HH:mm:ss");

  LocalDateTime dateTime = LocalDateTime.parseDateTime(str, formatter);

  Java 网络编程 API

  Socket 编程(TCP 协议)

  创建一个简单的 TCP 服务器:

  ServerSocket serverSocket = new ServerSocket(8080);

  Socket socket = serverSocket.accept(); // 阻塞等待客户端连接

  BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

  String message = br.readLine();

  System.out.println("接收到客户端消息:" + message);

  serverSocket.close();

  创建一个简单的 TCP 客户端:

  Socket socket = new Socket("localhost", 8080);

  OutputStream os = socket.getOutputStream();

  String message = "Hello, Server!";

  os.write(message.getBytes());

  socket.close();

  UDP 编程

  创建 UDP 发送端:

  DatagramSocket datagramSocket = new DatagramSocket();

  String message = "Hello, UDP!";

  InetAddress address = InetAddress.getByName("localhost");

  DatagramPacket datagramPacket = new DatagramPacket(message.getBytes(), message.length(), address, 8080);

  datagramSocket.send(datagramPacket);

  datagramSocket.close();

  创建 UDP 接收端:

  DatagramSocket datagramSocket = new DatagramSocket(8080);

  byte[] buffer = new byte[1024];

  DatagramPacket datagramPacket = new DatagramPacket(buffer, buffer.length);

  datagramSocket.receive(datagramPacket);

  String message = new String(datagramPacket.getData(), 0, datagramPacket.getLength());

  System.out.println("接收到消息:" + message);

  datagramSocket.close();

  Java 数据库连接 API(JDBC)

  加载 JDBC 驱动并建立连接

  加载驱动:

  try {

  Class.forName("com.mysql.cj.jdbc.Driver");

  System.out.println("JDBC 驱动加载成功");

  } catch (ClassNotFoundException e) {

  e.printStackTrace();

  }

  建立连接:

  String url = "jdbc:mysql://localhost:3306/mydatabase";

  String username = "root";

  String password = "password";

  Connection connection = DriverManager.getConnection(url, username, password);

  执行 SQL 查询

  查询操作:

  Statement statement = connection.createStatement();

  ResultSet resultSet = statement.executeQuery("SELECT * FROM users");

  while (resultSet.next()) {

  int id = resultSet.getInt("id");

  String name = resultSet.getString("name");

  System.out.println("ID:" + id + ", Name:" + name);

  }

  resultSet.close();

  statement.close();

  更新操作:

  Statement statement = connection.createStatement();

  int rowsAffected = statement.executeUpdate("insert INTO users (name) VALUES ('John')");

  System.out.println("受影响的行数:" + rowsAffected);

  statement.close();

  使用 PreparedStatement 防止 SQL 注入

  示例:

  String sql = "SELECT * FROM users WHERE name = ?";

  PreparedStatement preparedStatement = connection.prepareStatement(sql);

  preparedStatement.setString(1, "John");

  ResultSet resultSet = preparedStatement.executeQuery();

  // 处理结果集

  resultSet.close();

  preparedStatement.close();

  Java 常用 API 在我们开发应用程序时起到了至关重要的作用。通过合理地使用集合框架 API,我们可以高效地存储和操作数据;I/O API 让文件和数据的输入输出变得简单;日期时间 API 为我们处理日期时间相关业务提供了强大的工具;网络编程 API 使我们的应用能够通过网络进行通信;JDBC API 则是连接数据库、操作数据库数据的关键。在实际开发中,开发者需要根据具体的应用场景来选择合适的 API,不断熟悉和掌握它们的用法,提高开发效率和代码质量,构建出功能丰富、性能可靠的 Java 应用程序。

 


猜你喜欢