一、教材学习内容总结

第八章主要内容

  • 了解String类

    • 常量对象:常量池中的数据在程序运行期间再也不允许改变。

    • String对象:用户无法输出String对象的引用。

      • 例如:
          String s = new String(“i am a student”);
        System.out.pintln(s);//输出对象的实体

      可以用s.toString()来返回对象引用的字符串 表示。

      输出:i am a student

    • 字符串的并置运算:参与并置运算的String对象,只要有一个是变量,那么java就会在动态区存放所得到的新的String对象的实体和引用。如果是两个常量进行并置运算,那么得到的仍然是常量。

  • 掌握String类的常用方法

    • 字符串与基本数据的相互转化

      • (字符串转基本数据类型)例子: Integer类调用类方法public static int parseInt(String s)实现将数字字符转化为数字。
      • (基本数据类型转字符串)例子:

        String类调用类方法public static String valueOf(byte n)将数值转化为String对象,或者调用toString()方法获得该对象的字符串表示。
    • 字符串与字符数组的相互转换

      • (字符串转字符字符数组)例子:

        public char[] toCharArray()将一个字符串全部转化为字符数组,或者使用getChars
      • (字符数组转字符串):直接用简单的初始化字符串的方式即可。
  • 学会正则表达式的使用

    • 什么是正则表达式
    • 字符串的替换
    • 字符序列的分解
  • 熟悉String类和StringBuffer类的不同

    • String对象的字符序列是不可修改的(实体不可变)。
    • StringBuffer类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符序列。(实体可变)
  • 学会使用StringTokenizer、Scanner类,并清楚二者使用时的区别

    • StringTokenizer类把分解出的单词全都存放在StringTokenizer对象的实体中,获取单词速度快,但是占用内存多。
    • Scanner类不把单词放到Scanner对象的实体中,而是仅仅存放获取单词的分隔标记,获取单词速度相对较慢,但是节省内存空间。
  • 了解Date类、Calendar类和format方法的使用

  • 熟悉Math类、BigInteger类和Random类的应用条件

    • Math类:random方法生成的随机数是double型的并且取值范围是[0.0,1.0)。
    • BigInteger类:当程序中需要处理特别大的整数时就可以使用该类。
    • Random类:虽然也是生成随机数,但是用起来比Math类灵活。

二、教材学习中的问题和解决过程

  • 问题1:

    对于如下代码,下列哪个叙述是正确的?

    A、程序编译出现错误

    B、程序标注的【代码】的输出结果是bird

    C、程序标注的【代码】的输出结果是fly

    D、程序标注的【代码】的输出结果是null
public class E {
public static void main(String[] args) {
String one = "bird";
String two = one;
one = "fly";
System.out.println(two);
}
}
  • 正确答案:B

  • 理解情况:String对象one和two都是变量,所以String two = one;相当于String two = String new("bird");,因此one的引用与two的引用是不同的,改变one的值并不会影响到two的值。

  • 运行结果截图:

  • 问题2:请说出E类中标注的【代码】的输出结果。
public class ex8_3 {
public static void main(String[] args) {
String str = "苹果";
modify(str);
System.out.println(str);
}
public static void modify(String s){
s = s +"好吃";
}
}
  • 输出结果为:“苹果”,不是“苹果好吃”
  • 运行结果截图:

  • 理解情况:题目中向方法modify传的是str的一个复制品并不是他的引用,因此在方法中改变str的值并不会影响主方法中str的值,与C中的传值、传地址类似。
  • 如果想得到“苹果好吃”,将代码修改如下:
public class ex8_3 {
public static void main(String[] args) {
String str = "苹果";
System.out.println(modify(str));
}
public static String modify(String s){
s = s +"好吃";
return s;
}
}
  • 运行结果截图:

三、代码托管

(https://gitee.com/xiannvyeye/test)



四、心得体会

  • 有压力才有动力。结对加上团队加上各种实验,我还能把Java看完我觉得自己很不容易。
  • 不知道为什么大家看起来都学习的很轻松,看书都看的好快,可能是自己书读的少了吧,所以阅读能力有点差。希望今后自己能有时间多看看书。

五、学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第七周 540/2634 2/14 20/104
  • 计划学习时间:23小时

  • 实际学习时间:20小时

  • 改进情况:

    • 多看书,提高阅读速度、理解能力。
    • 合理安排时间,充分利用碎片时间。

六、参考资料

学号 20175313《Java程序设计》 第七周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

  3. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  4. 学号20145303 《Java程序设计》第一周学习总结

    学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...

  5. 学号20145322 《Java程序设计》第一周学习总结

    学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...

  6. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  7. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  8. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  9. 20155305乔磊2016-2017-2《Java程序设计》第九周学习总结

    20155305 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 JDBC简介 1.JDBC是java联机数据库的标准规范,它定义了一组标准类与 ...

  10. 20165324 《Java程序设计》第九周学习总结

    学号 20165324 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 使用URL创建对象的应用程序称为客户端 一个URL对象封装一个具体资源的 ...

随机推荐

  1. SpringMVC的入门示例

    1.配置流程说明 第一步:导入包 第二步:构建一个请求,编写请求页面 第三步:配置核心控制器 第四步:构建一个业务控制器 第五步:编写Spring配置文件 第六步:编写一个返回页面 2.配置流程--- ...

  2. php获取两个时间戳之间相隔多少天多少小时多少分多少秒

    /** * 返回两个时间的相距时间,*年*月*日*时*分*秒 * @param int $one_time 时间一 * @param int $two_time 时间二 * @param int $r ...

  3. tensorflow安装-【老鱼学tensorflow】

    TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,Tensor ...

  4. 关于pyCharm专业版的破解方法

    用pycharm编写自动化脚本时,pycharm专业版的使用期限只有30天, 找到了pycharm破解方法. 破解码:{"licenseId":"145446792566 ...

  5. html+css+js整体布局——[防止浏览器扩大,界面排版混乱]

    1,body——>width:100% body { background-color: rgb(238, 238, 238); color: rgb(51, 51, 51); display: ...

  6. linux 添加ssh和开启ssh服务apt管理的ubuntu

    是在ubuntu下出现的需求 现笔记记录 apt-get  update 更新源命令 apt-get  install  openssh-server 安装ssh服务 容易出现无法定位软件包.出现此问 ...

  7. 网页布局之flex

    Flex是Flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性.设为Flex布局以后,子元素的float.clear和vertical-align属性将失效.使用flex ...

  8. Springboot中使用Scheduled做定时任务

    在开发中,定时任务是常见的功能,在spring boot 下开发定时任务其实很简单,具体代码如下: 1.配置依赖包pom.xml 由于默认的maven仓库经常访问不了,这里采用了阿里云的maven仓库 ...

  9. BigDecimal 准确的 double , float 计算

    public class ArithUtil { private static final int DEF_DIV_SCALE = 10; private ArithUtil() { } /** * ...

  10. session 存到memcache里

    web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内 增加一条语句就可以了,不过前提你需 ...