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. python基础===随机打印txt文件中的某一行

    def find(): txt = open(r'F:\send1.txt','rb') data = txt.read().decode('utf-8') #python3一定要加上这句不然会编码报 ...

  2. LeetCode Algorithm

    LeetCode Algorithm 原文出处:[LeetCode] 算法参考:[陈皓 coolshell] 1. Two Sum 3. Longest Substring Without Repea ...

  3. WTL--SDI框架分析

    创建SDI产生的基本类:CMainFrame,CAboutDlg和CWTLView(WTL为项目名). 由此可见,不同于MFC,WTL少了文档类,它的结构就只有简单的窗口类和视图类,而至于串行化(MF ...

  4. mysql-函数CASE WHEN 统计多个字段

    case when语句,用于计算条件列表并返回多个可能结果表达式之一.CASE 具有两种格式:1.简单 case 函数: case input_expression when when_express ...

  5. 利用CSS hover伪类改变其他元素的总结

    :hover 伪类经常用于页面的一些鼠标交互.链接点击变化,增强页面的用户体验,但是可以用来改变其他元素样式,可以在不使用JS 的情况下,达到想要的页面效果. 1.hover改变自身的效果: 鼠标悬浮 ...

  6. Centos7.2 启用iptables

    一.防火墙iptables 简洁介绍 iptables 和 firewalld 都是工作在用户空间.用来定义规则的工具,本身不是防火墙,他们定义的规则,可以让内核空间当中的netfilter读取,并且 ...

  7. 人生苦短 我用Python 第二周的第一天 (数据类型)

    数字:  整形  int  长整形(Python3里面把整形.长整形和到一起啦) 浮点型( float) 1.3 5.2 等等  科学技术发表示 1.3e-3=0.0013 e的代表10. bin是二 ...

  8. return 的返回值与结束功能

    前言:大家好~我是阿飞~在js中return是很重要的基础.一定要彻底掌握理解它哦.否则js学习到中后期很容易懵逼的+_+ 什么是return? 1.在js中return是一个表达式语句,如果后面什么 ...

  9. find the Nth highest salary(寻找第N高薪水)

    Suppose that you are given the following simple database table called Employee that has 2 columns na ...

  10. CY7C68013A控制传输

    大家好,你们的大熊又回来了.本篇文章我们来重点了解一下USB设备的四大传输方式之一--控制传输.不同于其他三种传输方式,控制传输有其独特的作用和功能,是一个USB设备必须支持的传输方式.控制传输对带宽 ...