博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20155224 2016-2017-2 《Java程序设计》第3周学习总结
阅读量:7249 次
发布时间:2019-06-29

本文共 2846 字,大约阅读时间需要 9 分钟。

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

教材学习内容总结

本周学习量比前两周大,代码量也比较多,还出现了挺多术语,都要慢慢查。

第四章

第四章主要学习了java中的对象,有许多有趣的操作。比如书中85页的代码:

public cc.openhome;class Clothes2 {    char size;    String color;    Clothes2(String color, char size){        this.color = color;        this.size = size;    }}public class C4P85 {    public static void main(String[] atgs){        Clothes2 sun = new Clothes2("red",'S');        Clothes2 spring = new Clothes2("green",'M');        System.out.printf("sun (&s,%c)%n",sun.color,sun.size);        System.out.printf("spring (&s,%c)%n",spring.color,spring.size);    }}

在这段代码中,先指定了class类,并规定了Clothes2的输入顺序,因此在程序中输入时可直接输入需要指定的实例的值,不用挨个指定。

我们还学习了BigDecimal的使用,在计算时可以减少误差。

package cc.openhome;import java.math.BigDecimal;public class C4P88 {    public static void main(String[] args){        BigDecimal op1 = new BigDecimal("1.0");        BigDecimal op2 = new BigDecimal("0.8");        BigDecimal result1 = op1.subtract(op2);        System.out.println(result1);        BigDecimal op3 = new BigDecimal("0.1");        BigDecimal op4 = new BigDecimal("0.1");        BigDecimal op5 = new BigDecimal("0.1");        BigDecimal result2 = new BigDecimal("0.3");        if(op3.add(op4).add(op5).equals(result2)){            System.out.println("等于0.3");        }        else{            System.out.println("不等于0.3");        }    }}

数组的复制、数组长度等内容比较好理解。

第五章

第五章进一步深入学习了对象的封装,以及类与方法的应用。

package cc.openhome;class CashCard{    String number;    int balance;    int bonus;    CashCard(String number,int balance,int bonus){        this.number=number;        this.balance=balance;        this.bonus=bonus;    }}public class C5P123 {    public static void main(String [] args){        CashCard[] cards={                new CashCard("A001",500,0),        new CashCard("A002", 300, 0),        new CashCard("A003", 1000, 1),        };        for (CashCard card:cards){            System.out.printf("(%s,%d,%d)%n",card.number,card.balance,card.bonus);        }    }}

上面的代码是先定义了CashCard构造函数,再直接用数组建立了CashCard对象,编写过程简明易懂。

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

  • 问题1:一些代码输入上的运用问题,如86页 “Math.random()x10” 是什么意思,编写class类时 “this” 的用法等。
  • 解答1:

    Math.random() 意为随机生成0~1的数字,在后面乘某数字即把1扩大多少倍。 Math.random()x10 即生成0~10的数;Math.random()x40 即生成0~40的数。

“this” 关键字主要有三个应用:

(1)this调用本类中的属性,也就是类中的成员变量;
(2)this调用本类中的其他方法;
(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。

  • 问题2:数组复制时,新数组的长度对结果的具体影响。
  • 解答2:通过自己小幅更改104页代码试验出了结果:
    1072288-20170313005259170-659961584.png

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

  • 问题1.建立新的java.class的时候,没有对应的package。
  • 解决1:网上关于这个问题的解答较少,可能是我自己安装idea过程中的问题。解决方法是在src目录下先创建package,在package下面再创建java.class。

    1072288-20170313005320154-1037126609.png
    1072288-20170313005433154-1465359059.png

  • 问题2:126页的代码编写出现 'class' or 'interface' expected 错误。

    1072288-20170313005447936-1685821391.png

  • 解决2:网上对这个问题的解释大多是在特殊情况下、较为复杂,与我的实际情况并不相符。我浏览多个网页后无意发现多打一个大括号也可能导致这种错误,检查后果然如此……

在图中错误的地方多打了一个反大括号,导致后面都出错了。

  • 代码提交过程截图:

    1072288-20170313101110370-1264273476.png

  • 代码量截图:

    1072288-20170313101132666-1272719458.png

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 2000行 30篇 200小时
第一周 20/20 1/1 4/4
第二周 73/93 1/2 4/8
第三周 231/324 1/3 6/14

参考资料

转载于:https://www.cnblogs.com/nxy970408/p/6540216.html

你可能感兴趣的文章
排序三 直接插入排序
查看>>
输入输出流体系图
查看>>
玩转报表排名
查看>>
《函数响应式领域建模》读后感
查看>>
一入前端深似海,从此红尘是路人系列第四弹之未来前端路该何去何从
查看>>
java笔记--笔试中极容易出错的表达式的陷阱
查看>>
第140天:前端开发中浏览器兼容性问题总结(一)
查看>>
socket编程的select模型
查看>>
智能医疗的春天在哪里?
查看>>
Kali Linux 无线渗透测试入门指南 第二章 WLAN 和固有的不安全性
查看>>
MyExcel 2.1.2 版本发布,重要 Bug 修复
查看>>
广汽与蔚来达成合作,将共同投资12.8亿元创立新能源汽车公司
查看>>
量子力学,整合了三种自然相互作用力
查看>>
亚马逊新专利,让无人机运送充电器为电动车充电
查看>>
HTC将Viveport推向全球,这是要“反击”Valve的节奏?
查看>>
【深度学习不是犯罪】欧盟祭出最严数据保护法:专家解读 GDPR
查看>>
浅谈SQL Server 对于内存的管理
查看>>
喜报销发布V2.4,圣诞焕新装,新增“专项费用报销”审批,集成京东商城
查看>>
陈天奇团队新研究:自动优化深度学习工作负载
查看>>
你的无人机快递来了?小心被查“水表”
查看>>