<本文来自互联网,仅限学习交流>
很多友友对java编程很好奇,很感兴趣!下面@月下@与各位分享一下java编程启蒙篇,让大家能够比较清楚的认识一下我们所玩的java游戏背后的这些简单编程与认识!!
游戏,看看今年游戏的火爆劲头,大家可体会到它的无穷魅力。越来越多的程序员加入到游 戏开发这个行业中来。而且游戏开发本身是种很大的乐趣与挑战。 本系列就是利用 Java 这门语言教大家一步一步学习游戏开发,领会 Java 游戏开发的 每一个技术要点。让大家都能灵活使用 Java 这门语言工具,都能用 Java 打造属于自己的 游戏。是本系列的最终目的。 有过 Java 经验的朋友一定会奇怪,在 Java 企业级应用(J2EE)和 Java 移动应用 (J2ME)横行 Java 天下的时候,我们为什么选择了 Java 游戏开发?原因很简单,游戏开 发主要是利用 J2SE 技术,而 J2EE、J2ME 都是在 J2SE 的基础上发展起来的,也必须依 托 J2SE 而存在,三者是相辅相成的。J2SE 是基础,万丈高楼平地起,只要你的基础打好 了,有什么程序不能做呢?而在 J2SE 上也有很多成功的应用开发。你甚至能很方便的把 你开发的游戏程序移植到上面两个应用方向中去。 好了,带上你的信心和决心,和我们一起走向这奇妙之旅吧。 在第一部分,我们主要是针对 Java 初学者,介绍 Java 语言的一些特性、简单运用。 让大家活动活动关节。如果你是一位有经验的 Java 程序员,你可以跳过本章,但是了解一 下这部分中关于 Java 在游戏开发方向的知识对你后面的学习将会有不少帮助。 目录导引: 一、Java 简介 二、Java 环境设定 三、Java 基本语法 四、Java 开发游戏的优劣 五、游戏开发中常用 Java API 包 六、参考资料 一、Java 简介 Java 是 SUN 公司研发的一门语言,自从 1995 年发布以来,它以其优越的面向对象思 想及简便的功能得到了广泛的应用。 微软总裁比尔·盖茨说: “Java 是最卓越的程序设计语言”。 1997 年开始,许多大学已经用 Java 取代 C 当作程序设计教学语言。现在到处都可见到 Java,Java 已经变成了程序员共通的语言。它已经渐渐地渗透到各领域,如果你是程序员, 你可能迟早都会接触到 Java。然而 Java 到底什么呢? Java 是一个类似 C++ 的面向对象程序设计语言。它和其他语言一样有自己的语法和 撰写规则。 我们经常提到的 Java 平台是由 Java 应用编程接口 (API) Java 虚拟机 和 (JVM) 构成。Java API 即 Java 为程序员提供的一套已经编译好的功能接口。 Java 虚拟机(JVM)是 Java 中最出色的设计之一,它是建立在 CPU 和 OS 的之上的一 个虚拟平台。 我们的 Java 程序并不是在本机操作系统上直接运行而是在 Java 虚拟机上执行, 由 Java VM 向本机操作系统进行解释。这样 Java 程序就可以在不同的平台上执行,也就 是所谓的“一次编写,到处执行”。这就是说,任何安装有 Java VM 的计算机系统都可以运 行 Java 程序,而不论最初开发应用程序的是何种计算机系统。比如你在 Window 平台下 撰写的 Java 程序, 可不做任何修改而直接在 Linux 平台上运行。 不同的平台有不同的 Java VM 版本。Java 平台结构如下图的所示: 人们提到“学习 Java”,通常他们指的是 Java 语言和 API。 二、Java 环境设定 为了能够编写并运行我们所编写的 Java 程序,我们需要在自己的本地机器中安装 JDK 开发包,JDK 是内置各种 Java 开发工具、Java 虚拟机、Java API 的一个压缩包。我 们可从 java.sun.com 网站免费下载最新版本使用。这里要注意不同的系统平台 JDK 压缩 包是有所出入的。下面介绍的方法我们是以 Windows 平台为基础。Linux 下的处理和这类 似,只是文件扩展类型有所变化。 下 载 后 的 JDK 是 个 执 行 文 件 , 我 们 运 行 后 可 直 接 安 装 , 缺 省 的 安 装 路 径 是 C:\j2sdk1.4.1_02。为了能够让电脑找到你要运行的程序,JDK 会自动在你的系统环境变量 中加入 JAVA_HOME= C:\j2sdk1.4.1_02 但是要想很方便的运行自己的程序,这还不够,我们还得自己设置系统的类路径。 类路径的设置方式可以是采用 javac 编译器命令和 java 解释器命令中的 -classpath 选项,或通过对设置 classpath 环境变量的来完成。在 Java 程序开发中,我们会大量引用 到 Java 提供的 API 类库,所以要告诉电脑这些 Java API 所在的位置。classpath 就是帮 我们寻找这些 Java 类路径的配置,如同 DOS 里面的 path 一样。 要成功编译和运作 Java 程序,我们还必须告诉电脑 JDK 中的编译器 javac.exe 和执 行工具 java.exe 所在的路径。这两个工具是放在你的 JDK 安装目录的 bin 目录下,如: C:\j2sdk1.4.1_02\bin 我们来看看电脑中具体的环境设置: PATH=C:\j2sdk1.4.1_02\bin;c:\windows;c\windows\command classpath=.; C:\j2sdk1.4.1_02\lib\tools.jar;d:\test 注意:classpath 中的“.”代表的是当前目录,可以让你在当前目录下编译自己的 class 而不 会出错。D:\test 是我们自己指定的任意 class 放置路径。这样即使 Java 操作不在当前目录 中,也可编译 d:\test 目录下的 Java 类。 三、Java 基本语法 编写 Java 程序的 编写 Java 程序的 IDE 工具很多,如 Eclipse、JCreator、JBuilder 都是很不错的工具。 而最简单的方法是使用文本编辑器。下面我们就用文本编辑器创建一个 Java 应用程序,并 以此为基础说说 Java 的基本语法,感受您的第一个 Java 程序所带来的成就感。在开始之 前,您可先下载我们源程序 TestDate.java,或者手工输入: package my.test; import java.util.*; /** * 日期测试程序 * @author 天翼.李 */ public class TestDate { // 声明私有变量 pass private Date pass; /** * 打印日期方法,并初始化 pass 的值 */public void printDate() { // 调用日期函数 pass =new Date(); // 显示当前日期 System.out.println("当前日期:"+pass); } public static void main(String arg[]) { // 初始化类 TestDate TestDate testDate = new TestDate(); testDate.printDate(); } } 接着要编译程序 编译程序就是把 java 源程序转换为 Java VM 能够理解的字节码,这样,任何安装有 Java VM 的计算机就可以解释并运行该程序。我们在 Dos 窗口的命令行中输入下面命令, 就可成功编译 TestDate.java 程序: javac TestDate.java 解释并运行程序 Java 程序的解释和运行是指调用 Java VM 字节码解释器把 Java 字节码转换成与平 台相关的机器码, 以便您的计算机能够理解并运行该程序。 在运行上面例子程序前我们先要 在当前目录下新建 my 目录,并在 my 下面新建子目录 test,并把我们编译过后的 TestDate.class 文件移到 test 下面。然后在 DOS 窗口的命令行输入: java my.test.TestDate 在命令行上,您可以看到终端窗口显示如下: 为什么要新建这些子目录呢?下面的 package 机制将会告诉你一切。如果你认为有点 麻烦了,也没关系,大部分的 Java IDE 会自动在你的系统中生成这些目录。或者你在理解 了下面的 package 机制后,注释掉 package my.test,直接在当前目录下进行操作演示。 包(package) 每个人写的程序命名方法各异, 如何有效的对这些名字进行管理, 而不会出现重名的现 象。Java 借鉴 Internet 域名地址的唯一性方法,引入了 package 机制。package 利用倒写 的 Internet 域名,用点符号分隔每一个路径。这样保证不同功能的类库放入不同的目录之 下。在此 package 相当于命名空间,不同命名空间的类不会相互干扰。在本地新建包路径 时会按“.”符号来新建相应的子目录。上例中的: package my.test; 相当于新建一个 my.test 的包,而此包就是按 my\test 的目录结构来分隔 TestDate 类和外 界的类。所以上面我们编译后的 TestDate.class 文件要放置在目录 my\test 下面。 包除了命名分隔的功能外, 还有一个功能, 它能设置本命名空间对另一个命名空间类的 访问权限。只有命名为 public 的类才能被另一个命名空间的类调用。在下面的权限小节我 们将会看到 Java 几种权限划分方式。 Import Import 和 package 是相对应的, package 主要管理的是自己类库,而 import 主要的是 处理对另一个包中的类库调用。由于 package 机制隐藏了类库的可见性,要想引用另一个 类库的中的类来实现相应的功能, 我们就得知道这个类库所在的位置, 也即要得到类库上的 包路径。 程序开始时 Java 虚拟机会根据环境变量 classpath 来查找引用的包。如果没有找到, 就到当前程序所在的目录查找,如果再没找到,程序运行就会出错。看到这,你是否明白了 classpath 所发挥的类库路径配置作用!Java 找到引用的路径后,会把路径指定的类全部加 载到内存中去,这是 Java 的一大特色,用以加快开发者调用程序的速度。 import java.util.*; 为了新建 Date 类型的变量实现我们的显示当前日期功能,例子中我们就引用了 java.util 包, 这里用的“*”代表这个包下的所有类, 包括这个包下的 Date 类。 如果我们只要引用 Date 这个类,也可这样写: import java.util.Date; 这样程序运行过程中只要加载指定的类到内存中而不要加载所有的类。 如果大家对加载过程有兴趣,可尝试在执行程序时加入参数 –verbose,即: java –verbose my.test.TestDate 屏幕上会显示所有引入内存中的类库名称。 面向对象 Java 是一种面向对象(OOP)的编程语言。在 Java 中,面向对象是以类的形式出现 的,对象则是类的实例。所以要学习 Java 的类首先必须了解面向对象思想。 1、类 我们用修饰符“class”来表示类。它代表某一类事物的类型,其内封装了这一事物总的外 观长相(数据成员)和行为举止(成员函数) ,如鸟类就可以是一个 class,其中就封装了鸟 类的基本行为:飞行,也封装了鸟类的基本外观:都有翅膀。对类封装后,即使我们改变了 类的一些代码,只要不改变其中被调用的方法,引用这个类