20145104张家明 《Java程序设计》第3周学习总结
20145104张家明 《Java程序设计》第4周学习总结
教材学习内容总结
第四章 认识对象
4.1 类与对象
4.1.1 定义类
类定义时使用class关键词,建立实例要用new关键词,在对象术语中,这叫作新建一个对象:
new clothes();
参考变量或声明参考名称或参考:
Clothes c1;
给新建对象一个标签:
Clothes c1 = new Clothes();
package four;
class Clothes{
String color;
char size;
}
public class ClassObject {
public static void main(String[] args){
Clothes sun=new Clothes();
Clothes spring=new Clothes();
sun.color="red";
sun.size='S';
spring.color="green";
spring.size='M';
System.out.printf("sun(%s,%c)%n", sun.color,sun.size);
System.out.printf("spring(%s,%c)%n", spring.color,spring.size);
}
}
4.1.2使用标准类
java.util.Scanner会帮你扫描标准输入。
java.math.BigDecimal会以默认精度进行计算,防止浮点数运算错误的情况。
4.1.3对象指定与相等性
'='用于绑定对象,'=='用于比较二者参考对象是否相同,'a.equals(b)'表示二者所绑对象的内含值是否相同。
4.2 基本类型打包器
4.2.1打包基本类型
Long、Integer、double、float、boolean等类是所谓打包器,主要目的是提供对象实例作为“壳”,价格基本类型打包在对象中,可以将基本类型答案做对象操作。
4.2.2自动装箱、拆箱
自动装箱拆箱可以使程序更简洁,如'Integer data1=10'、'int i=10;Integer wrapper=i;''Number number=3.14f'。在运算时编译程序会自动拆箱。
4.2.3自动装箱拆箱的内幕
如果数值超出类的范围,就会建立新的实例,用'=='做比较易出错,若想比较数值应用equals()。
4.3 数组对象
4.3.1数组基础
java中的数组和C语言有一些不同之处。一般声明数组是在类型关键词后如'int[] score',定义的时候不必规定数组长度,指出单个数值时需要在'[]'里标明序号,若想知道数组长度则需要用length属性,若是二维数组则需要用'cords.length'得知列数,再由'cords[x].length'得知行数。
4.3.2操作数组对象
使用'new'建立数组后每个索引元素会有初始值,可以用'java.util.Arrays'的'fill()'方法更改默认值。
4.3.3数组复制
'int[] scores2=scores1'并不是数组复制,只是把'scores1'的参考对象也给'scores2'做参考对象。所以要复制数组需要用到for循环新建数组,或者直接使用'System.arraycopy()'方法/'Arrays.copyOf()'方法。
4.4 字符串对象
4.4.1字符串基础
字符串在Java中是对象,可以用'+'连接字符串。
4.4.2字符串特性
在Java中为了效率,相同的字符串无论出现多少次都只建立一个实例,但是用'new'一定是建立新对象。
第五章 对象封装
5.1何谓封装
封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。用户使用程序却不知道细节,要调用数据必须通过提供的方法。
package cc.openhome;
public class CardApp{
public static void main(String[] arge){
CashCard[] cards = {
new CashCard("A001",500,0),
new CashCard("A002",300,0),
new CashCard("A003",1000,1),
new CashCard("A004",2000,2),
new CashCard("A005",3000,3)
};
for(CashCard card : cards) {
System.out.printf("(%s,%d,%d)%n",card.number,card.balance,card.bouns);
}
}
}
5.2类语法细节
如果想在其他包的类程序代码中存取某包的类或对象成员,则必须是公开成员,要用public加以声明。'this()'代表了调用另一个构造函数,调用哪个函数视自变量类型与数量而定。声明'static',表示属于类,不会被个别对象拥有。在'static'区块中不能出现'this',在其方法中不能使用非static数据或方法成员。
this关键字
this代表其所在函数所属对象的引用,简而言之就是this代本类对象的引用,当在函数内需要用到调用该函数的对象时,我们就可以使用this。 this()代表了调用另一个构造函数,至于调用哪个构造函数,则视调用this()时给的自变量类型与个数而定。注意:this()调用只能出现在构造函数的第一行
static关键字
static用于修饰成员(成员变量和成员函数),被声明为static的成员,不会让个别对象拥有,而是属于类。 在static方法中不能出现this关键字,static方法中不能用非static数据或方法成员。 import static语法是为了偷懒,但要注意名称冲突的问题。被声明为static的成员,是将类名称作为名称空间。
代码托管

