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

教材知识要点总结

第四章

  1. 文档主文档名必须与公开类名称相同。一个原始码中可以定义多个类,但是只能有一个公开类。但编译以后产生的*.class的文件个数和类的个数是相同的。
  2. 使用java.util.Scanner时,可以使用next***()扫描下一个字符串。同时也可以使用next()直接获取下一个字符串。
  3. java语言中Java SE提供的标准类使一些在c语言中不方便的情况有了更快的解决。直接通过一个类来避免再编写一个或重复编写多个含义相同的函数。
  4. ‘=’是用子啊制定参考名称参考某个对象,‘==’使用在比较两个参考名称是否参考同一个对象,实际上就是并不对对象本身进行比较,当然这个特点的前提是必须要有对象,而不是简单的定义赋值。同时,以“”包括的字符串只要内容相同,就只建立一个实例。使用equals()可以比较两对象内涵值。
  5. 打包的目的是为了实现将基本变量转化为对象,使用面向对象的操作方法,方便操作。但输出是以变量原本的形式输出,可以在运算时进行自动拆箱。
  6. 用new关键词来新建对象时,应注意到的是,新建的只是标签并未绑定任何对象之前不算建立了对象。
  7. 字符串在java中是对象。若已存在字符型数组,则可以用new关键字将其创建为String实例。
scanner的基本方法 表示含义
read() 以int类型返回读入的字符
nextInt() 将标准输入中的下一个字符串剖析为int型
next() 直接取得上一个字符串
nextLine() 取得用户输入的整行文字
BigDecimal的基本方法 表示含义
plus()
substract()
multiply()
divide()
equals() 比较两个对象是否相等
Integer的基本方法 表示含义
compareTo() 小于传入对象返回-1,否则返回1
intValue() 把Integer类型转化为Int类型
valueOf() 将参数给的值转化成方法前标识的类型
数组的基本方法 表示含义
a[].length 表示数组a的长度
Arrays.copyOf() 复制传入数组

第五章

  1. 使用自定义封装类编译程序时:
javac -sourcepath <源文件地址> -cp <类的地址> -d <位码文档存放地址> 文件名

2.封装对象后,用户端将无法访问private声明下的对象,使用前一定要将类的声明改为public.

部分课后题:

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

  • 问题1:教材P89的代码阐明了‘=’与‘==’的区别,但是应该如何区别对象和普通变量,或者说二者在定义中有什么样的区别?
  • 解决方案:我们定义类的对象的时候,对象就会有那些属性和方法,哪些都是对人的抽象,通过对象我们可以访问属性和方法,但是我们无法看到对象的内部细节即封装性。而在定义普通变量时就不会有这么多的方法和属性
  • 问题2:在java语言中定义一维数组在既不知道数组长度且对数组中具体有哪些元素也未知的情况下如何定义。例如 ,教材课后题中的斐波那契数列,需要用户输入长度再输出。
  • 未解决
  • 问题3:教材137页this()所代表的另一个构造函数为什么只能出现在构造函数的第一行?

-this()指的是 构造器, 构造器是没有返回值的

this 是指对当前对向的引用,是一个引用变量 注意区别

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

  • 问题1:

错误:



改正:



  • 问题2:(重复定义,Java语言中可以在使用时定义变量)

错误:



改正:

  • 问题三:(已经在Some.java中声明过了为什么还会出现这样的错误提示)





    未解决

  • 问题四:第五章课后操作题:迷宫

程序可以编译,可以运行,但是没有输出;

未解决

代码托管

  • 代码提交过程截图:(由于我最后一次上传时反复上传不成功,为了防止覆盖,我就将几天的代码重新都放在一个文件夹里,删除了git文件夹,再用-f参数强推了代码,所以只有一次上传记录,但是每个文件夹我都标记了时间。)



  • 代码量截图:

上周考试错题总结

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

原因:忘记了具体的命令细节

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

原因:看错了题,x看成了*也是因为基础知识不扎实的原因

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

原因:不认真看书,按过去的理解做题。

其他(感悟、思考等,可选)

java语言在各方面的应用都更为灵活,定义变量可以在用的地方直接定义;对于对象的方法省去了许多重复步骤。

第五章的学习很多都用到了之前的打包管理的知识:当自定义一个类的时候,必须打包才能在下一个程序的编译中使用。同时让我明白了扎实的基础知识对于后面的学习真的至关重要。

在敲代码的过程中确实感觉到了使用命令提示符和记事本编译程序的不便之处,所以在下周的编程中一定要尽快学会在IDEA中的编程。

因为一直以来只使用C语言编程,所以总是会将思路先转化成C语言的描述方法。对Java语言的特点还有待进一步的熟悉和把握。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 2500行 30篇 400小时
第一周 80/100 1/1 20/20
第二周 180/250 2/2 30/38 可以用Java语言独立的编写一些具有基本结构的程序
第三周 504/500 3/3 22/60
第四周
  • 计划学习时间:38小时

  • 实际学习时间:30小时

参考资料

20155203 2016-2017-3 《Java程序设计》第三周学习总结的更多相关文章

  1. Java程序设计第三周学习总结

    1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...

  2. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

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

    20155207 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立 ...

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

    20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...

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

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  6. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  9. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

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

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. Java 多态(接口)

    有两种意义的多态,一是操作名称的多态,即有多个操作具有相同的名字,但这些操作所接收的消息类型必须不同(方法重载).另一种多态是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为(方 ...

  2. window用ssh连接本机虚拟机中的ubuntu

    @window用ssh连接本机虚拟机中的ubuntu 主机和虚拟机间通信,需将2台机器的IP地址设为同一网段. 1.设置虚拟机: 虚拟机–> 设置–> Hardware –> Net ...

  3. bzoj4403:序列统计

    我好傻啊 题目 先来看看长度只能为\(n\)的情况 那么答案非常显然是\(\binom{m+n-1}{n}\) 其中\(m=R-L+1\) 因为我们要构造一个非降序列,显然可能一个数会被选择多次,组合 ...

  4. weblogic远程调试XMLDecoder RCE CVE-2017-10271

    首先说一下远程调试的配置,首先在weblogic的启动文件加入如下配置,开启服务器远程调试端口就是9999: 第二步,建立一个java的空项目. 第三步将weblogic的所有jar包拷出来,放到一个 ...

  5. programming-languages学习笔记--第5部分

    programming-languages学习笔记–第5部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} program ...

  6. Win7电脑无法安全删除硬件并弹出媒体的解决方法

    有很多用户经常会在win7系统中使用移动硬盘或U盘来拷贝数据,而当使用完了之后,一般为了数据能够更安全,都会右击选择安全删除硬件进行退出,可是有win7系统用户却发现要弹出设备的还好无法安全删除硬件并 ...

  7. angularjs ng-if ng-show ng-hide区别

    在使用anularjs开发前端页面时,常常使用ng-show.ng-hide.ng-if功能来控制页面元素的显示或隐藏,那他们之间有什么不同呢? 实现原理方面:ng-show/ng-hide是通过修改 ...

  8. yum 安装 php5.6

    yum 安装 php5.6 安装 PHP rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/i386/epel-release-6-8.noa ...

  9. Python 基于request库的get,post,delete,封装

    # coding=utf-8 import json import requests class TestApi(object): """ /* @param: @ses ...

  10. Boost asio基本概念

    asio库基于操作系统提供的异步机制,采用前摄器模式(Proactor)实现可移植的异步(或同步)IO操作,不需要使用多线程和锁,有效避免多线程编程带来的诸多有害副作用(如竞争,死锁). asio封装 ...