Java 常用API

2023-11-13

Java 常用API

JFC(Java类库)

  1. 是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface)
  2. 可帮助开发者方便、快捷地进行软件开发
  3. Java按其不同的功能分成不同的包
  4. 常用包:
    • java.lang包:java核心类库,包含java运行程序必不可少的系统类,由JVM自动导入
      • java.lang.reflect包:提供类和接口获取类和对象的反射信息
    • java.io包:java标准输入/输出类库
    • java.util包:java实用工具类库,提供一些实用的类和数据结构。
    • java.net包:实现网络功能的类库
    • java.awt包:构建图形用户界面(GUI)的类库及用户界面交互控制和事件的响应
      • java.awt.even包:图形用户界面的事件处理包
    • java.sql包:提供访问并处理存储在数据库中数据的类和接口
    • javax.swing包:构建图形用户界面类库,相对java.awt,javax.swing包提供的是轻量级图形界面组件

常用API

  1. API:Application Programming Interface,应用程序编程接口
  2. Java的API:JDK中提供的各种功能的Java类,这些类将底层实现封装起来
    • 无需关心其如何实现,只需学习使用即可
  3. JDKI帮助文档:可查看JDK中的各种类及其方法

Scanner类

  1. 功能:键盘录入的字符串
  2. 方法
    • next():遇到空格不再录入数据,以tab键或空格标记结束
    • nextLine():可将数据完整接收,以回车键标记结束
Scanner sc = new Scanner(System.in);
//开启键盘录入
String s = sc.next();
String s = sc.nextLine();