教材学习中的问题和解决过程
在本周的学习中,我发现第四章比较基础,主要是定义类的问题,打包封装的问题,这些代码放到idea中都可以直接运行,也比较好理解。而第五章就比较困难,在第五章中有一些代码不是直接进行编译就能运行的,这里与第四章的不同。教材所讲的内容也比较晦涩难懂,经过仔细的分析和观看了一点视频后,才对第五章有了更进一步的了解,希望在在下一周再复习一下第五章的知识。
代码调试中的问题和解决过程
在代码的调试中,我对于书中的使用标准类的概念不是很理解,有一些程序也都是半懂不懂的进行编译,在经过了几个程序的编译后,我才发现java.util.Scanner就相当于c语言中的输入语句,而java.math.BigDecimal的作用就是是计算出的数据更加精确,,在java的学习中,与c语言进行比较学习会使java的学习变得轻松很多。
其他(感悟、思考等,可选)
在本周的学习中,我发现在书本上的学习还是不够的,有些知识还需要从别的地方进行补充(视频),有些代码还是要好好想想才能明白。而且java与c语言还有很多的相似之处,相对借鉴学习会使java语言更好地学习。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 |
|---|
| 第二周 | 200/300 | 1/4 | 18/38 | |
| 第三周 | 300/600 | 2/6 | 22/60 | |
参考资料
20145104张家明 《Java程序设计》第3周学习总结的更多相关文章
- 20145302张薇 《Java程序设计》第二周学习总结
20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...
- 20145302张薇《Java程序设计》第九周学习总结
20145302 <Java程序设计>第九周学习总结 教材学习内容总结 第十六周 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC目的:让Jav ...
- 20145104张家明 《Java程序设计》第10周学习总结
20145104张家明 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是两个或多个设备(程序)之间的数据交换. 识别网络上的每个设备:①IP地址②域名(Dom ...
- 20145104张家明 《Java程序设计》第四次实验设计
20145104张家明 <Java程序设计>第四次实验设计 这第四次实验报告 我们开始着手安卓了 在电脑上安装了安卓虚拟机
- 20145104张家明 《Java程序设计》第9周学习总结
20145104张家明 <Java程序设计>第9周学习总结 教材学习内容总结 第16章 -撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. -JDBC目的:让Java ...
- 20145104张家明 《Java程序设计》第8周学习总结
20145104张家明 <Java程序设计>第8周学习总结 教材学习内容总结 第15章 -java.util.logging包提供了日志功能相关类与接口,不必额外配置日志组件,就可以在标准 ...
- 20145104张家明 《Java程序设计》第7周学习总结
20145104张家明 <Java程序设计>第7周学习总结 教材学习内容总结 第13章 简单认识时间和日期 -时间的度量:GMT.UT.TAI.UTC.Unix.epoch. -UTC:保 ...
- 20145104张家明 《Java程序设计》第一周学习总结
20145104张家明 <Java程序设计>第1周学习总结 教材学习内容总结 在开学的第一周,通过了看书进行了系统的学习java,首先简单的了解java的发展历程,然后了解了JVM.JRE ...
- 20145104张家明 《Java程序设计》第2周学习总结
20145104张家明 <Java程序设计>第2周学习总结 教材学习内容总结 本周学习了第三章的内容,看过之后呢,学的和c语言是相通的,看起来就是非常的顺畅,自我感觉良好,第三章主要讲了一 ...
随机推荐
- iOS-代码修改Info.plist文件
解决办法: 1.首先系统的Info.Plist文件是只读文件 并不能 写入.目前我个人是没有办法存入,官方属性 可以看到是readOnly 2.那么我们 就想代码修改Info.Plist文件怎么办呢, ...
- 《转载》POI导出excel日期格式
参考帖子: [1]http://www.ithao123.cn/content-2028409.html [2]http://javacrazyer.iteye.com/blog/894850 再读本 ...
- JS基本动画
<style type="text/css"> .color_red { background: red; } div { position: absolute; to ...
- RxJava && Agera 从源码简要分析基本调用流程(2)
版权声明:本文由晋中望原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/124 来源:腾云阁 https://www.qclo ...
- 设备加速传感器(accelerometer) ---- HTML5+
模块:Accelerometer Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向).y(垂直屏幕水平方向).z(垂直屏幕平面方向)三个方向的加速度信息 ...
- springMVC各个包下的作用
spring的jar各包作用spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下 ...
- Linux系列-Xshell连接本地VMware安装的Linux虚拟机
一.安装VMwareWorkstation并安装RedHat虚拟机,这里安装步骤省略,网络的资料很多,大侠们不如百度或者谷歌一下,大把的资料. 二.打开本地电脑的“网络连接”,你会发现多出了2个网络适 ...
- JS实现拖拽效果
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- Meaning of “const” last in a C++ method declaration?
函数尾部的const是什么意思? 1 Answer by Jnick Bernnet A "const function", denoted with the keyword co ...
- android data recovery and nc
目录下会出现mmcblk0.raw文件,文件大小等于手机内部存储空间的大小,该文件正是手机内部存储空间的镜像文件. 第七步,打开一款传统的数据恢复工具,由于raw文件是linux文件系统格式,因此需要 ...