20145316许心远《Java程序设计》第3周学习总结

教材学习内容总结

一、定义类:

  • 类定义时使用class关键字
  • 如果要将x绑定到新建的对象上,可以使用“=”制定,称为x名称参考至新建对象。
  • 一个原始码中可以有多个类定义,但只能有一个是公开类,且文档中的主文档名必须与公开类名称相同。

二、使用标准类:

  • java.util.Scanner

    为了免去每次输入时都要写java.util.Scanner,可以一开始就是用import,在建立Scanner实例时必须传入java.io.InputStream的实例。
  • java.math.BigDeciaml

    有的时候浮点数与浮点数相加并使用==比较运算结果时会出错。

    原因:java遵守IEEE754浮点数运算规范,使用分数与指数来表示浮点数,有的小数要用分数表示就无限循环下去,没法精确表达造成误差。

    解决方案:创建BigDecimal,他会剖析传入字符串,以默认精度进行接下来的运算。提供plus()、substract()、multiply()、divide()等进行加减乘除的运算。

三、对象制定与相等性

  • = 是用在参考名称参考某个对象,而==是用在比较两个参考名称是都参考同一对象。

四、基本类型打包器

  • 要使基本类型如同对象一样操作,可以使用Long、Integer、Double、Float、Boolean、Byte等类型打包。

五、数组对象:

  • 在java中数组是对象,数组的长度属性可回去的数组长度,可以用for循环一次取出数组中的每个值

  • 二维数组要在类型关键字旁加上 [] [] 确定行列。

六、数组复制:

  • 建立长度为x1相同的新数组,再逐一访问其中的每一个索引元素,并指定给x2对应的索引位置。
  • 简单方法System,arraycopy():使用原生方式复制每个索引元素;以及Arrays.CopyOf()注:这两个方法都是浅层复制,如果要连同对象一起复制,需要自行操作。

七、字符串对象:

  • length()长度

  • charAt()字符

  • toUpperCase()将原本小写的字符串转为大写的内容

  • 可以用+来连接字符串

    字符串对象一旦建立,就无法更改对象中的任何内容,使用+会产生新的String实例。

  • 使用javac指令没有指定-encoding选项是,会使用操作系统默认编码。

八、对象封装:

  • 封装的目的是指隐藏对象的属性和实现细节,命名规范中以get开头,之后接上首字母大写的单词。
  • 只有在公开类程序中(public)才能够在类程序代码中存取类或对象成员。
  • private关键字:是一个权限修饰符; 用于修饰成员(成员变量和成员函数);被私有化的成员只在本类中有效。
  • this关键:在构造函数参数与对象数据成员同名时加以区分时用的。
  • static关键字:用于修饰成员(成员变量和成员函数),静态方法只能访问静态成员;静态方法中不可以写this,super关键字;主函数是静态的。

教材学习中的问题和解决过程

