分享
 
 
 

Java游戏编程读书笔记

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

第2章 预备:学习Java 2 API

Java程序的结构

基本Java数据类型,包括String和数组

数值和条件运算符,以及它们的优先运算顺序

条件语句,包括控制语句和循环语句

使用throws语句和try-catch的异常处理

2.1 Game Over!程序

2.1.1 import语句

Java对象被组织到包中。为了方便组织,包中包括了相关的类。Java API包含75个包(总共大约2000个类,JDK1.4.0)

C++注解:Java中的import要害字与C++中的#include指示相似,仅有的不同是java中头文件和源文件之间没有差别。对类的声明和实现都包含在一个.java文件中。

2.1.2 给Java代码加注释

在工作中一定要写注释,但是也要避免过度的注释,过度的注释只能使代码混乱并在很大程度上干扰注重力。

注重C风格注释不要嵌套。第一个“*/”会使最近的“/*”失去作用。

2.1.3 Java类声明

2.1.4 Java方法声明

C++注解:Java中的main方法与控制台C或C++应用程序中的典型main函数相似。注重在Java中,它必须在一个类中定义,而在C和C++中必须全局定义。此外,Java中的main方法总是返回void,与C或C++的main函数不同,它们可以有多个返回类型。

2.1.5 Java中的代码块

2.1.6 Java程序组成部分的要害点回顾

 使用import语句使编译器知道要用的库

 注释能在很多方面帮助程序员,但是不正确使用它会弊大于利

 用Java写的一切都被封装成类,即使程序的开始点即main方法也不例外

 一个代码块是完成一个特定任务相关的语句。代码块保持程序的结构化并且轻易读写

2.2 比特和字节:原始的Java类型

程序中应写些什么呢?答案是:数据,程序没有数据就不能生存,尤其是游戏。

Java是面向对象语言。但是,Java不是百分百的面向对象,因为Java支持8种原始类型。

2.2.1 基本的整数类型

通常而言,对于游戏开发,一般会使用int型表示整数数据,而忽略long,short和byte型。因为int型的取值范围大于40亿,通常使用它比较安全。

2.2.2 浮点类型

一个常量浮点值要能被真正看作float,它必须以f(或F)后缀结束;否则,会被当作double值。对于double值来说,d(或D)后缀是可选的。

至今,通常使用哪种类型来存储浮点数还没有定论。双精度在本质上给了我们相对于浮点数两倍的精度,但是,这是有代价的——通常是内存的消耗。Java API中大部分的方法返回类型和数据成员时使用double型。

2.2.3 Char类型

Java中一个字符(char)表示Unicode字符集中的一个元素。Unicode字符由16位组成,因此,有216(65535)个不同的字符可用,这与C++的标准128个ASCII字符大不相同。Unicode字符集给了我们很大的灵活性,它能包含所有不同语言的字符,以及数学、科学、文字中的常用符号。

字符由单引号括起来的单个字符表达,通常用16进制表示,范围从’\u0000’到’\uFFFF’(u告诉编译器你在用两个字节[16位]字符信息表示一个Unicode字符)。

C++注解:注重,与C++不同,Java中一个字符数组没有必要组成一个字符串。稍后将会看到,Java API定义了自己的String类型。一般只有敏感信息,如密码字段,才会作为字符数组处理。这是因为,Java对象在没有被Java虚拟机作为不被引用的对象清空之前一直驻留在内存中。假如有精明的黑客潜进系统,则把敏感数据留在内存中可能会造成危险的局面。

想得到更多的关于Unicode字符集的信息,以及字符的完整列表,可以到http://www.unicode.org网站上查看。

2.2.4 布尔型

Java中,任何一个boolean变量只有两个有效值:true和false。boolean型没有等价的数值赋值,也不答应类型转换。还有,注重所有的if和while声明都相当于一个boolean结果。

2.2.5 String类型

Java中的String类型并不是原始类型!它实际上是一个Java类。

复制数组:

假如需要将一个数组中的值复制给另一个数组,可以使用System类中预定义的arrayCopy方法。

System.arrayCopy(Object src,int src_position,Object dst,int dst_position,int length);

其中,src指的是从中复制的源数组,src_position指源数组的开始下标,dst指的是复制的目的数组,dst_option指的是目的数组的开始下标,length指定复制的数组元素的个数。

多维数组:

数组可以使问题变量很简单,但假如使用不恰当则会使问题变得异常复杂。假如在是否使用数组来解决某个问题上不确定,下面的提示可能会有一些帮助:

 在纸上简写出要解决问题。假如数据不能以行和列的方式组织,那么使用数组可能不是最好的解决方法。

 在写自己的数组工具,如排序和查询算法之前,查看一下Java API。通常从Java.util.Arrays包开始查看比较好。无疑Java包会节约你的时间,而且要写出比API中提供的算法更有效的代码是很难的。

 虽然可以把数组定义为三、四、五或更多维,但是用这些取代二维数组后,事情会变得很复杂。假如你需要使用超过三维的数组,试着检测能否设计或找到另外一种数据结构来使用,比如树,这很可能会更简洁有效地解决问题。

2.2.6 强制转换变量类型

C++注解:与C++不同,Java boolean类型没有等价的数值赋值。因此没有可以直接地把一个boolean转换为int变量的方法。把boolean值转换到另外一种类型最快方式可能如下所示:

boolean gameStarted=true;

int game=gameStarted?1:0;

虽然这里没有强转,但是一行代码也可以实现转换。

最后,关于变量还有需要注重的地方。在Java中,没有typedef操作符,也没有与#define预编译指令等价的操作。虽然这可能要花费一些时间来适应,但是它会帮助排除错误并且使代码更清楚。因此,对于那些喜欢写很多“神秘”代码的人,再也不能定义一个如fa26b9这样的变量类型了。

2.2.7 Java数据类型、数组和标识符需要记忆的要点

 Java中的8种原始数据类型byte,short,int,long,float,double,boolean和char本身不是Java类,但它们是类中不可缺少的部分。

 Java中的数组可以与C和C++中大致一样地编写,但是Java的实现提供了访问数组元素总数的一个附加长属性。

 强制转换是把变量从一种类型转换为另外一种类型的好方法,但是要小心这种方法中潜在的副作用。

QQRead.com 推出数据恢复指南教程 数据恢复指南教程

数据恢复故障解析

常用数据恢复方案

硬盘数据恢复教程

数据保护方法

数据恢复软件

专业数据恢复服务指南

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有