String类

  1. 在java.lang包下,故使用时无需导包
  2. 代表字符串
    • Java的字符串均被实现为此类的实例
    • Java程序中所有的被双引号包起来的字符串,都是String类的对象
  3. 字符串不可变,其创建后不可被更改
  4. 常用方法
    方法 说明
    public String() 创建一个空白字符串,其中不含任何内容
    public String(char[] chs) 据字符数组内容创建字符串
    public String(String original) 据传入的字符串,传入字符串对象
    String s = “abc” 以直接赋值方式创建字符串对象,赋值为abc
    public boolean equals(Object object) 比较字符串内容,严格区分大小写
    public boolean equalsIgnoreCase(String anotherString) 比较字符串内容,忽略大小写
    public int length() 返回字符串长度
    public char charAt(int index) 返回指定索引处的char值
    public char[] toCharArray() 将字符串拆分为字符数组后返回
    public String subString(int beginIndex,int endIndex) 根据开始和结束索引进行截取,得到新的字符串(包含头,不包含尾)
    public String subString(int beginIndex) 从传入的索引处截取,截取到末尾,得到新的字符串
    public String replace(CharSequence target,CharSequence replacement) 使用新值,将字符串中旧的替换,得到新的字符串
    public String[] split(String regex) 据传入规则切割字符串,得到字符串数组
  5. 字符串对象创建的两种方式及其区别
    • 通过构造方法创建:
      • 通过new关键字创建
      • 每次new都申请一个内存空间,即使内容相同地址也不同
    • 直接赋值创建:
      • " "方式给出字符串,只要字符序列相同,无论程序中出现多少次,JVM都只建立一个String对象,并在字符串池中维护
  6. 字符串的比较:public boolean equals(String s),比较两个字符串内容是否相同、区分大小写
    • 比较基本数据类型:比较其具体的值
    • 比较引用数据类型:比较其地址
    String s1 = "abc";
    String s2 = "abc";
    System.out.println(s1.equals(s2);
    
  7. 切割字符串:字符串变量名.split(“分割依据”);
    //例
    String[] sArr = str.split(",")	//据字符串中逗号分割字符串
    

StringBuilder类

  1. 是可变字符串类,即其对象内容可改变
  2. 与String的区别:String不可改变,StringBuilder可改变
  3. 常用方法
    方法 说明
    public StringBuilder() 创建空白可变字符串对象,不含任何内容
    public StringBuilder(String str) 据字符串内容创建可变字符串对象
    public StringBuilder append(任意类型) 添加数据并返回对象本身
    public StringBuilder reverse() 返回相反的字符序列
  4. StringBuilder与String相互转换:
    • StringBuilder转为String
      • public String toString():通过toString把StringBuilder转为String
    • String转为StringBuilder:
      • public StringBuilder(String s):通过构造方法实现String转为StringBuilder

Math类

  1. 是数学帮助类,包含一组数值运算方法,使用简单
  2. 特点
    • 与String类一样,用final修饰,不能被继承
    • 构造方法私有,故不能通过new在其他类中构建Math对象
    • 所有方法静态,可直接使用类名访问
  3. 两个常用常量:PI和E
    • PI:圆周率,约等于3.14926,表示为Math.PI
    • E:表示自然对数底数(基数)e,约等于2.718,表示为Math.E
  4. 常用方法
    方法名 说明
    static double abs(double a) 返回double值的绝对值
    static double ceil(double a) 返回最小的(最接近负无穷大)的double值,该值大于或等于参数,且等于某个整数
    static double floor(double a) 返回最大的(最接近正无穷大)的double值,该值小于或等于参数,且等于某个整数
    static double max(double a,double b) 返回两个double值中较大的一个
    static double min(double a,double b) 返回两个double值中较小的一个
    static double pow(double a,double b) 返回第一个参数的第二个参数次幂值
    static double random() 返回带正号的double值,大于等于0.0,小于1.0
    static int round(float a) 返回最接近参数的int,四舍五入取整
    static double sqrt(double a) 返回正确舍入的double值的正平方根

System类

  1. 常用方法
    • public static void exit(int status):终止当前运行的Java虚拟机
    • public static long currentTimeMillis():返回当前时间,以毫秒为单位

Object类

toString方法

  1. 以良好的格式,更方便的展示对象中的属性值
//例
@Override
public String toString() {
	return "Student{" +
	"name='" + name + '\'' +
	", age=" + age +
	'}';
}

equals方法

  1. 作用:用于对象间的比较,返回true或false结果

时间日期类

  • 主要是java.util包中的Date类、Calendar类及java.text包中的DateFormate和SimpleDateFormat类

Date类

  1. 在java.util包中
  2. 是唯一一个代表时间的类,允许将日期解析为年、月、日、小时、分钟和秒值,也允许格式化和解析日期字符串
  3. 构造方法:
    • 无参:java.util.Date();,创建一个代表当前时间的日期对象
    • 创建指定的毫秒数的Date方法:java.util.Date(long Date)
    • java.sql.Date(long Date);
  4. 常用方法
    • Date()
    • Date(long date):据
    • toString():直接返回当前时间
    • getTime():返回自1970年至今的毫秒数
      • 与System.currentTimeMillis()方法类似
    • setTime():设置时间,给的是毫秒值
  5. 许多方法过时,不建议使用
    • 其提供的日期不符合特点地区和语言环境,不适于国际化需要

Calendar日历类

  1. 是abstract的,无构造方法,不能通过new实例化
    • 只能通过getInstance()方法或通过Calendar子类GregorianCalendar获取实例
    • 为特定瞬间与YEAR、MONTH、DAY_OFMONTH、HOUR等日历字段间的转换提供一些方法
      • 特定瞬间用毫秒值表示,是距历元的偏移量
    • 提供获得特定地区和语言环境的日期,并为操作日历字段提供了方法
      • 但不能提供特定环境下的日期格式
    • 现在推荐使用Calendar处理日期时间
  2. 静态方法:public static Calendar getInstance()
    • 使用默认时区和语言环境获得一个日历子类的对象
  3. 常用方法:
    方法名 说明
    public int get(int field) 返回给定日历字段的值
    public void set(int field,int value) 将给定的日历字段设定为给定值
    public abstract void add(int field,int amount) 据日历规则,为给定日历字段添加或减去指定时间量
    public Date getTime() 返回一个表示此Calendar时间值(从历元到毫秒偏移量)的Date对象
  4. 常用字段
    字段值 含义
    YEAR
    MONTH
    DAY_OF_MONTH 月(从0开始,故一般使用需+1)
    HOUR 时(12小时制)
    HOUR_OF_DAY 时(24小时制)
    MINUTE
    SECOND
    DAY_OF_WEEK 周中的天(周几,周日为1,故一般使用需-1)

DateFormat类

  1. 是日期/时间格式化子类的抽象类,通过该类实现日期与文本间的转换
    • 即可在Date对象与String对象间来回转换
    • 是Format的子类
  2. 作用:格式化语言环境敏感信息
    • 能用与语言无关方式格式化并解析日期或时间
    • 提供许多方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间
  3. 方法:
    • public static final DateFormat getDateInstance(int style,Locale alocale)
      • 获取给定语言环境和格式化风格的日期格式器
      • 参数
        • style:给定的格式化风格
        • aLocale:给定的语言环境
    • public static final DateFormat getDateTimeInstance(int dateStyle,int timeStyle,Locale alocale)
      • 获取给定日期/时间风格和语言环境的日期/时间格式器
      • 参数:
        • dateStyle:给定日期格式化风格
        • timeStyle:给定时间格式化风格
        • aLocale:给定的语言环境
    • public Date parse(String source) throws ParseException
      • 把字符串解析为日期类型
  4. 格式化风格:是DateFormat的常量,包括
    • SHORT:完全为数字,如3:30pm
    • MEDIUM:较长,Jan 12,1952
    • LONG:更长,January 12,1952或3:30:32pm
    • FULL:完全指定,如Tuesday、April、1952AD或3:30:42pm PST
  5. 缺点:不能满足个性化格式日期要求

SimpleDateFormat类

  1. SimpleDateFormat类是DateFormat类的子类
  2. 作用:按照用户自定义的日期时间模式格式化日期时间,并能将字符串解析为指定模式的日期时间
  3. 构造方法:
    • public SimpleDateFormat(String pattern)
      • 用给定模式和默认语言环境的日期格式构造SimpleDateFormat
      • 参数pattern:是一个字符串,代表日期时间自定义格式
        • G:Era标志符
        • y:年
        • M:年中的月份
        • v:年中的周数
        • V:月中的周数
        • D:年中的天数
        • d:月中的天数
        • F:月中的星期
        • E:星期中的天数
        • a:am/pm标记
        • H:一天中的小时数(0-23)
        • k:一天中的小时数(1-24)
        • K:am/pm中的小时数(0-11)
        • h:am/pm中的小时数(1-12)
        • m:小时中的分钟数
        • s:分钟中的秒数
        • S:毫秒数
        • z:时区
        • Z:时区
  4. 字符串与日期间的转换:
    • Date转字符串:public String format(Date date)
    • 字符串转为Datepublic Date parse(String source)
      DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
      
    • Date转为Calendar
      Calendar calendar = Calendar.getInstance();
      calendar.setTime( new java.util.Date()); 
      
    • Calendar转为Date
    Calendar calendar = Calendar getInstance();
    calendar.set(1949,10,1,15,01);
    java.util.Date date = calendar.getTime();
    

java.time

  1. Java8提供了全新的日期时间处理方式,相关类在java.time包中,是不可变且线程安全的
  2. 主要顶级类
    • LocalDate类封装本地日期
    • LocalTime类封装本地时间
    • LocalDateTime类封装本地日期和时间
    • java.time.format包中提供了一个DateTimeFormattaer格式器类,将日期、时间格式化为字符串

包装类

基本类型的包装类

  1. 将基本数据类型封装成对象
  2. 作用:可在对象中定义更多的功能方法操作该数据
  3. 常用操作:基本数据类型与字符串间的转换
  4. 基本类型对应包装类:
    基本数据类型 包装类
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean

Integer类

  1. 包装一个对象中原始类型int的值
  2. 构造方法:
    方法 说明
    public Integer(int value) 据int值创建Integer对象
    public Integer(String s) 据String值创建Integer对象
    public static Integer valueOf(int i) 返回指定的int值的Integer实例
    public static Integer valueOf(String s) 返回一个保存指定值的Integer对象String

int和String类型的相互转换

  1. int转为String
    • 方法一:直接在数字后面加一个空字符串
    • 方法二:通过String类静态方法valueOf()
  2. String转为int
    • 方法一:先将字符串数字转为Integer,再调用valueOf方法
    • 方法二:通过Integer静态方法parseInt()进行转换

自动装箱与自动拆箱

  1. 自动装箱:把基本数据类型转换为对应的包装类类型
  2. 自动拆箱:把包装类转换为基本数据类型
    Integer i = 1;	//自动装箱
    i += 2;	//自动拆箱
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 常用API 的相关文章

  • Amazon Elasticache Redis 集群 - 无法获取端点

    我需要获取 Amazon Elasticache 中 Redis 集群的终端节点 以下代码适用于 Memcached 集群 但不适用于 Redis import com amazonaws auth AWSCredentials impor
  • Hibernate 4 字节码增强不适用于脏检查优化

    我正在使用 Hibernate 4 3 6 并且我使用了最新的Maven 字节码增强 http vladmihalcea com hibernate 4 bytecode enhancement 使所有实体提高自我肮脏意识 我添加了mave
  • 从 BroadcastReceiver 获取方法来更新 UI

    我正在尝试根据变量的变化更新用户界面BroadcastReceiver 因此 我需要调用一个扩展类的方法 以获取我提到的变量 BroadcastReceiver in MainActivity取决于但我无法以任何方式获得真正的返回值 扩展的
  • 在此代码中,Runnable 未实例化。为什么?

    Runnable cannot instantiate public class Thread4 public static void main String args Thread t1 new Thread new Runnable R
  • ListView:防止视图回收

    我有一个使用回收视图的 ListView 我试图阻止视图被回收 所以我使用 setHasTransientState android support v4 view ViewCompatJB setHasTransientState Vie
  • 使用 Eclipse 将具有外部依赖项的 Java 项目导出到 jar

    有没有一种简单的方法可以将 Java 项目 包括其所有外部依赖项 导出到标准 jar 文件 我开发了一个使用多个 Apache 库的 SDK 我希望能够将该项目作为单个 jar 发布 到目前为止我找到的这个问题的答案要求将项目打包为 Run
  • Java HashMap 嵌套泛型与通配符

    我正在尝试创建包含自定义类的不同子类的哈希集的哈希映射值的哈希映射 如下所示 HashMap
  • Spring @Validated 在服务层

    Hej 我想使用 Validated group Foo class 在执行方法之前验证参数的注释 如下所示 public void doFoo Foo Validated groups Foo class foo 当我将此方法放入 Spr
  • Ant 中回显目标描述

  • Java - toString 到 Color

    我一整天都在努力解决这个问题 基本上我做了一个 for 循环 将条目添加到数组列表中 其中一项是 颜色 变量 我已经用过random nextInt为颜色构造函数的红色 绿色和蓝色部分创建新值 我还设置了一个toString方法 这样我就可
  • 使用 Hibernate Criteria 过滤 Map 中的键和值

    我有以下持久类 public class Code ElementCollection targetClass CodeValue class MapKeyClass CodeProperty class JoinTable name co
  • java 中的 Try-with-resources 和 return 语句

    我想知道是否放一个return里面的声明尝试资源block 防止资源自动关闭 try Connection conn return conn createStatement execute 如果我写这样的东西将会联系被关闭 Oracle 文
  • 在 Java 中的 JFrame/JPanel/JComponent 中添加 Web 浏览器

    我正在开发一个 Java 应用程序 需要在应用程序中使用 Web 浏览器 我见过一些应用程序这样做 例如在同一应用程序中单击左侧面板中的提要并打开右侧面板中的链接时的 RSS 阅读器 我想实现类似的功能 在java中可以做到这一点吗 Jav
  • 使用 equals 方法比较两个对象,Java

    我有一个对象数组 我想将它们与目标对象进行比较 我想返回与目标对象完全匹配的对象的数量 这是我的计数方法 public int countMatchingGhosts Ghost target int count 0 for int i 0
  • 按名称获取 ArrayList

    这是正确的获取方式吗ArrayList
  • 应用程序中空指针异常[重复]

    这个问题在这里已经有答案了 我正在尝试在我的应用程序中实施应用程序内计费 我写了这段代码 public class Settings extends PreferenceFragment ServiceConnection mService
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle
  • 使用 Commons 或 Guava 将文本文件转换为 Java Set

    我想将文件中的每一行加载到 HashSet 集合中 有没有一种简单的方法可以做到这一点 怎么样 Sets newHashSet Files readLines file charSet 使用番石榴 参考 文件 readLines http
  • AES 密钥是随机的吗?

    AES 密钥可以通过此代码生成 KeyGenerator kgen KeyGenerator getInstance AES kgen init 128 but 如果我有一个 非常可靠 的生成随机数的方法 我可以这样使用它吗 SecureR
  • 检查 Java 字符串实例是否可能包含垃圾邮件数据的最简单方法

    我有一个迭代 String 实例的过程 每次迭代对 String 实例执行很少的操作 最后 String 实例被持久化 现在 我想为每次迭代添加一个检查 String 实例是否可能是垃圾邮件的检查 我只需验证 String 实例不是 成人材

随机推荐

  • 合并排序-递归分治

    按我的想法 简单地说 合并排序的思路就是 先递归 后排序 include
  • Java中的运算符

    1 算术运算符 基本四则运算符 1 规则比较简单 需要注意的是除法 int int 的结果还是 int 要想结果中有小数需要使用 double 类型 0 不能用来做除数 2 在Java中 表示取余 不仅可以对 int 求模 也可以对 dou
  • Tomcat Server处理一个http请求的过程

    Tomcat Server处理一个http请求的过程 假设来自客户的请求为 http localhost 8080 wsota wsota index jsp 1 请求被发送到本机端口8080 被在那里侦听的Coyote HTTP 1 1
  • 爬虫逆向实战(13)-某课网登录

    一 数据接口分析 主页地址 某课网 1 抓包 通过抓包可以发现登录接口是user login 2 判断是否有加密参数 请求参数是否加密 通过查看 载荷 模块可以发现有一个password加密参数 还有一个browser key这个可以写死不
  • C++ Pat甲级1013 Battle Over Cities (25 分)(求图的连通分量dfs)

    1013 Battle Over Cities 25 分 It is vitally important to have all the cities connected by highways in a war If a city is
  • 数字SOC设计之低功耗设计入门(六)——门级电路低功耗设计优化

    三 门级电路低功耗设计优化 1 门级电路的功耗优化综述 门级电路的功耗优化 Gate Level Power Optimization 简称GLPO 是从已经映射的门级网表开始 对设计进行功耗的优化以满足功耗的约束 同时设计保持其性能 即满
  • 【STM32篇】驱动MXL90614红外测温模块

    本次实验使用的测温模块型号GY 906 DCC模块 测距为10cm左右 一 简介 MLX90614 是一款红外非接触温度计 TO 39 金属封装里同时集成了红外感应热电堆探测器芯片和信处理专用集成芯片 由于集成了低噪声放大器 17 位模数转
  • 文件读/写操作 import pickle

    文件写 开 文件变量 open 文件路径文件名 web 存 pickle dump 待写入的变量 文件变量 关 文件变量 close 文件读 开 文件变量 open 文件路径文件名 rb 取 放内容的变量 pickle load 文件变量
  • 小程序 -- 分包

    来源 1 什么是分包 分包指的是把一个完整的小程序项目 按照需求划分为不同的子包 在构建时打包成不同的分包 用户在使用时按需进行加载 2 分包的好处 对小程序进行分包的好处主要有以下两点 可以优化小程序首次启动的下载时间 在多团队共同开发时
  • 二叉树之层次遍历(js)

    二叉树之层次遍历 输入一棵二叉树 你的任务是从上到下 从左到右的顺序输出各个结点的值 每个结点都是按照从根节点到它移动序列给出 L表示左 R表示右 在输入中 每个结点的左右括号之间没有空格 相邻节点之间用一个空格隔开 输入 11 LL 7
  • GameFi 大爆发?五款令人期待的链游

    大家好 我是晴天defi 在今年 有许多游戏公司陆续推出自家的IP大作 像是任天堂出的宝可梦 阿尔宙斯 Sony 的地平线 西域禁地 Techland 的垂死之光 2 就连那位喜欢虐待玩家的宫崎英高 也跟着推出他的全新虐待新作 艾二登 法环
  • Qt使用QGraphicsView实现滑动窗体效果 .

    源码已上传至CSDN http download csdn net source 2808505 QGraphicsView用来显示一个滚动视图区的QGraphicsScene内容 QGraphicsScene提供了QGraphicsIte
  • 深入理解mongodb和hbase区别

    最近公司想要做数据分析 之前我们公司用的是免费的growing IO 他们分析仅限于界面跳转的转化率 不能详细地分析业务数据 我研究了一个需要埋点的产品 搞明白他们是在每个接口的调用埋点 将用户对接口的调用行为记录下来 进行分析 由于接口众
  •  Linux下读写文件操作

    Linux下读写文件操作 include
  • Error: Could not create the Java Virtual Machine. Error: A fatal exception h.....

    我处理的问题的方法 换成8解决的
  • Python地理数据处理 十七:植被物候提取和分析(Savitzky-Golay)

    Savitzky Golay滤波 1 引子 2 Savitzky Golay滤波提取物候信息 1 引子 import numpy as np import matplotlib pyplot as plt from scipy signal
  • LeetCode0752-打开转盘锁

    LeetCode0752 打开转盘锁 题目 你有一个带有四个圆形拨轮的转盘锁 每个拨轮都有10个数字 0 1 2 3 4 5 6 7 8 9 每个拨轮可以自由旋转 例如把 9 变为 0 0 变为 9 每次旋转都只能旋转一个拨轮的一位数字 锁
  • 2.Spark运行模式

    1 Spark运行模式概述 Local 多用于本地测试 如在IDEA PyCharm Visual StudioCode中写程序测试等 Standalone Standalone是Spark自带的一个资源调度框架 它支持完全分布式 Yarn
  • postman单个请求批量发送

    第一部 抓取单个请求选择一个请求 copy as cURL bash 第二步 复制到postman 并保存 第三步 单个请求批量发送 点击Runner i第四步 选择刚才的请求 设置发送次数Iterations 点击run 成功
  • Java 常用API

    Java 常用API JFC Java类库 是系统提供的已实现的标准类的集合 是Java编程的API Application Program Interface 可帮助开发者方便 快捷地进行软件开发 Java按其不同的功能分成不同的包 常用