1.Field.java p84

  1. {
  2. String color;
  3. char size;
  4. }
  5. public class Field
  6. {
  7. public static void main(String[] args)
  8. {
  9. Clothes sun = new Clothes();
  10. Clothes spring = new Clothes();
  11. sun.color = "red";
  12. sun.size = 'S';
  13. spring.color = "green";
  14. spring.size = 'M';
  15. System.out.printf("sun(%s,%c)%n",sun.color,sun.size);
  16. System.out.printf("spring(%s,%c)%n",spring.color,spring.size);
  17. }
  18. }```
  19. ###2.Field2.java p85
  20. ```class Clothes2
  21. {
  22. String color;
  23. char size;
  24. Clothes2(String color, char size)
  25. {
  26. this.color=color;
  27. this.size=size;
  28. }
  29. }
  30. public class Field2
  31. {
  32. public static void main(String[] args)
  33. {
  34. Clothes2 sun = new Clothes2("red",'S');
  35. Clothes2 spring = new Clothes2("green",'M');
  36. System.out.printf("sun(%s,%c)%n",sun.color,sun.size);
  37. System.out.printf("spring(%s,%c)%n",spring.color,spring.size);
  38. }
  39. } ```
  40. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040024479-1673896877.png)
  41. ###3.Guess.java p86
  42. ```import java.util.Scanner;
  43. public class Guess
  44. {
  45. public static void main(String[] args)
  46. {
  47. Scanner scanner = new Scanner (System.in);
  48. int number = (int) (Math.random() * 10);
  49. int guess;
  50. do
  51. {
  52. System.out.printf("GUESS A NUMBER:");
  53. guess = scanner.nextInt();
  54. }
  55. while(guess != number);
  56. System.out.println("YOU ARE RIGHT!");
  57. }
  58. } ```
  59. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040053698-221705490.png)
  60. ###4.DecimalDemo.java p88
  61. ```import java.math.BigDecimal;
  62. public class DecimalDemo
  63. {
  64. public static void main(String[] args)
  65. {
  66. BigDecimal operand1 = new BigDecimal ("1.0");
  67. BigDecimal operand2 = new BigDecimal ("0.8");
  68. BigDecimal result = operand1.subtract(operand2);
  69. System.out.println(result);
  70. }
  71. } ```
  72. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040108495-655696516.png)
  73. ###5.IntegerDemo.java p91
  74. ```public class IntegerDemo
  75. {
  76. public static void main(String[] args)
  77. {
  78. int data1 = 10;
  79. int data2 = 20;
  80. Integer wrapper1 = new Integer(data1); //打包基本类型
  81. Integer wrapper2 = new Integer(data2);
  82. System.out.println(data1/3); //基本类型运算
  83. System.out.println(wrapper1.doubleValue()/3); //操作打包器方法
  84. System.out.println(wrapper1.compareTo(w2));
  85. }
  86. } ```
  87. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040128620-461525004.png)
  88. ###6.Score.java p96
  89. ```public class Socre {
  90. public static void main(String[] args) {
  91. int [] scores = {88,81,74,68,78,76,77,85,95,93};
  92. for (int i = 0;i<scores.length;i++){
  93. System.out.printf("学生分数:%d %n",scores[i]);
  94. }
  95. }
  96. }```
  97. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040150573-999343586.png)
  98. ###7.XY.java p97
  99. ```public class XY
  100. {
  101. public static void main(String[] args)
  102. {
  103. int[][] cords={
  104. {1,2,3},
  105. {4,5,6}
  106. };
  107. for(int[] row : cords)
  108. {
  109. for(int value : row)
  110. {
  111. System.out.printf("%2d",value);
  112. }
  113. System.out.println();
  114. }
  115. }
  116. } ```
  117. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040208729-1225888679.png)
  118. ###8.Score2.java p98
  119. ```import java.util.Arrays;
  120. public class Score2
  121. {
  122. public static void main(String[] args)
  123. {
  124. int[] scores = new int[10];
  125. for(int score : scores)
  126. {
  127. System.out.printf("%2d",score);
  128. }
  129. System.out.println();
  130. Arrays.fill(scores,60);
  131. for(int score : scores)
  132. {
  133. System.out.printf("%3d",score);
  134. }
  135. }
  136. } ```
  137. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040232214-1277551495.png)
  138. ###9.Copy.java p104
  139. ```import java.util.Arrays;
  140. public class Copy
  141. {
  142. public static void main(String[] args)
  143. {
  144. int[] scores1 = {88,81,74,68,78,76,77,85,95,93};
  145. int[] scores2 = Arrays.copyOf(scores1,scores1.length);
  146. for(int score : scores2)
  147. {
  148. System.out.printf("%3d",score);
  149. }
  150. System.out.println();
  151. scores2[0] = 99;
  152. for(int score : scores1)
  153. {
  154. System.out.printf("%3d",score);
  155. }
  156. }
  157. }```
  158. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040247854-2021034069.png)
  159. ###10.DeepCopy.java p106
  160. ```class Clothes2
  161. {
  162. String color;
  163. char size;
  164. Clothes2(String color, char size)
  165. {
  166. this.color=color;
  167. this.size=size;
  168. }
  169. }
  170. public class DeepCopy
  171. {
  172. public static void main(String[] args)
  173. {
  174. Clothes2[] c1 = {new Clothes2("red",'S'),new Clothes2("green",'M')};
  175. Clothes2[] c2 = new Clothes2[c1.length];
  176. for(int i = 0; i < c1.length; i++)
  177. {
  178. Clothes2 c = new Clothes2(c1[i].color, c1[i].size);
  179. c2[i] = c;
  180. }
  181. c1[0].color = "yellow";
  182. System.out.println(c2[0].color);```
  183. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040314386-2111937327.png)
  184. ##11.Sum.java p108
  185. ```import java.util.Scanner;
  186. public class Sum
  187. {
  188. public static void main(String[] args)
  189. {
  190. Scanner scanner = new Scanner(System.in);
  191. long sum = 0;
  192. long number = 0;
  193. do
  194. {
  195. System.out.print("输入数字:");
  196. number = Long.parseLong(scanner.nextLine());
  197. sum += number;
  198. }
  199. while(number != 0);
  200. System.out.println("总和为:"+sum);
  201. }
  202. }```
  203. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040336464-1565626997.png)
  204. ###12.OneTo100.java p112
  205. ```public class OneTo100
  206. {
  207. public static void main(String[] args)
  208. {
  209. StringBuilder builder = new StringBuilder();
  210. for(int i = 1; i < 100; i++)
  211. {
  212. builder.append(i).append('+');
  213. }
  214. System.out.println(builder.append(100).toString());
  215. }
  216. }```
  217. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040359620-1372163418.png)
  218. ###13.OverloadBoxing.java p135
  219. ```class Some
  220. {
  221. void someMethod(int i)
  222. {
  223. System.out.println("int 版本被调用");
  224. }
  225. void someMethod(Integer integer)
  226. {
  227. System.out.println("Integer 版本被调用");
  228. }
  229. }
  230. public class Overload
  231. {
  232. public static void main(String[] args)
  233. {
  234. Some s = new Some();
  235. s.someMethod(1);
  236. }
  237. }```
  238. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040440026-1011537304.png)
  239. ###14.ObjectlnitialBlock.java p137
  240. ```class Other{
  241. {
  242. System.out.println("对象初始区块");
  243. }
  244. Other()
  245. {
  246. System.out.println("Other() 构造函数");
  247. }
  248. Other(int o )
  249. {
  250. this();
  251. System.out.println("Other(int o ) 构造函数");
  252. }
  253. }
  254. public class ObjectInitialBlock
  255. {
  256. public static void main(String[] args)
  257. {
  258. new Other(1);
  259. }
  260. }```
  261. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040506948-433945686.png)
  262. ###15.ImportStatic.java p144
  263. ```import java.util.Scanner;
  264. import static java.lang.System.in;
  265. import static java.lang.System.out;
  266. public class ImportStatic
  267. {
  268. public static void main(String[] args)
  269. {
  270. Scanner scanner = new Scanner(in);
  271. out.print("请输入姓名:");
  272. out.printf("%s 你好!%n",scanner.nextLine());
  273. }
  274. }```
  275. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040550745-1611864911.png)
  276. ## 代码调试中的问题和解决过程
  277. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040611464-899780881.png)
  278. 因为粗心将{}和()弄混
  279. 导致程序一直出错。
  280. ## 其他(感悟、思考等,可选)
  281. - 克服拖延症,周日晚上太痛苦,知识掌握也不扎实
  282. - 学习了一波Markdownpad2的使用方法,可是代码块的渲染还是出了问题 难道不是收尾```
  283. - 代码托管仍然存在问题,就差最后一步了!第一次托管命令时手抖把用户名写错了,在git上用百度出来的方法amend重新改用户名,建立联系后仍然是“hello 老用户名”(奇怪的是用git log命令查已经变成了新用户名,这难道不是证明更改成功?),最后一步敲的域名是新用户名,可是显示说找不到。打算这两天再自己捣鼓下,实在不行就去请教同学和老师~目前git@osc上的代码是手动码的。
  284. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040742761-2009048317.png)
  285. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160325235132058-1462532193.png)
  286. ![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160325235411245-217879102.png)
  287. 代码上传成功了!
  288. ## 学习进度条
  289. | | 代码行数(新增/累积)| 博客量(新增/累积)|学习时间(新增/累积)|重要成长|
  290. | -------- | :----------------:|:----------------:|:---------------: |:-----:|
  291. | 目标 | 5000 | 30 | 400小时 | | |
  292. | 第三周 | 500/1000 | 3/7 | 22/60 | |
  293. ## 参考资料
  294. - [Java学习笔记(第8版)](http://book.douban.com/subject/26371167/)
  295. - [《Java学习笔记(第8版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
  296. - ...![](http://images2015.cnblogs.com/blog/886492/201603/886492-20160321040748042-152360873.png)

20145316许心远《Java学习笔记》第三周总结的更多相关文章

  1. 20145316许心远《Java学习笔记(第8版)》课程总结

    20145316许心远<Java学习笔记(第8版)>课程总结 每周读书笔记链接汇总 ▪ 第一周读书笔记 ▪ 第二周读书笔记 ▪ 第三周读书笔记 ▪ 第四周读书笔记 ▪ 第五周读书笔记 ▪ ...

  2. 20145316许心远《Java程序设计》第4周学习总结

    20145316许心远<Java程序设计>第4周学习总结 教材学习内容总结 6.继承与多态 1.继承共同行为 * 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需 ...

  3. 20145316许心远《网络对抗》EXP7网络欺诈技术防范

    20145316许心远<网络对抗>EXP7网络欺诈技术防范 实验后回答问题 通常在什么场景下容易受到DNS spoof攻击 公共共享网络里,同一网段可以ping通的网络非常容易被攻击 在日 ...

  4. 20145316许心远《网络对抗》Exp6信息搜集与漏洞扫描

    20145316许心远<网络对抗>Exp6信息搜集与漏洞扫描 实验后回答问题 哪些组织负责DNS.IP的管理? 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.D ...

  5. 20145316许心远《网络对抗》MSF基础应用

    20145316许心远<网络对抗>MSF基础应用 实验后回答问题 用自己的话解释什么是exploit,payload,encode. exploit:顾名思义就是攻击嘛,因为是个动词,所以 ...

  6. 20145316许心远《Java程序设计》第5周学习总结

    20145316 <Java程序设计>第5周学习总结 教材学习内容总结 异常处理 & Collection与Map 异常继承架构 错误的对象继承java.lang.Throwabl ...

  7. 20145230《java学习笔记》第九周学习总结

    20145230 <Java程序设计>第9周学习总结 教材学习内容 JDBC JDBC简介 JDBC是用于执行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行操作, ...

  8. 2019暑假Java学习笔记(三)

    目录 面向对象 对象 构造方法 引用与对象实例 static final 封装 this 继承 super 方法重载与重写 多态 抽象类 接口 内部类 成员内部类 静态内部类 局部内部类 匿名内部类 ...

  9. 20145316许心远《网络对抗》EXP8 Web基础

    实验后回答问题 什么是表单 来自百度百科的官方定义:表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. ...

随机推荐

  1. MySQL------代码1024,can't get hostname for your address解决方法

    1.hosts文件问题 进入C:\Windows\System32\drivers\etc\hosts 查看里面是否包含: # 127.0.0.1 localhost 没有则添加,再重启MySQL服务 ...

  2. 在Eclipse中显示.project和.classpath和.setting目录

    在Eclipse中显示.project, .classpath, .gitignore文件和.setting文件夹 在Eclipse中使用git,并显示.gitigonre文件,进行项目管理 在Ecl ...

  3. erase操作

    #include<iostream> #include <vector> int main() { std::vector<int> vec; vec.push_b ...

  4. TClientDataSet数据源设置

    TClientDataSet数据源设置   TClientDataSet数据源设置

  5. Django学习笔记第十二篇--关于自定义数据库字段数据类型

    一.需求背景: django的models模块提供了很多数据字段的数据类型field,但是总有写奇葩需求不能依靠默认字段满足,所以需要自定义数据数据库数据字段类型.所有的自定义field应该在app路 ...

  6. [NOIP2017]宝藏 状压DP

    [NOIP2017]宝藏 题目描述 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋, 也给出了这 n 个宝藏屋之间可供开发的 m 条道路和它们的长度. 小明决心亲自前往挖 ...

  7. js根据数组对象中某个元素合并数组

    一个数组,根据数组中某个元素,合并数组 // 需要被合并的数组,把Index相同的数组合并 const arr = [{id:0,name:'张三'}, {id:0,name:'李四'}, {id:1 ...

  8. js 高程 22.1.4 函数绑定 bind() 封装分析

    js 高程 书中原话(斜体表示): 22.1.4 函数绑定 另一个日益流行的高级技巧叫做函数绑定.函数绑定要创建一个函数,可以在特定的this 环境中 以指定参数调用另一个函数.该技巧常常和回调函数与 ...

  9. Ubuntu 只能用guest登录的问题修复

    方式1(推荐): 1.先进入guest登入 2.通过Ctrl+Alt+F1进入命令行窗口(注释:Ctrl+Alt+F1~F6进入终端命令行,Ctrl+Alt+F7是退出终端) 3.登录root,然后进 ...

  10. UIScrollView 去掉下面的滚动条

        [_scrollView setShowsHorizontalScrollIndicator:NO];