教材学习内容总结

  • 别用==直接比较浮点数运算结果。
  • Integer默认值-128到127,若超出,需要修改系统属性,所以最好通过equals()比较。
  • 系统错误提示:若超出数组范围,则显示ArrayIndexOutOfBoundsException错误。
    如果无法剖析传入的String事例,则会抛出NumberFormatException的错误。
  • 设初始值
import java.util.Arrays;
Arrays.fill(数组名,初始值);
  • 比较
String.name1 = “lalala”;
String.name2 = “lalala”;
System.out.println(name1==name2);

结果:true

String.name3 = new String(“lalala”);
String.name4 = new String(“lalala”);
System.out.println(name3.equals(name4));

结果:true

  • 在类中定义方法,如果不用返回值,方法名称前可以声明void。
  • private关键字可使用户无法直接存取私有数据,只能按照定义的流程进行修改。取值方法的名称形式是固定的,也就是以get开头,之后加上首字母大写的单词。

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

  • 问题1:书上P88ClassObject DecimalDemo.java中对subtract的好奇。
  • 问题1解决方案:搜索资料。结果如下:

BigDecimal result = o1.subtract(o2);
这句话的意思是o1-o2 。

BigInteger类是针对大整数的处理类,而BigDecimal类则是针对大小数的处理类。
java.math.BigDecimal类,它支持任何精度的定点数。

Java中float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用java.math.BigDecimal(我觉得这也算是我们会用到的运算)

拓展:

BigDecimal使用事例:

 public class Arith {2     /**3      * 提供精确加法计算的add方法4      * @param value1 被加数5      * @param value2 加数6      * @return 两个参数的和7      */8     public static double add(double value1,double value2){9         BigDecimal b1 = new BigDecimal(Double.valueOf(value1));
10         BigDecimal b2 = new BigDecimal(Double.valueOf(value2));
11         return b1.add(b2).doubleValue();
12     }
BigDecimal类 作用
b1.add(b2).doubleValue(); 加法
被减数.subtract(b减数).doubleValue(); 减法
b1.multiply(b2).doubleValue(); 乘法
除数.divide(被除数, 精确范围).doubleValue(); 除法
BigInterger类常用方法 作用
abs() 返回其值是此BigInteger的绝对值的BigInteger
add(BigInteger val) 返回其值为(this+val)的BigInteger
subtract(BigInteger val) 返回其值为(this-val)的BigInteger
multiply(BigInteger val) 返回其值为(this*val)的BigInteger
divide(BigInteger val) 返回其值为(this/val)的BigInteger
remainder(BigInteger val) 返回其值为(this%val)的BigInteger
compareTo(BigInteger val) 将此BigInteger与指定的BigInteger进行比较。返回值1、0、-1分别表示大于、等于、小于
pow(int exponent) 返回当前大数的exponent次幂
toString() 返回此BigInteger的十进制字符串表示形式
toString(int radix) 返回此BigInteger的给定基数(radix进制)的字符串表示形式

注:abs():返回某数字的绝对值.参数可以是float、double、long或int。如果是byte或short类型,那么它们会被强制转换成int类型。

参考资料:

java.math.BigDecimal类的用法考;使用BigDecimal进行精确运算(实现加减乘除运算);JAVA Math类的数学计算函数

  • 问题2:不明白以下代码的含义
Scanner scanner=new Scanner(System.in);
int s=scanner.nextInt();
  • 问题2解决方案:查百度。结论:此时从键盘输入值为s的值。

拓展:

++当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。++

举例:

import java.util.Scanner;
/*** Created by DELL on 2017/3/12.*/
public class ShuRuTest {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("YES or NO?");while (true) {String line = s.nextLine();if (line.equals("NO")) break;System.out.println(">>>" + line);}}
}

结果:

参考资料:
java 中的Scanner(非常详细不看后悔)

代码调试中的问题和解决过程

  • 问题1:调整idea字体大小
  • 问题1解决方案:Intellij IDEA 设置字体的大小
  • 问题2:纯属日常作死,原有代码成功后,尝试输入别的东西,有些连编译都通不过就不放了。

本来是应该这样的:

然后我输入不同字符

然后对应'b','o','x'输出的是不明白缘由的数字。

  • 问题2解决方案:
    类比C语言,我去查询了相关的ASCII码,果然输出的是对应的ASCII码 。 ASCII编码转换

若想要输出字母的话,改变输出格式为%c,如下图:

拓展:

Java 数组基础
通过这个博客可以更轻松了解数组的使用方法,已然很简洁。

  • 问题3 P105数组复制,手抖抄错,一时没检查出来。

换成书上的名称编辑后依然

出现不对劲的地方,然后在cmd里重输,发现一样,所以排除了是idea错误。

但其实!!!我第二天才发现我输出输反了俩字符……

对于%和d之间的数字引起了好奇,经过实验 我发现,当无数字时仅仅将数字输完,当输入位数少于数字位数,则从左边开始空格占位。

  • 问题3:运行结果出乎意料“NaN"。

  • 问题3 的解决方案:
    是日夏茗悠悠
    详见这个博客的问题三

代码托管

  • 代码提交过程截图:

  • 代码量截图:

(上周的截图是185行,但是这次我把IDEA里上周的代码拷进了一个新建的week2包里,总代码量535-这周488=47,结果算下来上周的只有47行代码了。)

上周考试错题总结

  • ~0b1011的十进制值是(-12)

