Java的核心类库

引言

 

在Java编程中,熟练掌握常用类与对象操作是开发的基础。Java的核心类库提供了丰富的功能,可以帮助开发者高效地处理各种编程任务。本文将详细介绍Java字符串操作、集合框架、日期与时间处理等内容,并通过图表和表格进行总结与示范。

 

字符串操作

 

字符串类(String)

 

String类用于表示字符串,字符串是字符的序列,属于不变对象(immutable)。常用的字符串操作包括长度、拼接、比较、截取、替换等。

 

 

public class StringExample {public static void main(String[] args) {String str = "Hello, Java!";// 获取字符串长度int length = str.length();System.out.println("Length: " + length); // 输出:Length: 12// 字符串拼接String newStr = str.concat(" Welcome!");System.out.println("Concatenated: " + newStr); // 输出:Concatenated: Hello, Java! Welcome!// 字符串比较boolean isEqual = str.equals("Hello, Java!");System.out.println("Is Equal: " + isEqual); // 输出:Is Equal: true// 字符串截取String substring = str.substring(7, 11);System.out.println("Substring: " + substring); // 输出:Substring: Java// 字符串替换String replaced = str.replace("Java", "World");System.out.println("Replaced: " + replaced); // 输出:Replaced: Hello, World!}
}

 

常用方法表格总结

 

方法描述示例
length()返回字符串的长度str.length();
concat(String str)将指定字符串连接到此字符串的末尾str.concat(" Welcome!");
equals(Object obj)比较此字符串与指定对象是否相等str.equals("Hello, Java!");
substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串str.substring(7, 11);
replace(CharSequence target, CharSequence replacement)将匹配的字符或字符串替换为新字符或字符串str.replace("Java", "World");
toUpperCase()将所有字符转换为大写str.toUpperCase();
toLowerCase()将所有字符转换为小写str.toLowerCase();
trim()去除字符串两端的空格str.trim();
charAt(int index)返回指定索引处的字符str.charAt(0);
indexOf(String str)返回子字符串第一次出现的索引,如果没有找到则返回-1str.indexOf("Java");

 

集合框架

 

Java集合框架提供了一组接口和类,用于存储和操作一组对象。集合框架包括以下常用接口和类:

 

List接口

 

List接口是一种有序集合,允许重复元素。常用实现类是ArrayListLinkedList

 

 

import java.util.ArrayList;
import java.util.List;public class ListExample {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("Apple");list.add("Banana");list.add("Apple"); // 允许重复元素System.out.println("List: " + list);// 访问元素String firstElement = list.get(0);System.out.println("First Element: " + firstElement);// 遍历集合for (String element : list) {System.out.println("Element: " + element);}}
}

 

Set接口

 

Set接口是一种不包含重复元素的集合。常用实现类是HashSetTreeSet

 

 

import java.util.HashSet;
import java.util.Set;public class SetExample {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("Apple");set.add("Banana");set.add("Apple"); // 不允许重复元素System.out.println("Set: " + set);// 遍历集合for (String element : set) {System.out.println("Element: " + element);}}
}

 

Map接口

 

Map接口是一种键值对(Key-Value)映射。不允许重复的键。常用实现类是HashMapTreeMap

 

 

import java.util.HashMap;
import java.util.Map;public class MapExample {public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("Apple", 10);map.put("Banana", 20);map.put("Apple", 30); // 键不允许重复,值会被覆盖System.out.println("Map: " + map);// 访问元素int appleCount = map.get("Apple");System.out.println("Apple Count: " + appleCount);// 遍历集合for (Map.Entry<String, Integer> entry : map.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());}}
}

 

集合框架表格总结

 

接口实现类特点示例
ListArrayList, LinkedList有序集合,允许重复元素List<String> list = new ArrayList<>();
SetHashSet, TreeSet无序集合,不允许重复元素Set<String> set = new HashSet<>();
MapHashMap, TreeMap键值对映射,不允许重复键Map<String, Integer> map = new HashMap<>();

 

日期与时间处理

 

Java提供了多种日期和时间处理的类,主要包括Date类、Calendar类和java.time包中的新API。

 

Date类

 

Date类表示特定的时间,精确到毫秒。

 

 

import java.util.Date;public class DateExample {public static void main(String[] args) {Date now = new Date();System.out.println("Current Date: " + now);// 创建特定日期Date specificDate = new Date(2020, 1, 1);System.out.println("Specific Date: " + specificDate);}
}

 

Calendar类

 

Calendar类提供了更灵活的日期操作功能。

 

 

import java.util.Calendar;public class CalendarExample {public static void main(String[] args) {Calendar calendar = Calendar.getInstance();System.out.println("Current Date: " + calendar.getTime());// 设置特定日期calendar.set(2020, Calendar.JANUARY, 1);System.out.println("Specific Date: " + calendar.getTime());}
}

 

java.time包

 

Java 8引入了新的日期和时间API,包括LocalDateLocalTimeLocalDateTimeDateTimeFormatter类等。

 

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;public class DateTimeExample {public static void main(String[] args) {// 获取当前日期LocalDate date = LocalDate.now();System.out.println("Current Date: " + date);// 获取当前日期和时间LocalDateTime dateTime = LocalDateTime.now();System.out.println("Current DateTime: " + dateTime);// 格式化日期和时间DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String formattedDateTime = dateTime.format(formatter);System.out.println("Formatted DateTime: " + formattedDateTime);}
}

日期与时间处理的表格总结

 

类名描述示例
Date表示特定的时间Date now = new Date();
Calendar提供更灵活的日期操作功能Calendar calendar = Calendar.getInstance();
LocalDate表示 ISO-8601日历系统中的日期(无时间)LocalDate date = LocalDate.now();
LocalTime表示 ISO-8601日历系统中的时间(无日期)LocalTime time = LocalTime.now();
LocalDateTime表示日期和时间的组合LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter格式化和解析日期与时间DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

 

应用场景与实践

 

字符串操作应用场景

 

字符串操作在各种应用场景中广泛使用,如数据输入验证、文本处理、日志记录等。例如,在处理用户输入时,可以使用字符串方法去除空格、转换大小写和验证内容格式。

 

 

public class StringValidation {public static void main(String[] args) {String userInput = "   Hello Java!   ";// 去除两端空格String trimmedInput = userInput.trim();System.out.println("Trimmed Input: " + trimmedInput);// 验证内容格式(检查是否以 "Hello" 开头)if (trimmedInput.startsWith("Hello")) {System.out.println("Valid Input");} else {System.out.println("Invalid Input");}}
}

 

集合操作应用场景

 

集合框架的应用场景包括数据存储与检索、去重、排序等。例如,在开发购物车功能时,可以使用List存储商品列表,使用Set去重,以及使用Map存储商品及其数量。

 

 

import java.util.HashMap;
import java.util.Map;public class ShoppingCart {private Map<String, Integer> cart = new HashMap<>();// 添加商品public void addItem(String item) {cart.put(item, cart.getOrDefault(item, 0) + 1);}// 获取购物车中商品数量public int getItemCount(String item) {return cart.getOrDefault(item, 0);}public static void main(String[] args) {ShoppingCart shoppingCart = new ShoppingCart();shoppingCart.addItem("Apple");shoppingCart.addItem("Apple");shoppingCart.addItem("Banana");System.out.println("Apple Count: " + shoppingCart.getItemCount("Apple")); // 输出:Apple Count: 2System.out.println("Banana Count: " + shoppingCart.getItemCount("Banana")); // 输出:Banana Count: 1}
}

 

日期与时间处理应用场景

 

日期与时间处理广泛应用于日志记录、定时任务、日期计算等场景。例如,在构建一个事件提醒应用时,可以使用LocalDate存储事件日期,并使用Period进行日期计算。

 

 

import java.time.LocalDate;
import java.time.Period;public class EventReminder {public static void main(String[] args) {LocalDate eventDate = LocalDate.of(2024, 6, 13);LocalDate currentDate = LocalDate.now();// 计算剩余天数Period period = Period.between(currentDate, eventDate);int remainingDays = period.getDays();System.out.println("Event is in " + remainingDays + " days");}
}

 

表格总结

 

字符串操作方法表

 

方法描述示例
length()返回字符串的长度str.length();
concat(String str)将指定字符串连接到此字符串的末尾str.concat(" Welcome!");
equals(Object obj)比较此字符串与指定对象是否相等str.equals("Hello, Java!");
substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串str.substring(7, 11);
replace(CharSequence target, CharSequence replacement)将匹配的字符或字符串替换为新字符或字符串str.replace("Java", "World");

 

集合框架接口与实现类表

 

接口实现类特点示例
ListArrayList, LinkedList有序集合,允许重复元素List<String> list = new ArrayList<>();
SetHashSet, TreeSet无序集合,不允许重复元素Set<String> set = new HashSet<>();
MapHashMap, TreeMap键值对映射,不允许重复键Map<String, Integer> map = new HashMap<>();

 

日期与时间处理类表

 

类名描述示例
Date表示特定的时间Date now = new Date();
Calendar提供更灵活的日期操作功能Calendar calendar = Calendar.getInstance();
LocalDate表示 ISO-8601日历系统中的日期(无时间)LocalDate date = LocalDate.now();
LocalTime表示 ISO-8601日历系统中的时间(无日期)LocalTime time = LocalTime.now();
LocalDateTime表示日期和时间的组合LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter格式化和解析日期与时间DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

 

总结

 

本文详细介绍了Java编程中的常用类与对象操作,包括字符串操作、集合框架以及日期与时间处理。通过示例代码和表格总结,帮助您更好地理解和应用这些基础知识,提高编程效率和代码质量。

 

6c496d7f94c04e67a07e0974a68cf468.png

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tailwind CSS 实战指南:快速构建响应式网页设计

title: Tailwind CSS 实战指南&#xff1a;快速构建响应式网页设计 date: 2024/6/12 updated: 2024/6/12 author: cmdragon excerpt: 这篇文章介绍了Tailwind CSS框架的特点与优势&#xff0c;包括其作为实用性的CSS框架如何通过预设的样式类实现快速布局和设计&#xff0c;…

每日一题——Python实现PAT乙级1109 擅长C(举一反三+思想解读+逐步优化)七千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 初次尝试 代码分析 时间复杂度 空间复杂度 总结 我要更强 代码结构与功能 全局…

springboot+shiro+jwt 兼容session和token

最近和别的软件集成项目&#xff0c;需要提供给别人接口来进行数据传输&#xff0c;发现给他token后并不能访问我的接口&#xff0c;拿postman试了下还真是不行。检查代码发现项目的shiro配置是通过session会话来校验信息的 &#xff0c;我之前一直是前后端自己写&#xff0c;用…

学习Pr有哪些常见的使用的技巧?

本Premiere 学习笔记总结常见问题165条。不管你是初学的小白&#xff0c;或是刚进入剪辑学习软件阶段&#xff0c;还是说你学软件好几年了都有用处。因为这份总结涉及到了Pr的各个方面。既可以帮你解决软件出现的问题&#xff0c;也可以帮你熟知软件的实际应用&#xff0c;以及…

C# WPF入门学习番外篇(二) —— C# WPF使用数据库创建注册登录界面

C# WPF入门学习番外篇&#xff08;二&#xff09; —— C# WPF使用数据库创建注册登录界面 在这篇番外篇博客中&#xff0c;我们将介绍如何在C# WPF应用程序中使用数据库来创建一个简单的注册和登录界面。通过本教程&#xff0c;你将学习到如何在WPF中与数据库进行交互&#xf…

网格细分技术在AI绘画中的革新应用

导语&#xff1a; 随着人工智能技术的不断突破&#xff0c;艺术创作也迈入了一个新的时代。AI绘画不仅为艺术家提供了新的工具和灵感源泉&#xff0c;还极大地扩展了艺术的边界。在这背后&#xff0c;网格细分技术扮演着至关重要的角色&#xff0c;它通过将画面划分为数以万计的…

Android低代码开发 - 直接创建一个下拉刷新列表界面

看了我Android低代码开发 - 让IDE帮你写代码这篇文章的小伙伴&#xff0c;大概都对Dora全家桶开发框架有基本的认识了吧。本篇文章将会讲解如何使用dora-studio-plugin快捷创建一个下拉刷新列表界面。 效果演示 这样直接通过图形界面的方式就创建好了下拉刷新上拉加载空态界面…

旅游行业电商平台:数字化转型的引擎与未来发展趋势

引言 旅游行业数字化转型的背景和重要性 随着信息技术的飞速发展&#xff0c;数字化转型成为各行业发展的必然趋势。旅游行业&#xff0c;作为一个高度依赖信息和服务的领域&#xff0c;数字化转型尤为重要。通过数字化手段&#xff0c;旅游行业能够实现资源的高效配置、服务的…

用映射对比ab俩个数组 , 并把a的参数传递给b

项目背景 : react ant 需求 : 在项目进行表头设置时,根据aaa中的key和bbb中的name对应 , 并将sort值插入到bbb中 其中 a b 结构如下 具体实现 aaa[ { key: "orderNumber", orderNumber: "工单编号", sort: 1 } ... ]bbb [ { name: "orderNumber…

Jenkins For Windows编译构建C#项目环境搭建(完整版)

安装Jenkins 下载Windows安装包 官方下载地址 选择稳定版&#xff0c;这里下载的是最新版&#xff0c;如需下载指定版本点击 以前的发行版 配置java环境 下载 java jdk 17 jdk17官方下载链接 这里下载的是msi版本的安装包 安装jdk17 双击运行安装包&#xff0c;一直下…

3D数字化营销——电商行业提升转化率,降低退货率的杀手锏!

随着3D、AR等前沿技术的蓬勃发展&#xff0c;电商行业正迎来一场3D数字化营销的革命。这种创新的营销方式不仅极大地丰富了商品的展现形式&#xff0c;还成功弥补了传统电商在临场感和体验感方面的不足&#xff0c;从而显著提升了消费者的购物体验。 51建模网为电商行业提供3D…

WebSocket 快速入门 与 应用

WebSocket 是一种在 Web 应用程序中实现实时、双向通信的技术。它允许客户端和服务器之间建立持久性的连接&#xff0c;以便可以在两者之间双向传输数据。 以下是 WebSocket 的一些关键特点和工作原理&#xff1a; 0.特点&#xff1a; 双向通信&#xff1a;WebSocket 允许服务…

[AI Stability] 开源AI新利器:Stable Diffusion 3 Medium震撼发布!文本到图像再升级!

Stable Diffusion 3 Medium(SD3) 开源了&#xff0c;我们来看下。 关键要点 Stable Diffusion 3 Medium 是 Stability AI 迄今为止最先进的文本到图像开源模型。该模型的体积小巧&#xff0c;非常适合在消费级 PC 和笔记本电脑上运行&#xff0c;也适合在企业级 GPU 上运行。…

产品经理简要介绍主流电商平台商品API接口的重要应用价值

主流电商平台&#xff1a; 截至目前&#xff08;2024年6月&#xff09;&#xff0c;主流电商平台通常指的是国内外知名的在线购物平台&#xff0c;包括但不限于以下几家&#xff1a; 1. 中国电商平台&#xff1a; - 淘宝网&#xff08;taobao.com&#xff09; - 天猫商…

端午消费数据:“下沉”“价跌”延续

端午假期消费延续了五一的“下沉”与“价跌”趋势。一是人均旅游支出的恢复程度&#xff0c;仍不及2019年&#xff08;恢复至89.5%&#xff09;&#xff1b;二是三线以下城市继续成为旅游新增长点&#xff0c;其平台订单热度高于部分一线和新一线城市。三是国内、国际机票酒店价…

自动同步库数据——kettle开发36

kettle中的那些人工智能。 一、kettle的AI能力目录 跨库同步 2.自动开发 3.自动优化 二、AI实例 1、跨库同步 sqlsever表同步至oracle数据库 1.1源库sqlserver 1.2目标库oracle 1.3可视化跨库同步 使用多表复制向导 选择跨库的表&#xff0c;下一步下一步&#xff0c;即可…

Javaweb避坑指北(持续更新)

内容较多可按CtrlF搜索 0.目录 1.获取插入数据后自增长主键的值 2.Controller中返回给ajax请求字符串/json会跳转到xxx.jsp 3.ajax请求获得的json无法解析 4.在Controller中使用ServletFileUpload获取的上传文件为null 5.莫名其妙报service和dao里方法的错误 6.ajax请求拿…

DeepSpeed Monitoring Comm. Logging

Monitoring 支持多种后端&#xff1a;Tensorboard、WandB、Comet、CSV文件&#xff1b; TensorBoard例子&#xff1a; 自动监控&#xff1a;DeepSpeed自动把重要metric记录下来。只需在配置文件里enable相应的看板后端即可&#xff1a; {"tensorboard": {"enabl…

Linux-笔记 全志平台OTG虚拟 串口、网口、U盘笔记

前言&#xff1a; 此文章方法适用于全志通用平台&#xff0c;并且三种虚拟功能同一时间只能使用一个&#xff0c;原因是此3种功能都是内核USB Gadget precomposed configurations的其中一个选项&#xff0c;只能单选&#xff0c;不能多选&#xff0c;而且不能通过修改配置文件去…

湖北省七普分乡、镇、街道数据,shp、excel格式 需要自取

数据名称: 湖北省七普分乡、镇、街道数据 数据格式: Shp、excel 数据几何类型: 面 数据坐标系: WGS84 数据时间&#xff1a;2020年 数据来源&#xff1a;网络公开数据 数据可视化.