1. 本周学习总结

(1)类Scanner 一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。

-例如以下代码使用户能够从System.in 中读取一个数:

    Scanner sc = new Scanner(System.in);
int i = sc.nextInt();

(2)学习了使用Arrays对数组的处理。

  • binarySearch可以使用二分搜索法来搜索指定的数组,以获得指定的值。
  • sort对指定数组的指定范围按数字升序进行排序。

    (3)在Java中浮点数默认为double型,字符串比较要用equals方法。

    (4)在控制台中,编译.java文件时要用-cp(在指定路径中寻找.java文件),若使用了完全限定类名,编译时要在文件前加上类的路径。

2. 书面作业

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

按Ctrl+左键点击类名则可查看String对象的源代码

答:在Java中,被final类型修饰的类不允许被其他类继承,被final修饰的变量赋值后不允许被修改,String的内容一旦被初始化后,其不能被修改的。

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

答:string每次修改字符串都是新建,然后删除旧的串会很影响效率,用来存储字符串,并对其做了追加和插入操作。这些操作修改了 str 对象的值,而没有创建新的对象,这就是 StringBuilder 和 String 最大的区别。在需要频繁对字符串进行修改操作时使用 StringBuilder 的效率比 String 要高。

参考链接:String详细说明

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

答:用new String的字符串对象时,即使内容完全一样,使用==比较也是false,因为==比较的是堆内存中的地址,所以只能是用equals()方法比较内容。

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

    String str1 =“hi“, str2=“hi“;
String str3 = new String(str1)
System.out.println(str1==str2);
答:不强制使用 new 运算符而是直接给值的话,如果内容相同,那么两者是同一个对象。所以str3是强制使用了new String(); 强制要求系统生成一个新的对象,而不是获取己有对象的别名。所以这段代码生成了两个对象。

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

答:在目前的JDK版本中,能够采用自动装箱和自动拆箱,装箱就是将java中的基本类型(如int)转换成对象类型(如Integer),而拆箱就是将对象类型的值取出来赋值给java中的基本类型。所以题目中的Integer i=100则可以理解成:int i=100;Integer i = new Integer(100);所以可以将100赋值给i。

(6)尝试分析下面代码输出结果##

    Integer i1 = 127;Integer i2 = 127;
i1 == i2;//true of false?
Integer i1 = 128;Integer i2 = 128;
i1 == i2;//true of false
答:java中Integer类型对于-128-127之间的数是从缓冲区取的,所以用“==”比较是一致的。而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方法##

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

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



3. Eclipse中源代码放在哪个目录、class文件放在哪个目录?在Eclipse项目中按一下Ctrl+F11就可以直接运行Main,当按下Ctrl+F11时,到底在哪个目录下执行了什么样的java命令?###

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

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

  • 请描述一下你的技术基础(会什么语言,都写了多少行代码)
  • 学了C语言,C++,代码量有上万行了。
  • 一周准备花多少时间在这门课上?一周准备写多少行代码?采用怎样的学习方式?遇到困难打算怎样解决?
    • 一周准备把空闲时间的3分之二用在Java上,写多少行代码不清楚,尽力而为,把老师布置的任务做好,做完PTA上的题目,看看论坛,遇到困难问一问同学老师。
  • 关于这门课的smart目标
  • Specific:具体的,无二义性的,能描述 “成功” 是什么样的。
  • 我个人认为,学好一门语言,能做到必需要对实际项目的开发流程有所了解,至少要有两个有实际应用价值的项目。
  • Motivating: 目标能激发对目标的兴趣么?实现目标对学生来说说意味着什么?他们会为之自豪么?
  • 可以激发兴趣,但每个人对目标的高度不同,实现目标对学生来说意味着小有成就,但也不能为之自豪。
  • Achievable: 能做到么?是挟泰山以超北海?还是把墙角一堆砖头搬走?
  • 相信自己,一步一步慢慢来,总能做到。
  • Relevant: 和学生来到大学的大方向、目标吻合
  • 没什么大方向。
  • Trackable: 能衡量进度的,和有些资料提到的 Measurable 相似。

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



可能是因为浮点数溢出。

3. 使用码云管理Java代码#

4. PTA实验#

  • 实验一,简单的函数调用,枚举类型不太会使用。
  • 实验二,StringBuilder类的基本使用。
  • 实验三,对于sort的应用
  • 实验四,需要使用二维字符串数组存储乘法口诀表的每一项
  • 实验五,使用BigDecimal类来实现浮点数的精准计算。
  • 实验六,枚举的基本使用
  • 实验七,可以用BigInteger。
  • 实验八,ArrayList的基本使用,相当于数据结构中提到的链表。

201521123014 《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. cache buffer

    //本文基本上是摘要了网络上各位大神对cache.buffer的总结,由于是800年前保存在本地,所以也已经忘了出处了.感谢各位大神. //本文对这2个概念的理解尚浅,如果愿意补充那就再好不过了.  ...

  2. LINUX系统自动化部署shell脚本

    #!/bin/shsudo /etc/init.d/tomcatstopwaitsudo rm -rf /opt/tomcat7/work/*waitsudo rm -rf /opt/tomcat7/ ...

  3. mysql内连接的复杂应用

    查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_noy以及其对应的薪水涨幅growth,并按照growth进行升序CREATE TABLE `employees` (`emp_no` int ...

  4. TCP/IP协议和OSI协议

    作为一个与网络密切相关的Web前端工程师,TCP/IP和OSI模型不可不知,至少要知道一下这些常识性知识,在这我做一下记录 TCP/IP协议簇: TCP/IP是一组协议的代名词,包括许多别的协议,组成 ...

  5. 第6天:DIV+CSS页面布局实战

    今天我从早上9:00写代码一直写到下午18:00,写的我差点抑郁了,还好最后终于写出了一个完整页面,没有做动画效果,就是练习了一下DIV+CSS布局,做的是福务达(www.zzfwd.cn)的主页,真 ...

  6. spring boot 登录注册 demo (三) -- 前后端传递

    前端页面通过thymeleaf渲染 <dependency> <groupId>org.springframework.boot</groupId> <art ...

  7. 【Ubuntu 16】网络配置文件

    之前使用图形化NetworkManager配置静态IP,但在/etc/network/interfaces中找不到静态IP的配置信息,让人不解. 今天在网上看到网友的一则文章,知道了在/etc/Net ...

  8. Tkinter 导入安装包

    Tkinter (capitalized) refers to versions <3.0. tkinter (all lowecase) refers to versions ≥3.0

  9. 扩展Python模块系列(五)----异常和错误处理

    在上一节中,讨论了在用C语言扩展Python模块时,应该如何处理无处不在的引用计数问题.重点关注的是在实现一个C Python的函数时,对于一个PyObject对象,何时调用Py_INCREF和Py_ ...

  10. 记一次JavaWeb网站技术架构总结

    题记 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充. 俗话说的好,冰冻三尺非一日之寒, ...