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. 【有意思的BUG】分享按钮 分享功能

    [分享按钮]是一个常见的功能,你可以把看到的有意思的东西分享到自己的BLOG.朋友圈之类的地方. 但是,分享出去的文本(也可以包含图片)在每个目标网站上面的格式并不是统一的,所以就存在了美感的三六九等 ...

  2. POJ 2411 Mondriaan's Dream:网格密铺类 状压dp

    题目链接:http://poj.org/problem?id=2411 题意: 给你一个n*m的网格 (1<=n,m<=11) ,往里面铺1*2或2*1的砖块,问你铺完这个网格有多少种不同 ...

  3. C#基础课堂笔记

    第三章:运算符和表达式 1.认识运算符:运算符又叫操作符,是一个运用于运算的符号,它作用于一个或多个操作数 运算符的分类:      (1)按操作数量  一元(目)运算符    作用于一个操作数  二 ...

  4. 012.Adding a New Field --【添加一个新字段】

    Adding a New Field 添加一个新字段 2016-10-14 3 分钟阅读时长 作者 By Rick Anderson In this section you'll use Entity ...

  5. shell的编程结构体

    本文目录: 1.1 shell函数 1.2 条件结构:if 1.3 条件结构:case 1.4 条件结构:select 1.5 循环结构:for 1.6 循环结构:while 1.7 循环结构:unt ...

  6. Linux中的内核链表

    链表中一般都要进行初始化.插入.删除.显示.释放链表,寻找节点这几个操作,下面我对这几个操作进行简单的介绍,因为我的能力不足,可能有些东西理解的不够深入,造成一定的错误,请各位博友指出. A.Linu ...

  7. Struts2学习笔记(七)——类型转换

    1.自动类型转换 Struts2内部提供大量类型转换器,用来完成数据类型转换问题: String和boolean.Boolean:完成字符串与布尔值之间的转换 String和char.Characte ...

  8. 将Windows系统默认的Administrator帐号改名为我们自定义的名称

    将Windows系统默认的Administrator帐号改名为我们自定义的名称.. ---------如何将Administrator帐号改名为我们自定义的名称:Win+R--->>输入g ...

  9. vue-cli脚手架npm相关文件解读(1)webpack.base.conf.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  10. Andrew Ng机器学习课程笔记--week2(多元线性回归&正规公式)

    1. 内容概要 Multivariate Linear Regression(多元线性回归) 多元特征 多元变量的梯度下降 特征缩放 Computing Parameters Analytically ...