20155216 2016-2017-2 《Java程序设计》第三周学习总结
教材学习内容总结
区分基本类型与类类型
类类型是自己定义产生的,基本类型是long,int,double等类型。
在类的定义过程中,可直接用class XXX {}
对每个序定义的值域成员进行定义。这样,编译程序时便会产生两个XXX.class
文档。
同时,也可以用定义构造函数的方法进行定义,再用this吧每个参数的值指定给这个对象的所有成员。
import java.util.Scanner
可使输入数据的程序代码变得更为简洁,是API提供的标准类。而java.math.BigDecimal
使小数的运算更为准确。使用equals()
比较两个BigDecimal实质上是否相同。
理解对象的生成与引用的关系
java中,使用new建立对象,并对对象赋初值,之后可将对象用于循环、运算、复制等各种操作,在操作过程中,参与运算的数的类型要与对象中的类型一致。
掌握String类和数组
字符串是java.lang.String
实例,用来打包字符数组。其中,可用 + 运算来连接字符串。
字符串只要内容完全相同,,JVM只会建立一个String对象。若建立多个对象,则使用equals进行比较。
理解封装的概念
封装对象是对一组数据进行封装储存,可用定义类和构造函数的方法,避免了重复编写对象初始化的流程,并且可让用户在编写代码时直接存取使用。也可以用private避免私人数据被使用。也可用public在其他类程序代码中存取某包的类或成员。
掌握构造方法的定义
构造方法主要为函数的构造,可按照基本类型和类类型进行初始值的定义,否则则为默认值。在构造过程中,使用this对参数进行指定。
理解重载的概念
在构造函数时,只要定义的多个构造函数的参数类型和个数不同,视为重载构造函数。
掌握static的应用
static类成员就是建立一个固定的成员,不会让个别对象拥有,在编写代码过程中可被调用,在调用过程中不可被改变。在static的定义过程中,不能使用this,不能进行对象参数的指定。
教材学习中的问题和解决过程
xx1问题
不明确封装完成后的对象如何在此程序或其他的被调用。xx1解决方案
尚未解决。xx2问题
5.4.1选择题第4题程序片段
public class Some {
public int x;
public Some(int x) {
x=x;
}
}
不明确x的值为0。
- xx2解决方案
通过对课本相应知识的再次翻看和对第5题的理解和比对,应该用this.x=x对x进行对象的指定。
代码调试中的问题和解决过程
xx1问题
xx1解决方案
命名java文件,应避免使用java代码中的专用名词。xx2问题
4.7.2操作题第二题
撰写一个简单的洗牌程序,可在文本模式下显示洗牌结果。xx2解决方案
import java.util.Random;
class Card
{
public String num;
public String suit;
Card(String n,String s)
{
this.num=n;
this.suit=s;
}
public String toString()
{
String ss=suit+":"+num+" ";
return ss;
}
}
class DeskOfCard
{
Card card[];
public void initcard()//初始化
{
String num[]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String suit[]={"方块","梅花","红桃","黑桃"};
card = new Card[52];
for(int i=0;i<52;i++)
{
card[i] = new Card(num[i%13],suit[i/13]);
}
}
public void shufflecard()//洗牌
{
Random rd = new Random();
for(int i=0;i<52;i++)
{
int j = rd.nextInt(52);//生成随机数
Card temp = card[i];//交换
card[i]=card[j];
card[j]=temp;
}
}
public void dealcard()//发牌
{
for(int i=0;i<52;i++)
{
if(i%4==0) System.out.println("\n");
System.out.print(card[i]);
}
}
}
public class TestCard
{
public static void main(String[] args)
{
DeskOfCard cc = new DeskOfCard();
cc.initcard();
cc.shufflecard();
cc.dealcard();
}
}
通过对此段他人博客的学习和借鉴,加深了对于数组和随机字符串和数字的应用。
代码托管
代码提交过程截图:
代码量截图:
上周考试错题总结
错题1及原因,理解情况
对于按位取反的理解不够深刻,需对一个数按位取反后,若为负数,需取其补码。
有一个明显的技巧:~(+X)=-(X+1)。错题2及原因,理解情况
System.out.println("%b",X)
不是二进制数的输出。错题3及原因,理解情况
寻找前N天的文件的命令是find . ctime N -name *. java
。
其他(感悟、思考等,可选)
1、本周对java的学习,开始体会到java程序代码与C语言的不同之处。
2、体会到了java对类类型定义的优点。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 6/6 | 1/4 | 20/20 | |
第二周 | 334/340 | 1/5 | 18/38 | |
第三周 | 570/900 | 1/6 | 22/60 | |
第四周 | 300/1300 | 1/7 | 30/90 |
20155216 2016-2017-2 《Java程序设计》第三周学习总结的更多相关文章
- Java程序设计第三周学习总结
1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
- 20155216 2016-2017-2 《Java程序设计》第九周学习总结
20155216 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC架构 JDBC API的使用 JDBC连接数据库 1.导入JDBC包: 添加impo ...
- 20155227 2016-2017-2 《Java程序设计》第九周学习总结
20155227 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是java联 ...
- 20155328 2016-2017-2 《Java程序设计》第九周学习总结
20155328 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 16.1 JDBC入门 JDBC是Java联机数据库的标准规范,定义一组标准类与接口,应用程 ...
- 20155320 2016-2017-2《Java程序设计》第九周学习总结
20155320 2016-2017-2<Java程序设计>第九周学习总结 教材学习内容总结 第十六章 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
随机推荐
- August 28th 2017 Week 35th Monday
The truth may hurt for a little while but a lie hurts forever. 真相会让我们痛一阵,但谎言会让我们痛一生. Once you make a ...
- linux服务器nginx的卸载和安装
刚接触的linux服务器上,nginx配置乱的有点令人发指,就把老的卸载了重新装一下. 卸载 linux有一系列的软件管理器,比如常见的linux下的yum.Ubuntu下的apt-get等等.通过这 ...
- BZOJ 2038 小Z的袜子(hose) 莫队算法模板题
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2038 题目大意: 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中 ...
- ubuntu服务器下tomcat安装(不推荐使用apt-get)
最近在阿里云服务器上装tomcat,一开始为了省事直接使用了apt-get安装,结果整个程序被拆开散到了好多地方,尤其是像网上说要把打包好了.war文件放到webapps文件夹下,但是开始并没有在/u ...
- POJ2318 TOYS
嘟嘟嘟 题面:先告诉你一个矩形抽屉的坐标,然后\(n\)个隔板将抽屉分成了\(n + 1\)格(格子从\(0\)到\(n - 1\)标号),接下来随机输入\(m\)个玩具的坐标.问最后每一个格子里有多 ...
- Eclipse导入web项目发布项目时报Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web错误解决方案
Eclipse导入web项目后,将web项目加载到server进行发布时,提示Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java ...
- Hadoop学习之路(二十八)MapReduce的API使用(五)
求所有两两用户之间的共同好友 数据格式 A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E,O,M G:A,C,D, ...
- 33、springboot整合springcloud
Spring Cloud Spring Cloud是一个分布式的整体解决方案.Spring Cloud 为开发者提供了在分布式系统 (配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token ...
- ApiCloud模块链接
城市选择器 页面左右滑动 识别信用卡 图像coverFlow 输入框 图片浏览器 百度地图 ...
- 修改网卡MAC地址后出现问题:device eth0 does not seem to be present, delaying initialization
修改网卡MAC地址后出现问题:device eth0 does not seem to be present, delaying initialization 1.修改网卡对应的文件,将配置文件中 ...