1.本周学习总结

  • 认识了各种类型与变量的使用
  • 学习运算符的基本使用
  • 变量命名不可以使用数字和一些特殊字符(如*、&、%等)作为开头;
  • 变量名称不可以与Java关键词同名
  • 学习了类与对象的区别
  • equal和==的使用
  • 从码云将项目clone到我的电脑
  • 将项目中的代码的改动与新增文件提交与push到码云仓库(远程仓库)

2. 书面作业

1.使用Eclipse关联jdk源代码(截图),并查看String对象的源代码?简单分析String对象的设计思路。

步骤如下:

     - 打开Eclipse/MyEclipse
- 依次点击Window->Preferences
- 依次选择Java->Installed JREs->Edit
- 打开Edit JRE目录->选择第二项->选择第一项->点击Source Attachment->Finish
- 选择Path路径->src.zip->打开->ok
- 按住ctrl键,鼠标点击String对象,出现该对象的源代码 部分截图如下:

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

答:String对象是不可变的,使用String类中的方法时,要在内存中创建一个新的字符串对象,为该新对象分配新的空间,效率低。如果要修改字符串而不创建新的对象,可以使用StringBuilder类,提升性能。

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

答:用equals比较两个字符串的值是否相等。==比较字符串是否引用同一地址,如果两个字符串是同一个对象,可以用==比较,否则不可以。

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

String str1 =“hi“, str2=“hi“;
String str3 = new String(str1);
System.out.println(str1==str2); `答:输出结果为true,str1、str2分别为两个字符串对象。第一行代码中String str1 = "hi";Java在字符串池中寻找是否存在字符串"hi",如果没有则建立字符串"hi"对象,变量str1指向这个地址;遇到语句String str2="hi",这时字符串池中显然存在"hi",直接让变量str2指向同一个地址,由题3可得两个相同对象的字符串可以用==引用同一个地址,即str1==str2为true。对于 String str3 = new String(str1);这行代码,Java不访问字符串池,不创建新的对象`。

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

答: 这是有关自动装箱问题,因为在JDK1.6中,Integer i1 = 100; 会自动转化成 Integer i = new Integer(100);。

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

Integer i1 = 127;Integer i2 = 127;
i1 == i2;//true of false?
Integer i1 = 128;Integer i2 = 128;
i1 == i2;//true of false 答:前者为true,后者为false。据了解,在Integer.java类中有一个内部私有类IntegerCache.java类(注:Cache是电脑的高速缓冲贮存区,这个在计算机组成原理课程中老师有提到过),缓存了-128~127内的所有整数对象于同一个位置,127在其中,运行结果为true,128不在此范围内,因此为false。

7.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,尝试分析背后实现的原理。

答:Eclipse中的源代码放在包含src目录的project目录中;class文件放在bin目录中。

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

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

    答:学过C,大一暑假在国科先学了一段时间的Java,但比较惨的是那时20天左右学的东西,我们郑老师两三节课就讲完了,我也是懵。这么久以来,虽是编程能力不好,却也有好些积蓄已久的代码了吧。

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

    答:这,不固定的啊,依本周实际情况而定,就比如这周作业难,花的时间相对就多,不过有java课程的当天势必要多花时间于课本知识以及代码上(多少行代码?我们都懂的,计划赶不上变化,只有尽量与尽力二词)。

    至于学习方式,有待改善...这还蛮尴尬的,对于编程这一块我接受得慢,也老是给忘,只得课内专心听讲,课后便是与借来的辅导书结合巩固,进而敲代码。那,很多知识凭一己之力也还是不能明白,没关系啊,有度娘呀,还有我的学霸舍友。

  • 关于这门课的smart目标

    答:有点儿不明觉厉~不过据链接可得知smart有一特点就是具体的,无二义性的,能描述 “成功”是什么样的。那我想既然成功是有型的、可描述的,其实现的过程也必是有型的,譬如认真听讲、课后训练、知识巩固、沉浸代码等等,啊,虽然我的代码水平一言难尽,可还是要给自己实现成功的可能啊,实际行动与付出,自怨自艾的情绪都给我跑开吧!!!

9.选做:公交卡里应该还有多少钱?请分析原因

答:实际欠费20元。卡里的余额在有符号的状态下取值范围是-2147483648~2147483647,在无符号状态下取值范围是0~4294967296。那么欠费0.2元在有符号状态下是-20元,在无符号状态下就溢出了,值是4294967296-20=4294967276元。(选自知乎网,可不?还挺有道理的)

3. 使用码云管理Java代码

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

201521123068《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. 【NO.9】jmeter - 一个完整的接口测试的脚本

    使用Jmeter对一个接口地址或者一个页面地址执行N次请求,下面来说说怎么建立一个测试脚本(也称为”测试计划”). 1.    运行Jmeter.bat 双击"Jmeter.bat"文件,稍等片刻后J ...

  2. SpringMVC实现垂直搜索引擎

    本篇博客是在上一篇<Lucene搜索引擎+HDFS+MR完成垂直搜索>的基础上,在数据收集之后的JSP/Servlet方面,换为SpringMVC框架来实现. 借助SpringMVC技术完 ...

  3. 【LeetCode】数组-6(561)-Array Partition I(比较抽象的题目)

    题目描述:两句话发人深思啊.... Given an array of 2n integers, your task is to group these integers into n pairs o ...

  4. 【LeetCode】数组-3(605)-种花问题( 1 的两侧不能有 1 )

    开始的思路:首先统计需要种几只花,用花的数目统计连续 0 的个数.... ...[囧]突然觉得情况有点复杂啊,有连续的又有分散的怎么能统计全呢? 好吧这里喔偷偷的瞄了一眼参看答案... ...(就一眼 ...

  5. dll的两种加载方式(pend)+ delayload

    看过关于动态库的调用例子,于是决定动手做一做:dll的对外接口声明头文件,Mydll.h: //Mydll.h #include <stdio.h> #include <stdlib ...

  6. .Net Reactor 5脱壳教程

    今天别人发来一个.Net的DLL让我脱壳,第一步自然是先扔进de4dot 我这个de4dot 是集成了  Ivancito0z / TheProxy / PC-RET 4.9mod / wuhenso ...

  7. 升级Cocoapods引起的Mantle库找不到的问题及解决方法

    年前升级了Cocoapods库,从0.39升级到了1.2.0-beta版,然后用模拟器和真机测试都是没有问题的,均可以成功编译.今天测试人员要测试包,准备archive打包时,却提示:ld: libr ...

  8. 1、初识socket

    经过近一个半月的学习我们已经度过了python基础的阶段,今天我们开始学习python网络编程,没有难以理解的逻辑,更注重的是记忆. 对网络协议和基础没有概念的可以在阅读本文前预习计算机基础3.网络协 ...

  9. centos7使用无线wifi连接

    一:所用命令 dmesg | grep firmware(看看有没有来自无线网卡的固件请求) iw: iw dev(查找无线网卡口) iw wls1 link(查看wls1网口无线网络连接情况) iw ...

  10. Python 可迭代的对象、迭代器和生成器

    迭代是数据处理的基石.扫描内存中放不下的数据集时,我们要找到一种惰性获取数据项的方式,即按需一次获取一个数据项.这就是迭代器模式(Iterator pattern). p.p1 { margin: 0 ...