设计真正的应用程序
要用到main(),int,string,while和if,用来写从99到0的程序..
本来很奇怪为什么要用到string变量,看了程序之后明白,这个程序因为数量的不同,在词汇表达上有区别,bottle和bottles。
整个程序最后呈现出来的效果,应该是童谣一样,xx个瓶酒在墙上,要说两遍,之后“拿下来,传下去”。如果是结束的时候就不用说两遍了,直接说没有,然后循环结束。结束的控制条件是beerNum为0。所以需要循环和控制语句。
程序跑出来我会觉得有一点奇怪,99个瓶子的时候“xx个啤酒在墙上”只说了一次。代码中开头和最后的判断都要输出一次才构成了两次,结果第一次和最后一次就比较不一样。我的想法如下
public class BeerSong{
public static void main(String[] args){
int beerNum=99;
String word="bottles";
while(beerNum>0){
if(beerNum==1)
{word="bottle";
}
System.out.print(beerNum+""+word+"of beer on the wall");
System.out.print(beerNum+""+word+"of beer on the wall");
System.out.print(beerNum+""+word+"of beer");
System.out.print("Take one down.");
System.out.print("Pass it around.");}//while循环结束
System.out.print("No more bottles of beer on the wall.");}//main()结束
}//BeerSong类结束
专家术语学习机
本质上这个章节就是一个例子程序,实现随机输出三个术语,所以要有三个数组分别存储可以输出的字符串,然后随机生成序号,通过序号分别找三个字符数组中的字符串,最后输出。
细节:
找长度——数组.length
生成随机数——Math.random生成的是0-1之间的double。故要乘以长度,并类型转化成int。
输出——先生成字符串再输出,而不是直接在println中输出。
jvm和编译器的作用
编译器:检查代码,保证代码安全,但是不是全部抓完(语法问题);java是一个编译型语言,先编译再解释
jvm:(存储权限的安全问题),确保执行前没人修改;让编译后的字节码文件运行起来,当然啦,直接是二进制文件就可以运行
第一章过完了
来一个总结
知道了java程序如何运行;作为程序员编写代码和执行代码的过程,并且理解;java的命名历史;java大体上的程序结构;
一个简单小程序中每一个单词的含义;jvm和编译器的作用和区别,设计的意义。
接下来一章
开始面对对象的学习。现在已知的情报:面对对象最核心的三个概念:封装,继承,多态。分别是为了形成对象,抽出共同类型的代码,父类运用子类代码功能而存在的。
目前的理解就是这样,不知道今后的学习会是更深入还是改正一些想法中的错误。
第二章 引出类,以及介绍为什么要有这个设计。我还想知道的是在自己程序设计中要如何设计类,但是大多数的编程工作好像就是明确需求,查找要调用的API,以及学会api的使用,由于还没有进入公司实习,也没有做过大的项目,目前理解止步于此。
第三章 认识变量 虽然是认识变量,但我觉得是介绍了类之后不得不做的事情,因为要介绍引用变量这个变量类型,相比较而言,primitive变量就在这一章显得不那么重要
第四章 对象的行为 (就是介绍方法) 之后的概要和总结再进行扩充。to be continued
第五章 超强力方法 整个章节就是一个大game,编写一整个程序,会谈论到一些程序设计的方法;编写程序要经历的过程:伪码,测试码,真实码。
第六章 认识java的API 经历了上一个大程序,其实还是有不完美的地方,这个时候要用到java的api。如何学api,怎么运用api,怎么查询api。(上一次看这本书的时候没有实现,也没有运用过api,什么arraylist也没有去深究,这原来是java内置的api而不是一个primitive类型)
第七章 对象村的优质生活 前面学到的是方法的运用,这一章就开始将类与类之间的联系了,是方法的更上一层次的东西。用继承来防止子类中重复出现代码+定义共同的协议;多态的简单介绍
第八章 深入多态 顾名思义。这一章节主要探讨接口的重大意义、接口和多态的意义,以及多态的意义。
第九章 对象的前世今生 研究对象在内训中的产生和消亡。由垃圾收集器控制。
有关面向对象的章节梳理至此,之后会进行深入、细致的学习。