一、本周学习总结

1、学习了数据类型的使用:整数类型、浮点类型、 boolean类型、数组等以及类型的转换,最重要的是学会了import引用包;

2、学习了string类对象的拼接、字符串池、枚举类型;

3、实验课学会了如何Eclipse Egit与码云管理代码。以及 bigdecimal和arrays的用法。

二、书面作业

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





 String对象的源代码

 String对象的设计思路:String的对象是不可变的,它是一个常量,可以用字符数组创建,也可以用new运算符创建。

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

 答:因为String的对象是不可变的,如果频繁的对字符串的进行修改,会产生大量的字符串对象,效率会降低。而用StringBuilder可以在原来的字符串上直接进行拼接,简单而快捷,大大的提高了效率。

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

 答:“==”比较字符串需要看是否为同一对象。如果2个字符串是同一个对象,那可以用==,如果不是同一个对象,用“==”进行比较即使值相等但是如果对象不同,答案也为false。所以要比较俩字符串的值是否相等需要用到equals实现。

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

String str1 =“hi“, str2=“hi“;String str3 = new String(str1)System.out.println(str1==str2);

 答:输出结果是:true。因为在创建str1对象时建立了一个字符串池,并将"hi"存入其中,而str2并没有创建新对象,而是直接指向了字符串池中的"hi"。也就是说str1和str2指向了同一个"hi",所以程序段的输出结果是true。然后str3在字符串池外又新建了一个对象。如果与str3比较就是false。

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

 答:这是包装类与整形之间的转换,是jdk自己帮我们自动完成了调用Integer.valueOf(100),相当于Integer i=new Integer(100)。

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

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.valueOf(),所以Integer i其实相当于Integer i=Integer.valueof(),这个函数存放在数组中,而它的范围在-128-127之间。127属于这个范围则第一题的i1与i2是同一个对象,结果是true。而第二题的i1与i2的128超出了这个范围,i1和i2就会分别创建一个新的Integer对象,i1和i2指的是不同的对象,所以结果是false。

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

 答:源代码放在src里面,class放在bin文件夹中。

Q8、自己在这门课的目标与计划:请描述一下你的技术基础(会什么语言,都写了多少行代码)一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?

 答:技术基础:基础不好,只会写简单的C和C++程序。没有数过写了多少代码,但感觉很吃力,并没有找到方法;
接下来打算多练习编程,有不会的问老师、同学。寻找到自己对这门课的兴趣,学会编程的技巧和方法。

三、使用码云管理Java代码



四、PTA实验

 本周做的是实验二的实验,而我并没有全部完成,只完成了2、4、5题,1题没有编译成功。
实验中遇到的问题:
1、在eclipse上执行正确但在PTA上就编译错误了;
2、String类对象的新建和处理存在问题;
3、对BigDecimal的用法不是很明确。
4、对java还不太了解,函数的调用存在问题。
解决办法及体会;
把老师上课讲的内容又仔细的学了一遍,查百度问同学,一开始觉得希望渺茫,很挫败,但在努力之后还是有收获,以后更要多下功夫下java上,毕竟自己差的还很多。

201521123103 《Java学习笔记》第二周学习笔记的更多相关文章

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

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

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

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

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

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

  4. 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结

    20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...

  5. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  6. 20175226 2018-2019-2 《Java程序设计》第二周学习总结

    20175226 2018-2019-2 <Java程序设计>第二周学习总结 教材学习内容总结 基本数据类型与数组 标识符与关键字 标识符不能是关键字.true.false.null.且第 ...

  7. # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结

    学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结      第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...

  8. 20175211 2018-2019-2 《Java程序设计》第二周学习总结

    目录 教材学习内容总结 第二章 第三章 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 其他(感悟.思考等,可选) 学习进度条 参考资料 教材学习内容总结 第二章 ...

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

    20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...

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

    # 20175126 2016-2017-2 <Java程序设计>第二周学习总结 ## LINUX系统安装好输入法后如何使用? - 相信很多同学在刚接触虚拟机LINUX系统时,会因无法输入 ...

随机推荐

  1. angular或者js如何确定选中ul中的哪几个li

    刚来新公司接到新的需求做一个知识库页面 红色的是单选    蓝色的是多选     这些都是需要传递到后台的 开始不知道如何解决  下班后在家想到一个很巧妙的办法  不多说上代码 箭头所指就是在li里写 ...

  2. 米扑代理示例(mimvp-proxy-demo)

    米扑代理示例(mimvp-proxy-demo) 米扑代理示例(mimvp-proxy-demo)聚合了多种编程语言使用代理IP,由北京米扑科技有限公司(mimvp.com)原创分享. 米扑代理示例, ...

  3. 关于 Overtrue 的拼音库 overtrue/pinyin 为何 travis 为 error【社交系统研发日记十】

    什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+(简称TS+).社交系统 ...

  4. TCP/IP、Http、Socket的区别与关系

    --TCP/IP.Http.Socket的区别与关系 --------------------------------------2014/05/14 网络由下往上分为 物理层.数据链路层.网络层.传 ...

  5. SQL中 LEFT JOIN ,RIGHTJOIN,INNER JOIN 的使用及优先级浅析

    首先了解JOIN的基本概念: join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. INNER JOIN:在表中存在至少一个匹配时,INNER JOIN 关键字返回行. LEFT JO ...

  6. mac系统读写NTFS格式的移动硬盘

    Mac OS X默认情况下,对于NTFS的移动硬盘只能读不能写,可通过将移动硬盘格式化为exFAT 或者安装NTFS相关的工具,达到可读写的目的,但对于系统的安全性方面,以上方式得不到保证:在Mac ...

  7. MVC5+EF6 完整教程17--升级到EFCore2.0

    EF Core 2.0上周已经发布了,我们也升级到core 文章内容基于vs2017,请大家先安装好vs2017(15.3). 本篇文章主要讲下差异点,跟之前一样的就不再重复了. 文章目录(差异点): ...

  8. Struts2传参碰到的奇怪问题

    在使用Struts2框架,前端页面提交参数为日期时,Action中获取类型直接是Date 出现的问题是,局域网中无法访问,外网可正常访问. 把Action中Date类型换成String类型都可正常访问 ...

  9. Wdatepicker日期控件的使用指南 (转)

    Wdatepicker日期控件的使用指南 标签: inputclass语言functionstring正则表达式 2012-02-10 15:48 40826人阅读 评论(5) 收藏 举报 .embo ...

  10. 【Hadoop】HDFS的java客户端编写

    项目使用了Maven  Project 快速进行HDFS 客户端程序测试 客户端操作系统:win10 64位 JDK: 1.7.0_79 开发工具 :Eclipse Luna pom.xml < ...