JavaSE基础(day13)(1)包装类和常用数学处理类(2)String类(3)StringBuilder类和StringBuffer类(4)日期相关的类(5)集合类

默写:
1.简答题
写出常见的5种异常,要求中文名称和英文名称。

2.编程题
自定义Student类实现封装,属性有:学号和姓名,要求重写equals()、hashCode()以及toString()方法。

今天内容:
(1)包装类和常用数学处理类
(2)String类
(3)StringBuilder类和StringBuffer类
(4)日期相关的类
(5)集合类

1.包装类和常用数学处理类
1.1 常用的包装类
int => Integer类(重点)
double => Double类
byte => Byte类
short => Short类
long => Long类
float => Float类
boolean => Boolean类
char => Character类

1.2 Integer类
(1)装箱和拆箱的概念
装箱就是指从int类型向Integer类型的转换。
拆箱就是指从Integer类型向int类型的转换。
从jdk1.5开始提供了自动装箱和自动拆箱的机制。

(2)自动装箱池(尽量理解)
在Integer类的内部提供了一个自动装箱池,该池中已经实现了-128~127之间整数的装箱过程,因此若程序中需要使用该范围装箱时直接可以去池中获取,不需要创建新对象。

1.3 BigDecimal类(了解)
(1)基本概念
Java语言中的float类型和double类型是无法进行精确计算的,此时可以使用java.math.BigDecimal类来弥补不足之处。

(2)常用的方法
BigDecimal(String val) - 根据参数指定的字符串来构造对象。
BigDecimal add(BigDecimal augend) - 用于计算调用对象和参数对象的和并返回。
BigDecimal subtract(BigDecimal subtrahend)
- 用于计算调用对象和参数对象的差并返回。
BigDecimal multiply(BigDecimal multiplicand)
- 用于计算调用对象和参数对象的积并返回。
BigDecimal divide(BigDecimal divisor)
- 用于计算调用对象和参数对象的商并返回。

1.4 BigInteger类(了解)
(1)基本概念
java.math.BigInteger类用于描述比long类型范围还大的数据。

(2)常用的方法
BigInteger(String val) - 根据参数指定的字符串内容来构造对象。
实现加减乘除的方法与上述类中方法名相同。

2.String类(重中之重)
2.1 基本概念
java.lang.String类由final关键字修饰,表示该类不能被继承。
该类用于描述字符串,使用该类创建的对象可以描述java应用程序中的所有字符串字面值,如:“abc”,而且该字符串字面值是个常量不能更改。

如:

String s1 = "hello";  
   s1 = "world";    - 本质上就是在改变s1本身的指向,而不是指向的内容。

注意:
String s1 = null 和 String s1 = ""有何区别???
解析:
前面的形式表示没有字符串对象,后面的形式表示有字符串对象但没有内容。

2.2 字符串常量池(尽量理解)
当程序中出现字符串内容时首先去字符串常量池中查找,若存在则直接返回,若不存在则创建对象并放入字符串常量池,从而提高性能。

2.3 常用的方法(练熟、记住)
(1)常用的构造方法
String() - 使用无参的形式构造对象。
String(byte[] bytes) - 使用参数指定的字节数组来构造对象。
String(byte[] bytes, int offset, int length)
- 使用bytes数组中从offset位置开始的length个字节来构造对象。
String(String original) - 使用参数指定的字符串内容来构造对象(着重关注)。
String(StringBuffer buffer) - 根据参数指定的StringBuffer对象来构造对象。
String(StringBuilder builder) - 根据参数指定的StringBuilder对象来构造对象。

(2)常用的成员方法
char charAt(int index) - 用于根据参数指定的下标返回对应位置的字符。
int length() - 用于返回字符串的长度。

int compareTo(String anotherString) - 表示按照字典顺序来比较两个字符串大小
- 若当前字符串大则返回正数; 若相等则返回0; 若当前字符串小则返回负数。
- 从第一个字符起进行对应位置的减法运算,若所有位置的字符都一样则根据
字符串的长度来确定大小关系。
如:
“hello” 和 “world” ‘h’小于’w’,因此"world"比较大。
“hello” 和 “hehe” ‘l’ 大于’h’,因此"hello"比较大。
“hello” 和 “helloWorld” 由于"helloWorld"比较长,因此该字符串大.
int compareToIgnoreCase(String str) - 比较字符串的大小,不考虑大小写。
boolean equals(Object anObject) - 用于判断调用字符串和参数字符串是否相等。
boolean equalsIgnoreCase(String anotherString) - 判断是否相等但忽略大小写。

练习:
不断地提示用户输入要发送的内容,若用户输入的是"exit"则结束输入,否则判断用户输入的内容与"exit"之间的大小关系并打印出来。

boolean contains(CharSequence s) - 判断调用字符串中是否包含参数字符串。
- 接口类型的引用作为方法的形参,实参需要传递实现类的对象/匿名内部类。
boolean endsWith(String suffix) - 判断当前字符串是否以suffix为结尾。
boolean startsWith(String prefix) - 判断当前字符串是否以prefix为开头。
String toLowerCase() - 用于将所有字符都转换为小写。
String toUpperCase() - 用于将所有字符都转换为大写。
String trim() - 用于返回字符串的副本,忽略两边的空白字符。

byte[] getBytes() - 用于将字符串内容转换为byte数组并返回。

int indexOf(int ch) - 用于根据参数指定的字符来返回对应的下标。
- 若参数指定的字符不存在,则返回-1.
int indexOf(int ch, int fromIndex) - 从fromIndex位置开始查找ch出现的位置。
int indexOf(String str) - 查找参数指定字符串第一次出现的位置。
int indexOf(String str, int fromIndex) - 从fromIndex位置开始查找str出现位置

int lastIndexOf(int ch) - 查找ch在当前字符串中最后一次出现的位置。
int lastIndexOf(int ch, int fromIndex)
- 用于从fromIndex位置开始反向查找ch出现的位置。
int lastIndexOf(String str) - 用于查找参数指定字符串最后一次出现的位置。
int lastIndexOf(String str, int fromIndex)
- 用于从fromIndex位置开始反向查找str出现的位置。
String substring(int beginIndex) - 用于获取从参数指定位置开始的子字符串。
String substring(int beginIndex, int endIndex)
- 用于获取从beginIndex位置开始到endIndex位置之间的子字符串。

视频
javaseday13-作业讲解和Integer类的使用-01
https://v.qq.com/txp/iframe/player.html?vid=u07971zgatd
javaseday13-数学处理类和字符串概念-02
https://v.qq.com/txp/iframe/player.html?vid=t0797t0qakr
javaseday13-String类中的常用方法-03
https://v.qq.com/txp/iframe/player.html?vid=q0797elpsst
javaseday13-String类中的常用方法-04
https://v.qq.com/txp/iframe/player.html?vid=c0797a0jyx5
javaseday13-String类中的常用方法-05
https://v.qq.com/txp/iframe/player.html?vid=x07977vu0qf
代码
https://pan.baidu.com/s/1LbtnAZ-oBE4qstkSsVsLQQ

作业:
1.复习和总结面向对象阶段的所有内容。
2.查询和练习上述方法的使用。
3.首先输入学生人数,循环输入班级学生信息,然后放入Student数组中,并打印所有
姓zhang的学生信息。
要求姓名用拼音(不考虑汉字),学生所有信息用String格式输入,中间用逗号隔开。
其中学生信息有:学号、姓名以及年龄。

提示:
   需要查询String类中的split()方法进行字符串拆分,实参传递逗号(",")即可。 

4.有余力的同学编写控制台版扫雷游戏,采用二维数组实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值