一、学习内容
1.String类
2.StringTokenizer类
3.Scanner类——8.3知识
4.StringBuffer类——8.4知识
5.Date与Calendar类——8.5知识
(1) Date类
(2)Calendar类
6.日期的格式化——8.6知识
8.6.1 format方法
8.6.2 不同区域的星期格式
7.Math类、BigInteger类和Random类——8.7知识
8.7.1 Math类
8.7.3 Random类
8.数字格式化——8.8知识
8.8.1 format方法
8.8.2 格式化整数
8.8.3 格式化浮点数
9.Class类与Console类——8.9知识
8.10 Pattern类与Matcher类
教材学习中的问题和解决过程
-
字符串常量与字符数组
String对象调用getChars()方法将当前String对象的字符序列中的一部分字符赋值到参数c指定的数组中,将字符序列中从位置start到end-1位置上的字符复制到数组c中,并从数组c的offset处开始存放这些字符。需要注意的是,必须保证数组能容下要被复制的字符。
-
创建字符串对象两种方式的区别
通过构造方法创建字符串对象是在堆内存。
直接赋值方式创建对象是在方法区的常量池。
基本数据类型:比较的是基本数据类型的值是否相同。
引用数据类型:比较的是引用数据类型的地址值是否相同。
-
为什么String类自身包含着多种默认的构造方法
string实际上是模板具体化basic_string<string>的一个typedef。它有如下的构造函数。
string类的构造函数
string(const char *s)
使用c风格字符串初始化string对象
string(size_type n, char c)
创建一个含有n个元素的string对象,其中每个元素都被初始化为字符c
string(const string &str)
将一个string对象初始化为string对象
string()
创建一个默认的string对象,长度为0.
string(const char *s, size_type n)
将string对象初始化为s指向的C字符串的前n个字符,即使超过了s的结尾
string(const string &str, size_type pos=0, size_type n = pos)
将一个string对象初始化为对象str中从位置pos开始到结尾的字符,或者从pos开始的n个字符。
template<class Iter>string[Iter begin, Iter end)
将string对象初始化为区间[begin, end)内的字符,其中begin和end的行为就像指针,用于指定位置。
代码调试中的问题和解决过程
- 问题1:根据书本上Example8_13.java的例子,无法理解Scanner的作用。
- 问题1解决方案:
书上使用该类创建一个对象,Scanner scanner = new Scanner(Scanner);.然后Scanner对象调用下列方法(函数),读取用户在命令行输入的各种数据类型: next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot() 。这些方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认。
[代码托管]
https://gitee.com/shadowsombra/java-basti-is-tip
一些心得:
本周我学习了一些字符串的定义、常用方法等内容,学生工作比较忙导致现在才交博客,我之后需要平衡一些两者之间的关系。
原文地址:https://www.cnblogs.com/waaaaa/p/10708103.html