解决:(计算机存八位)->1011->00001011->(“~”意为“取反)->11110100->存补码且符号位为1->除符号位其余取反再+1->10001100->结果为-12.

  • Linux Bash中,查找当前目录中前天创建的Java文件的命令是(find . –name *.java -ctime 2)

解决:-ctime:创建时间;linux系统中‘find’的详细用法;当前目录为:“.”;昨天用1,前天用2。

  • System.out.printf("%b", 11)的输出结果是0b1011 (X)

解决:

  • 0x10%9 的结果是( 7 )0x10&9 的结果是(0)

解决:“0x”的意思是:数据是十六进制的

其他

1.之前对软件和模板不熟悉,加上自己的不仔细,作业不规范,本次作业特意反复检查。
2.关于考试题,希望以前的卷子能够被发回来纠错,或者做完后自己能用手机拍一下。
3.以后会更加注重对平时时间的规划,合理利用散碎时间学习。
4.前两周被安软件折磨得够呛,这周终于可以做一个安静敲代码的美狗子了……

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 16篇 400小时
第一周 9/9 1/1 19/19 熟练下载安装技能,锻炼解决问题能力
第二周 185/194 1/2 16/35 下载并熟悉IDEA,练习使用码云、git的技能。
第三周 488/535 1/3 18/53 花了更少时间磨合软件,学习更顺利

参考:软件工程软件的估计为什么这么难,软件工程 估计方法

  • 计划学习时间:20小时

  • 实际学习时间:18小时

  • 改进情况:以后会更加注意时间规划,多利用平时的散碎时间学习。

  • 有空多看看现代软件工程 课件 软件工程师能力自我评价表

参考资料

  • Java学习笔记(第8版)

  • 《Java学习笔记(第8版)》学习指导
  • java.math.BigDecimal类的用法考
  • 使用BigDecimal进行精确运算(实现加减乘除运算)
  • JAVA Math类的数学计算函数
  • java 中的Scanner(非常详细不看后悔)
  • Intellij IDEA 设置字体的大小
  • ASCII编码转换
  • Java 数组基础

转载于:https://www.cnblogs.com/GDDFZ/p/6540109.html

20155325 2016-2017-2 《Java程序设计》第3周学习总结相关推荐

  1. 20175317 《Java程序设计》第一周学习总结

    20175317 <Java程序设计>第一周学习总结 教材学习内容总结 本周学习了Java大致的开发步骤,完成了课件自带的习题. 学习了在windows与Linux系统下不同的编译方法,掌 ...

  2. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

    20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...

  3. 20172318 2016-2017-2 《Java程序设计》第一周学习总结

    20172318 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 在教材中基本明白了计算机系统的运行方式,了解了对于高级语言是使用是掌握好编程的关键,掌握了一 ...

  4. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  5. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  6. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结

    20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...

  7. 20155313 2016-2017-2 《Java程序设计》第二周学习总结

    20155313 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 1.1 基本类型 整数:可细分为short整数(占2字节).int整数(占4字节)与long ...

  8. 20155226 2016-2017-2 《Java程序设计》第一周学习总结

    20155226 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一周主要学习了一二章的内容,也浏览了剩余章节,以下是本周主要学习内容总结 1.首先了解了[ ...

  9. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  10. 张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结

    20162329 2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 通过打书上的代码熟悉了Java编程的基本过程 教材学习中的问题和解决过程 1.因为我的虚拟机 ...

最新文章

  1. Thymeleaf抽取公共页面片段
  2. 弃繁就简!一行代码搞定 Python 日志!
  3. yii2 basic版 MVC 部分
  4. 国外流行十大PHP框架
  5. 系统管理员在企业中的职业定位及发展方向 连载(一)
  6. json及JavaBean转json
  7. 【APICloud系列|11】使用APPuploader申请ios开发证书及ios发布证书教程
  8. php谷歌收录接口,php实现查询百度google收录情况(示例代码)
  9. java Spring beans
  10. iOS逆向之自动化重签名
  11. mysql性能优化方案总结
  12. USB(UVC协议)摄像头
  13. IDEA 设置导入/导出
  14. 解决魅族手机不能Toast提示的方法
  15. 中航信e-build php,学习PHP精粹,编写高效PHP代码之质量保证
  16. dh算法 理论依据_dh算法(dh算法原理)
  17. Android中使用LitePal操控SQLite数据库
  18. 动态拨号主机多IP随机分配拨号自动分配
  19. 抖音电商直播基地项目运营规划商业品牌计划书方案模板
  20. 林轩田机器学习技法(Machine Learning Techniques)笔记(一)

热门文章

  1. 风电功率预测matlab,一种基于二十四节气的风电功率预测方法与流程
  2. js实现promise.all promise.race promise.resolve
  3. 网络营销外包——网络营销外包专员如何做好网站锚文本优化?
  4. 网站优化充满机遇和挑战
  5. 制作网站设计项目进度表让用户充分了解网站制作进程
  6. 二叉树代码 java面试题_《剑指offer》面试题39 二叉树的深度(java)
  7. Mysql游标循环遍历_MySQL数据库中,使用游标循环遍历
  8. 获取某一周_“双十一”前,这群人备好了3600瓶假冒某品牌护肤品,结果……...
  9. spark rdd saveAsTextFile保存为文件
  10. 穿过代理服务器取远程用户真实IP地址