201521123103 《Java学习笔记》第二周学习笔记
一、本周学习总结
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学习笔记》第二周学习笔记的更多相关文章
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 《Java程序设计》第二周学习总结
20145224陈颢文<Java程序设计>第二周学习总结 教材学习内容总结 一.类型.变量与运算符 1.类型 整数: 可细分为为short整数(占2字节),int整数(占4字节),long ...
- 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结
20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20175226 2018-2019-2 《Java程序设计》第二周学习总结
20175226 2018-2019-2 <Java程序设计>第二周学习总结 教材学习内容总结 基本数据类型与数组 标识符与关键字 标识符不能是关键字.true.false.null.且第 ...
- # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结
学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...
- 20175211 2018-2019-2 《Java程序设计》第二周学习总结
目录 教材学习内容总结 第二章 第三章 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 其他(感悟.思考等,可选) 学习进度条 参考资料 教材学习内容总结 第二章 ...
- 20175314 《Java程序设计》第二周学习总结
20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...
- 20175126《Java程序设计》第二周学习总结
# 20175126 2016-2017-2 <Java程序设计>第二周学习总结 ## LINUX系统安装好输入法后如何使用? - 相信很多同学在刚接触虚拟机LINUX系统时,会因无法输入 ...
随机推荐
- python学习===从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。
#!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == '__main__': from sys import stdout filename ...
- CSS格式与布局中三种位置的理解与应用
第一种位置关系:position:fixed 锁定位置(相对于整个浏览器的位置),常用在各大网站的右下角或其它位置的小广告. 如果需要调整锁定位置,需要使用如下方式:<div style=&q ...
- JavaScript入门(一)
一.什么叫JS? 1.JS的概念JS,是JavaScript的缩写形式,而JavaScript是一种基于对象和事件驱动并且具有相对安全性的客户端脚本语言.它在Web开发中JS占据着举足轻重的地位,所有 ...
- win7(iis7)localhost可以访问127.0.0.1不可以访问的问题解决办法
在C:\Windows\System32\drivers\etc文件夹下有hosts文件,用编辑器打开,看看有没有配置127.0.0.1 localhost 把前面的#去掉保存即可!
- C语言——指针
一.什么是指针 "指针变量"是指用来存放变量地址的变量.指针变量也是一个变量,它和其他变量的区别在于它里面存的不是普通的数据,而是另一个变量的地址.访问变量有两种方式,第一种是直接 ...
- vue插件编写与实战
关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 热爱vue开发的同学肯定知道awesome-vue 这个github地址,里面包含了数以千计的vue ...
- iOS 工程自动化 - 思路整理
4 月份参加 2017@Swift 大会的时候有幸听到了 @zesming 大佬关于美团组件化的 Topic,有一张图印象特别深刻. 来自 @zesming 大佬 后来跟 @zesming 大佬沟通怎 ...
- win10 永久激活 命令行方式
现在我们可以看下当前系统的激活状态,查看方法"WIN+R"打开运行对话框,输入命令slmgr.vbs -xpr,点击确定,这样可以查看到当前系统的激活信息.大家可以发现,虽然小编系 ...
- Flask01 初识flask、flask配置
1 什么是flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 百度百科:点击前往 中文文档: ...
- for循环购物清单
//实现如图的购物清单 package ch06; import java.util.Scanner; /** * Created by liwenj on 2017/7/18. */ public ...