第四章 常用API(下)
4.1、String类
描述:该类代表字符串
构造方法:
| 方法 | 描述 |
|---|---|
| public String() | 初始化构造一个空白字符串 |
| public String(char[] value) | 通过字符数组初始化字符串 |
| public String(byte[] bytes) | 通过使用平台的默认字符集解码指定的字节数组来构造新的String |
| public String(byte[] bytes, Charset charset) | 通过使用自定义的字符集解码指定的字节数组来构造新的String |
| public String(StringBuffer buffer) | 字符串缓冲区的内容被复制,重新分配一个新的字符串 |
| public String(StringBuilder builder) | 字符串构建器的内容被复制,重新分配一个新的字符串 |
成员方法:
| 方法 | 描述 |
|---|---|
| public int length() | 返回此字符串的长度 |
| public int indexOf(int ch) | 返回指定字符第一次出现的字符串内的索引 |
| public int lastIndexOf(int ch) | 返回指定字符的最后一次出现的字符串中的索引 |
| public int indexOf(String str) | 返回指定子字符串第一次出现的字符串内的索引 |
| public int lastIndexOf(String str) | 返回指定子字符串最后一次出现的字符串中的索引 |
| public char charAt(int index) | 返回char指定索引处的值 |
| public char[] toCharArray() | 将此字符串转换为新的字符数组 |
| public static String valueOf(int i) | 返回int参数的字符串int形式 |
| public String trim() | 返回一个删除前后空格的字符串 |
| public String toString() | 返回当前字符串 |
| public String concat(String str) | 将指定的字符串连接到该字符串的末尾 |
| public String toLowerCase() | 返回一个转换为小写的字符串 |
| public String toUpperCase() | 返回一个转换为大写的字符串 |
| public String substring(int beginIndex) | 返回一个以指定索引处的字符开头到该字符串的末尾的子字符串 |
| public String substring(int beginIndex, int endIndex) | 返回一个以指定索引处的字符开头到指定索引处的字符结尾的子字符串 |
| public String replace(char oldChar, char newChar) | 返回一个替换所有旧字符后的新字符串 |
| public String replaceAll(String regex, String replacement) | 返回一个替换所有符合正则表达式字符串后的新字符串 |
| public String[] split(String regex) | 根据正则表达式拆分字符串并返回拆分后的字符串数组 |
| public boolean startsWith(String prefix) | 判断此字符串是否以指定的前缀开头 |
| public boolean endsWith(String suffix) | 判断此字符串是否以指定的后缀结尾 |
| public boolean matches(String regex) | 根据正则表达式判断当前字符串是否符合要求 |
| public boolean isEmpty() | 判断当前字符串是否为空字符串 |
| public boolean contains(CharSequence s) | 判断当前字符串是否包含s字符 |
| public boolean equals(Object anObject) | 判断当前字符串是否和anObject相等 |
注意事项:
| StringBuffer | StringBuilder |
|---|---|
| 内容可以变 | 内容可以变 |
| 线程安全 | 线程不安全 |
| 多线程操作字符串 | 单线程操作字符串 |
| StringBuffer sb = new StringBuffer(); sb.append("Hello"); sb.append(" "); sb.append("World"); System.out.println(sb.toString()); |
StringBuilder sb = new StringBuilder(); sb.append("Hello"); sb.append(" "); sb.append("World"); System.out.println(sb.toString()); |
4.2、八种包装类
| 基本类型 | 包装类 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |
自动装箱:把基本数据类型转换为对应的包装类类型
自动拆箱:把包装类类型转换为对应的基本数据类型
4.3、BigInteger类
BigInteger bi1 = new BigInteger("100");
BigInteger bi2 = new BigInteger("50");
// public BigInteger add(BigInteger val):加
System.out.println("add:" + bi1.add(bi2));
// public BigInteger subtract(BigInteger val):减
System.out.println("subtract:" + bi1.subtract(bi2));
// public BigInteger multiply(BigInteger val):乘
System.out.println("multiply:" + bi1.multiply(bi2));
// public BigInteger divide(BigInteger val):除
System.out.println("divide:" + bi1.divide(bi2));
4.4、BigDecimal类
BigDecimal bd1 = new BigDecimal("0.09");
BigDecimal bd2 = new BigDecimal("0.01");
// public BigDecimal add(BigDecimal val):加
System.out.println("add:" + bd1.add(bd2));
BigDecimal bd3 = new BigDecimal("1.0");
BigDecimal bd4 = new BigDecimal("0.32");
// public BigDecimal subtract(BigDecimal val):减
System.out.println("subtract:" + bd3.subtract(bd4));
BigDecimal bd5 = new BigDecimal("1.015");
BigDecimal bd6 = new BigDecimal("100");
// public BigDecimal multiply(BigDecimal val):乘
System.out.println("multiply:" + bd5.multiply(bd6));
BigDecimal bd7 = new BigDecimal("1.301");
BigDecimal bd8 = new BigDecimal("100");
// public BigDecimal divide(BigDecimal val):除
System.out.println("divide:" + bd7.divide(bd8));
4.5、异常
概述:异常就是程序出现了不正常的情况
体系:

解决:
解决方案一:用try-catch方式处理异常
try {
可能出现异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
}
解决方案二:用throws方式处理异常
public void 方法名() throws 异常类名 {
}
注意:

