1. 本章学习总结

*  String类
* Java数组Array的使用

2. 书面作业

Q1.(1) 使用Eclipse关联jdk源代码,并查看String对象的源代码(截图)?







(2)分析String使用什么来存储字符串的?回答String的不可变性在该函数中如何体现?

* String是一个字符数组,当String被初始化后,内容不被修改,而常见的String str="hello",str="world",str内容被修改,并不是hello被world替

代,而是str指向world这个字符串.

Q2. 为什么要尽量频繁的对字符串的修改操作应该是用StringBuilder而不是String?

* String在赋予其变量初始值后,是不会再改变的,而内容的改变,只是因为变量指向了其他字符串,若是需要重复多次的修改操作,也就意味着要在内存中分出更多的的地方来存取这些字符串,来使变量指向它;StringBuilder则是在原来字符串上改变,较之String节省了许多成本

Q3.比较两个字符串的值是否相等?为什么不能用==直接进行比较?

* 例如:String str1="123";String str2=new String("123");比较str和str2时会出现错误,结果显示不相等;因为String str2=new String("123");这条语句在内存中新建了一个内存来存放数值"123",此时内存中有两个内存都储存着数值"123";用"=="比较的是字符串的地址,两个"123"储存的地址不相同,答案自然是不相等;因此,字符串的比较应该调用函数equals(),如str1.equals(stt2)。

Q4.尝试使用字符串池的概念解释如下程序段输出结果,并回答这段代码创建了几个字符串对象:

String str1 ="hi", str2="hi";

String str3 = new String(str1)

System.out.println(str1==str2);

*  首先第一条语句,新建字符形变量str1让其指向字符"hi",在字符串池中寻找有没有"hi",发现没有则创建"hi",然后str1指向它。再新建str2让其指向字符"hi"

,在字符串池中寻找有没有"hi",发现有,然后str2指向它;第二条语句,新建字符型变量str3,在字符池外新建一个与str1指向的字符相同的字符,并让str3指向这个新建的字符;第三条语句,判断str1和str2指向的字符的地址是否相等;相等,输出true;不相等,输出false;

因为str1和str2指向的是同一个字符,地址自然相同,所以输出true,创建了2个字符对象。

Q5.Integer i = 100;//100是基本类型,i是引用类型,为什么可以将100赋值给i?

* Integer i实际操作是Integer i=Integer.valueOf(i),当数值是-128到127,会直接调用Integer.valueOf()。

Q6.尝试分析下面代码输出结果:

Integer i1 = 127;Integer i2 = 127;

i1 == i2;//true of false?

Integer i1 = 128;Integer i2 = 128;

i1 == i2;//true of false

*  第一个是true,因为127是在Integer.valueOf()范围内(-128到127);第二个是false,因为128不在Integer.valueOf()范围内,是指向两个不同的对象;

Q7.package与javac、 java、 -classpath、 -d

在 com.ibm包中编写 StringUtil类,内有一方法

public static void foo1(){

System.out.println(StringUtil.class+" method:foo1");

}

在edu.jmu包中编写Main类,其中掉了com.ibm.StringUtil的foo1方法

7.1 尝试用命令行进行编译并运行,截图

7.2 将生成的StringUtil.class放到d:\lib下正确的目录结构下,将Main.class放到d:\test下正确的目录结构,尝试在命令行下运行,并截图。

7.3 Eclipse中源代码放在哪个目录、class文件放在哪个目录?在Eclipse项目中按一下Ctrl+F11就可以直接运行Main,当按下Ctrl+F11时,到底在哪个目录下执行了什么样的java命令

*  不懂怎么弄;

Q8.自己在这门课的目标与计划

* 请描述一下你的技术基础(会什么语言,都写了多少行代码)

* 一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?

* 关于这门课的smart目标参考链接


* C语言,C++,Java;几千行吧;

* 50%;过百;边学边实践;度娘;

* 不知道;

3. PTA实验总结及码云上代码提交记录

本周Commit历史截图

在码云的项目中,依次选择“统计-Commits历史-设置时间段”,然后搜索并截图,如下图所示

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

  1. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  2. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  3. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  6. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

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

    20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...

随机推荐

  1. Go语言Map的使用

    Go 语言Map(集合) Map 是一种无序的键值对的集合.Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值. Map 是一种集合,所以我们可以像迭代数组和切片那样 ...

  2. 分页 js

    纯js分页代码 ' .news-pages { } .news-page { } .page-first,.page-last { } .page-next { } .page-one { } { } ...

  3. STL之关联容器---set, mutilset, map, mutilmap

    STL的容器分为序列容器和关联容器.它们所表达的数据结构各有不同: 序列容器:vector(变长数组), list(链表), queue(队列), heap(堆算法)等 关联容器:set/mutils ...

  4. Java数组笔记

    # 数组--------内存 # 2017/8/31 15:29:19  ## 数组(容器) ## - 为了存储同种数据类型的多个值 - 概念     - 数组是可以存储同一种数据类型多个元素的集合, ...

  5. Maven详解(七)------ 创建Web工程以及插件原理

    1.什么是 Maven 插件? 上一篇博客我们将了 Maven 的生命周期,我们知道 Maven 的核心是生命周期,生命周期指定了 Maven 命令执行的流程顺序.但是真正实现流程的工程是由插件来完成 ...

  6. sql primary key 约束

    PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY ...

  7. 中篇: php 微信支付 基于Thinkphp3.2开发

    ⑤ 微信支付接口的使用 a.微信公众平台文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115 b.微信支付开 ...

  8. Nginx学习之HTTP/2.0配置

    哎呀,一不小心自己的博客也是HTTP/2.0了,前段时间对网站进行了https迁移并上了CDN,最终的结果是这酱紫的(重点小绿锁,安全标示以及HTTP/2.0请求). 科普 随着互联网的快速发展,HT ...

  9. java_jstl 标签库

    jstl标签库的使用以及介绍 jstl:jsp标准标签库,是jsp的标签集合,它里面封装了jsp通用的核心功能,比如:建构化的任务,迭代,条件判断,xml 文档的操作,国际化标签,sql标签,还提供框 ...

  10. Java数据库连接池比较(c3p0,dbcp,proxool和BoneCP)

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp21 Java框架数据库连接池比较(c3p0,dbcp和proxool,Bo ...