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. SecureCRT-转换密钥-Xshell-配置服务-使用xshell登录远程linux服务器

    这篇文档不保证正确,仅仅是备份个因为所以,不必当真. SecureCRT和xShell这2个工具功能类似,均可以控制远程服务器模拟并发用户. SecureCRT自带功能可以将私钥转换为xShell可用 ...

  2. sqlte3 的基本使用4

    sqlite 的order by 语句是用来对数据进行升序降序排序的,asc 是升序,des 是降序 sqlite> select * from student; id name age --- ...

  3. Apriori关联分析算法概述

    概念 关联分析:从大规模数据集中寻找物品间的隐含关系.物品间关系又分为两种:频繁项集或关联规则,频繁项集是经常出现一块的物品集合:关联规则则暗示物品间存在很强的联系 关联评判标准:支持度和可信度.支持 ...

  4. JavaScript入门之数组:Array类型详解

    数组应该是每个语言中都用得极度频繁的数据类型,JavaScript也不例外. 个人认为,Js中的Array类型非常强大. 首先没有C/C++等语言需要在数组初始化时指定数组长度(并不可变)的要求. 也 ...

  5. python---------函数练习题

    2.写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作 # 方法一 # import os # def fun(): #y为要修改的内容,z为修改的结果 # y=in ...

  6. CSSc常用样式

          一.CSS常用文本属性 1.css中的颜色表示方式   1.1直接使用颜色的单词表示:red.green.blue     1.2使用颜色的十六进制表示:#ff0000,#00ff00: ...

  7. phpStudy下安装memcache扩展

    简要:参考<phpStydy配置memcache扩展>,期间安装不到memcache;为此向大家分享我遇到的问题和解决办法,希望能够跟各位PHP大神学习探索,如果有不对或者好的建议告知下: ...

  8. python selenium报错整理

    element not visible 没有加等待时间 元素没有被选定,很多时候是因为没有最大化窗口,网页窗口只显示一部分,所以找不到元素! <exception str() failed> ...

  9. windows10企业版怎么关闭自动更新

    windows10企业版怎么关闭自动更新..  我之所以选择关闭自动的更新的原因: 1.Windows版本是激活版的不是注册版的<其实我想说的是我用的是盗版的> 2.对于为什么禁止[系统更 ...

  10. Java中的继承性特性

    继承性是java中的第二特性之一.而继承性最为关键的地方为:代码重用性的问题,利用继承性可以从已有的类中继续派生出新的子类,也可以利用子类扩展出更多的操作功能. 继承性的实现代码为:class 子类 ...