一·教材学习内容总结
1、Java是一种跨平台、面向对象的编程语言。
2、Java的网络地位
3、Java反编译
4、两种编程风格:Allmans风格(独行)以及Kernighan风格(行尾)
5、使用Random类中的next..方法得到随机均匀的随机数。
//生成一个Random类对象random
Random random=new Random();
//依次使用next..方法
boolean bo=random.nextBoolean();
int in=random.nextInt(1);
double dou=random.nextDouble();
依次输出bool、int、double的随机数字:
6、使用intersects方法进行矩形碰撞测试
//碰撞测试方法A
public boolean isHitA() {
//先定义两个与矩形A、B重合的Rectangle对象
Rectangle rA=new Rectangle(A.getX(),A.getY(),100,100);
Rectangle rB=new Rectangle(B.getX(),B.getY(),100,100);
//使用intersects方法进行碰撞判断
if(rA.intersects(rB)) {
return false;
}else {
return true;
}
}
//碰撞方法B,与碰撞方法A类似
public boolean isHitB() {
Rectangle rA=new Rectangle(A.getX(),A.getY(),105,105);
Rectangle rB=new Rectangle(B.getX(),B.getY(),105,105);
if(rB.intersects(rA)) {
//System.out.println("sdas");
return false;
}else {
return true;
}
}
操作的思想是将生成的两个Rectangle对象rA、rB依次依附在矩形A、矩形B上,借助intersects方法使矩形间产生碰撞现象。
二、教材学习中的问题和解决过程
暂无
三、学习思考与感悟
学习编程初时,字里行间的代码在我看来,总是那样的整齐规则而又深赋美感,虽然不太了解这些数字符号变换组合后的意义和奥妙,但总有一种思想始终萦绕在我脑海中:编程总是确切的,我们要尽力消除程序存在的各种随机性,因为随机代表着不稳定,不稳定的因素一旦增多,问题便会接踵而至。那时的我,还天真的认为不稳定因素是程序员们的大敌,虽然直到现在我还保留着这些思想,可比起那时的自己,这种过于绝对的思想多少还是改变了一点,渐渐认可了随机性在应用方面不可或缺的特点。反过来说,一切事物都有两面性,如何应用好这些事物,需要我们很长很长甚至是一生的时间去不断摸索不断领会,当然,这一切的起点都是从认知开始的。
随机数就是随机性的一个实例,看似不稳定的随机数却能够为我们带来许多便利。比如在某些多线程对象的行为控制中,随机数的存在能够使这些线程对象不受人为的控制,自由自在地行动,在各种各样的循环语句中不断地取得随机数,不同的数字不同的组合间,到也似生命般的盈动。
Random类的知识在书本的p23有所提及,与我曾使用过的同类方法有所不同的是这个next....方法。
以往使用的方法:
this.direct=(int)(Math.random()*4);
Java包中的知识实在太多,即便是功能类似的方法也不计其数,立足当下,着眼未来,只有踏踏实实地走好每一步,不断地学习新知识新内容充实自我,才能更好的掌握编程这门技能,在计算机的世界里,不进则退。
四、学习进度条
代码行数(新增/积累) | 博客量(新增/累计) | 学习时间(新增/累计) | 重要成长 | |
目标 | 7000行 | 30篇 | 400h | |
第一周 | 378/378 | 2/2 | 14/14 |