第四章 常用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 ...
随机推荐
- MysqlException: max pool size was reached.
2019-09-09 08:22:08.620 +00:00 [ERR] Connection id "0HLPKVK52H2OU", Request id "0HLPK ...
- 内存疯狂换页!CPU怒批操作系统
内存访问瓶颈 我是CPU一号车间的阿Q,前一阵子我们厂里发生了一件大喜事,老板拉到了一笔投资,准备扩大生产规模. 不过老板挺抠门的,拉到了投资也不给我们涨点工资,就知道让我们拼命干活,压榨我们的劳动力 ...
- 基于4G Cat.1的内网穿透实例分享
上一篇分享了:小熊派4G开发板初体验 这一篇继续BearPi-4G开发板实践:内网穿透实验. 基本TCP的socket通信测试 之前我们学习WiFi模块时,与PC进行TCP协议的socket通信测试我 ...
- C语言资料分享
链接:https://pan.baidu.com/s/1hoc0sA0bDAq9XGC0pi2Kcg 提取码:60pn 复制这段内容后打开百度网盘手机App,操作更方便哦 c primer plus下 ...
- web测试要点、方法_web端测试大全总结
一.功能测试 1.1链接测试 链接是web应用系统的一个很重要的特征,主要是用于页面之间切换跳转,指导用户去一些不知道地址的页面的主要手段,链接测试一般关注三点: 1)链接是否按照既定指示那样,确实链 ...
- 关于gulp复制文件时把整个目录结构都复制的问题解决
有这么个场景,在开发时分模块开发,但是发布时不一定将按模块分布,比如,为了便于开发,图片是按照模块存放的,但是发布时只是放在images文件夹下,此时就需要用到本文中提到的插件gulp-flatten ...
- 什么?你还不会通过纯js提交表单?
如果程序已经封装好了, 不管后台是java .asp.net .还是php ?这个时候你的客户突然追加说我要 追加表单验证? what 妇产科 怎么办? submit 自带刷新效 ...
- Jmeter系列(43)- 详解 Jmeter 图形化 HTML 压测报告之 Charts 模块
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Charts 介绍 包含了各种详细信息 ...
- C++main函数与命令行参数,退出程序
本文翻译自:https://docs.microsoft.com/en-us/cpp/cpp/main-function-command-line-args?view=vs-2019 (除动态链接库d ...
- vue项目发布时去除console语句
在vue.config.js中添加下面的代码即可 // vue-cli version > 3 modeule.exports = { configureWebpack: config => ...