《JAVA程序设计》_第七周学习总结

一、学习内容

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

一些心得:

本周我学习了一些字符串的定义、常用方法等内容,学生工作比较忙导致现在才交博客,我之后需要平衡一些两者之间的关系。

posted @ 2019-04-14 23:03  20175330杨璟旭  阅读(155)  评论(0编辑  收藏  举报