1. 本周学习总结

1.学习了String及部分函数用法,例如PTA上《5-2 jmu-Java-02基本语法-02-StringBuilder》一题中用到了"str.append(i)"(作用是连接字符串)来创建一个0~n-1的字符串,此题正是利用了append函数,直接在字符串上做修改,而且使用方法简单易懂。

2.完全限定类名的使用,格式:包名+类名。

3.浮点型double和float的使用区别。

2. 书面作业

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





Ans:创建一个名为final的String类,在调用String类时根据数据的类型转化为相应的结构。

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

Ans:使用StringBuilder修改字符串时,不会产生新的字符串,而Sring则会根据修改量产生新的字符串,相比之下,StringBuilder比String更为节省空间。

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

Ans:直接用=运算符进行比较,比较字符串的对象不是其本身而是其地址。

解决方法:使用equals函数。

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

String str1 =“hi“, str2=“hi“;-------①

String str3 = new String(str1)

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

Ans:输出结果为True。

这段代码只创建了两个字符串对象,str1和str3。

在代码①中,String str1 ="hi"创建了一个字符串,其内容为"hi",而后的str2创建时,因其内容与str1相同,因此直接将str2指向了str1的地址。

这也是创建字符串对象的过程,首先判断该创建的字符串是否已存在,若存在,使创建字符串指向该字符串的地址,否则创建新的空间,将新的字符串值写入。

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

Ans:该语句等同于"Integer i=new Integer(100);"采用了自动装箱和自动拆箱,能够实现将java中的对象类型和基本类型互换。

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

Integer i1 = 127;Integer i2 = 127;

i1 == i2;//true of false?---------①

Integer i1 = 128;Integer i2 = 128;

i1 == i2;//true of false----------②

Ans:①的结果为True,②的结果为False

①中由于i1和i2在-128~127之间,因此返回的是同一个Integer实例。

②中i1和i2均为128,超出了范围,因此i1和i2分别建立了新的不同的Integer实例。

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方法

Q7.1.尝试用命令行进行编译并运行,截图

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

Q7.3.Eclipse中源代码放在哪个目录、class文件放在哪个目录。在Eclipse项目中按一下ctrl+f11就可以直接运行Main,尝试分析背后实现的原理。

在cmd中找不到文件,如下图:



但是在Eclipse上运行正常,如下图:





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

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

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

Ans:希望能够在实际运用中运用JAVA解决问题,之前主要接触到的就是C语言和数据结构,写过的代码不多,所以也没有详细统计过写了多少行。一周计划利用课余时间的40%在这门课上,希望能写1000+行的代码(有点难度。。),会结合PTA上的题目学好这门课,遇 到困难时先理清楚自己的思路,再跟同学讨论解决方法,如果没办法解决就去询问老师的意见。

3. 使用码云管理Java代码

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

4. PTA实验

5-2 jmu-Java-02基本语法-02-StringBuilder

总结:本实验能够完成的要点是对String的掌握程度,输入n后利用append函数(字符串连接)获得一个从0~n-1的字符串,再利用substring完成对字符串的截取。

输入部分需要利用Scanner包实现。

5-5 jmu-Java-02基本语法-05-浮点数计算

总结:本实验考察BigDecimal的使用,利用BigDecimal,可以更精确地进行计算。

使用add函数完成加法,multiply函数完成乘法。

201521123028 《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. 社群系统ThinkSNS + 移动端研发周报

    社群系统"ThinkSNS+"对比ThinkSNS V4系列,ThinkSNS V4系列的产品规划主要偏重于企业服务应用,注重功能的覆盖面和用户关系的逻辑处理.Thin社群系统kS ...

  2. Run Performance Testing Which Was Distributed To Multiple Test Agents

    How to solve the VS installed machine cannot run performance testing by .testsettings file, which wi ...

  3. 关于web.xml中的<welcome-file-list>

    关于web.xml中的<welcome-file-listgt; WebXMLSpringJSPTomcat 问题: <welcome-file-listgt;中的<welcome- ...

  4. synchronized VS Lock, wait-notify VS Condition

    最近在看Java Threads第三版,收获颇多.全英文阅读,感觉真的是爽歪歪.推荐大家都看看. 这一篇想系统的讲一讲,线程之间通信的2种模式,wait-notify 和 Condition. 先上一 ...

  5. Linux中的定时任务at、crontab

    at at命令可以用来在某一时段执行一次任务,只会执行一次,不会重复执行. at命令是由atd服务来控制的,使用之前先查看atd服务是否正常: $ /etc/init.d/atd status * a ...

  6. Es6 类的关键 super、static、constructor、new.target

    ES6引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类.基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对 ...

  7. GBK和UTF8的区别

    GBK的文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1. UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中 ...

  8. Nexus私服搭建使用及发布jar包到私服上供团队其他成员使用

    1.下载maven解压到指定目录,并配置环境变量 M2_HOME为maven解压目录 2.path中增加 %M2_HOME%\bin, 并确认 mvn -v 正确 3.下载nexus http://w ...

  9. Hue集成Hadoop和Hive

    一.环境准备 1.下载Hue:https://dl.dropboxusercontent.com/u/730827/hue/releases/3.12.0/hue-3.12.0.tgz 2.安装依赖 ...

  10. Ext.grid.EditorGridPanel点击单元格添加菜单栏

    1.定义菜单栏需要的全局变量 var khbm; var type; 2.新建一个菜单栏 var smenu = new Ext.menu.Menu({ id:"sMenu", i ...