案例:
// 自定义异常类
class ScoreException extends Exception {
public ScoreException() {}
public ScoreException(String message) {
super(message);
}
}
class Teacher {
public void checkScore(int score) throws ScoreException {
if (score < 0 || score > 100) {
throw new ScoreException("你给的成绩有误,分数应该在0-100之间");
} else {
System.out.println("你给的成绩正常");
}
}
}
public class Main {
public static void main(String[] args) {
try {
Teacher s = new Teacher();
s.checkScore(120);
} catch (ScoreException e) {
e.printStackTrace();
}
}
}
第四章 常用API(下)的更多相关文章
- 第四章 常用API(上)
4.1.Object类 描述:该类是所有类的最终根类 方法 描述 public boolean equals(Object obj) 表示某个其它对象是否"等于"此对象 publi ...
- javaservlet处理四种常用api请求get,put,post,delete
一般在网站搭建中servlet只需处理post,get请求便足已.本篇注重使用javaweb编写restful风格api,在servlet中对四种常用请求进行处理. 在api中对于一个请求要做的通常是 ...
- ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS下使用传感器和执行器
ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS使用传感器和执行器 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第四 ...
- Java基础第四天--常用API
常用API 基本类型包装类概述 将基本数据类型封装成对象的好处可以在对象中定义更多的功能方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 基本数据类型 包装类 byte Byte s ...
- Windows核心编程 第四章 进程(下)
4.3 终止进程的运行 若要终止进程的运行,可以使用下面四种方法: • 主线程的进入点函数返回(最好使用这个方法) . • 进程中的一个线程调用E x i t P r o c e s s函数(应该避免 ...
- robotium从入门到放弃 四 Robotium常用API
获取控件 getText() getEditText() getButton() getImage() getImageButton() getEditText() getView() getWe ...
- DirectX12 3D 游戏开发与实战第四章内容(下)
Direct3D的初始化(下) 学习目标 了解Direct3D在3D编程中相对于硬件所扮演的角色 理解组件对象模型COM在Direct3D中的作用 掌握基础的图像学概念,例如2D图像的存储方式,页面翻 ...
- C#语言————第四章 常用Convert类的类型转换方法
方法 说明Convert.ToInt32() 转换为整型(int 型)Convert.ToStringle() 转换为单精度浮点型(float 型)Convert.ToDouble() 转换为双精度 ...
- python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)
python全栈开发笔记第二模块 第四章 :常用模块(第二部分) 一.os 模块的 详解 1.os.getcwd() :得到当前工作目录,即当前python解释器所在目录路径 impor ...
随机推荐
- VS2017 快捷键
VS2017注释:先CTRL+K 然后CTRL+C (ctrl按住不松,松开k按c) 取消注释:先CTRL+K,然后CTRL+U (ctrl按住不松,松开k按c)
- 序列推荐(transformer)
目录 Attention演进(RNN&LSTM&GRU&Seq2Seq + Attention机制) LSTM GRU Seq2Seq + Attention机制 Attent ...
- Java中的过滤器
什么是过滤器(Filter)? 过滤器就是一个实现了特殊接口的Java类.实现对请求资源的过滤的功能. 过滤器是Servlet技术中最为实用的技术. 过滤器有啥用? 对目标资源进行过滤. 自动登录,解 ...
- 关于延迟段创建-P1
文章目录 1 疑问点 2 环境创建 2.1 创建用户 2.2 创建表test 2.3 查看表的段信息 2.4 延迟段创建相关参数 1 疑问点 P1页有句话说道: 在Oracle 11.2.0.3.0以 ...
- Promise内部实现原理
promise内部实现原理: function $Promise(fn) { // Promise 的三种状态 this.PENDING = 'pending' this.RESOLVED = 're ...
- 华山论剑(没有上司的舞会)——树形dp
华山论剑(没有上司的舞会) 题目描述 一日,小策如往常一般打开了自己的传奇,刚上线不久,就收到了帮主的私信.原来帮派里要召开一次武功比拼,让他来邀请各帮派人员,因为有些侠客还是萌新,所以需要小策挨个选 ...
- redis zset底层实现原理
一.Zset编码的选择 1.有序集合对象的编码可以是ziplist或者skiplist.同时满足以下条件时使用ziplist编码: 元素数量小于128个 所有member的长度都小于64字节 其他: ...
- Blazor带我重玩前端(三)
写在前面 需要升级VS2019以及.NET Core到最新版(具体的最低支持,我已经忘了,总是越新支持的就越好),以更好的支持自己开发Blazor项目. WebAssembly 搜索Blazor模板 ...
- python 面向对象专题(三):继承
目录 Python面向对象03 /继承 1. 初识继承 2. 单继承 3. 多继承 4. 总结 1. 初识继承 概念:专业角度:如果B类继承A类,B类就称为子类,派生类,A类就称为父类,超类,基类 种 ...
- 《你还在写sql语句吗?》人生苦短,进入MybatisPlus的丝滑体验
一.发展历程 依稀记得大学期间,类中写sql语句的日子,一个sql语句占据了大部分时间,到后来hibernate的出现算是解决了这一痛点.工作 后,我们又接触到了mybatis这样的框架,瞬间感觉这个 ...