Ⅰ java源代码的扩展名为( )
JAVA源代码的扩展名为.java。
Java源程序(.java文件)-java字节码文件(.class文件)-由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)-字节码文件(.class)就会在java虚拟机中执行。
Java的基本包
java.lang其中包含有:接口:Comparable、Cloneable、Runable等;类:八个基本数据类型封装类、Byte、Short、Integer、Long、Boolean、Character、Float、Double等。
(1)java源码组成扩展阅读
Java为一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。
类按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。Java程序是用类来组织的。
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。
例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt为抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(java.net包)。
Ⅱ 谁有java游戏源码,给我发过来‘
注意:源代码仅供个人作学习研究时的参考,不得在程序制作中直接抄录。
源代码一共两个文件:Mine.java,MGame.java,另外还有一些图片。
在JBuilder下建立一个新的工程,将两个源文件复制到工程目录下的src\mine目录中,将所有图片复制到src\images目录中就可以了。
要点分析
数据结构
首先要说明一下用来存放地雷信息的数组grid。
grid是一个二维数组,第一位对应表格的行,第二位对应表格的列,比如grid[y][x]表示第y行第x列。每个字节的含义分三段:0-9表示已经挖开;10-19表示仍然埋藏;20-29表示做了标记。每段中:0-8表示周围的地雷数量;9表示是地雷。
newGame()函数
这是用于开始一个新游戏的。
由于每次地雷的埋放地是随机的,应次开始新游戏之前先要生成新的地雷信息。
第一步是初始化grid,将所有内容都置成10,因为一开始所有格子都是埋藏的。
for(i=0;i<Height; i++)
{
for(j=0; j<Width; j++)
grid[j] = 10;
}
第二步是随机产生地雷。当然了,已经产生过地雷的地方要避开。
for(i=0; i<MINECOUNT; i++)
{
while(true)
{
x = Math.abs(rand.nextInt()) % Width;
y = Math.abs(rand.nextInt()) % Height;
if (grid[y][x] != 19)
{
grid[y][x] = 19;
break;
}
}
}
最后就是无雷处计算周围的雷数了。怎么计算?一个一个加就是了。
挖雷与做标记
在看一下按键响应函数keyPressed(int kcode),按1键是挖开动作。
前半部分表示如果当前焦点在一个埋藏格(值介于10到19之间),那么将其值减10,表示现在挖开。当然如果地下不是雷而且周围没有雷(值等于0)那么需要自动展开,这里调用了Expand(),(selx,sely)是当前焦点的表格坐标。
后半部分表示如果当前焦点在一个已经挖开的格子上(值小于10),那么就调用SafeExp()来自动挖开周围未挖的格子。
按3键是做标记动作。如果当前格是埋藏格,就做上标记(值加10);如果当前格已经做了标记,那么就去掉标记(值减10)。
自动展开
Expand()是一个嵌套函数,他的作用是将周围不含地雷的格子周围全部挖开,如果挖开的部分中也有周围不含地雷的格子,那么对那些格子也重复前面的操作,直到把相关的格子都挖开。挖的顺序是左上、上、右上、左、右、左下、下、右下,如果遇到一个周围不含地雷的格子(值为0)那么马上嵌套调用Expand()对那个格子进行处理。
SafeExp()是一个自动挖开周围未挖格子的函数。当然要实现这个功能是有条件的,就是周围做了标记的格子数量必须等于当前格所标的数字,也就是说玩家把周围所有的地雷都标记了(不管是否标错)。函数中第一个部分就是做以上条件的判断。
第二部分是把周围埋藏的格子挖开。但是由于玩家的错误可能标记了没有地雷的格子,而把有地雷的格子漏标了,所以先要检查一下没做标而有地雷的格子和做错标记的格子。如果没有这些错误,那么可以安全的翻开了,同时也要检查是否挖到周围不含雷的格子,有的话就要调用Expand()了。
SafeExp()的返回值表示是否引爆了地雷,就是标记错误,true表示是,false表示否。这主要用于判断这次游戏是否要结束。
类介绍
图像缓存 ExtendedImage
ExtendedImage是Siemens自己扩展的一个专用类,只在Siemens的Java中存在。
这个类主要是用做图像的缓存。大家不知道还有没有印象,以前在PC上编程的时候由于显示的速度比较慢,往往会开一片显示缓存,先把要现实的内容画到这片缓存中,全部画好后再一次性显示出来,ExtendedImage类就起到了这个作用。其实Java本身的Image类也可以实现类似的功能,但是显示速度好象不如人意,而且ExtendedImage更好用,所以我基本上都采用这个类。当然这对通用性是不利的。
ExtendImage的主要函数有:
void clear(byte color);
用给定的颜色填充整个图形区域。
void blitToScreen(int x, int y);
将缓存内容贴到显示屏上,(x,y)是屏幕左上角坐标。
Image getImage();
返回一个标准的Image类。可以通过ExtendImage.getImage().getGraphics()得到与其相关的Graphics对象,用来往ExtendImage上面画图。
Ⅲ java工作原理
Java工作原理
由四方面组成:
(1)Java编程语言
(2)Java类文件格式
(3)Java虚拟机
(4)Java应用程序接口
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类 ,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用 。
Ⅳ 一个Java源程序一般是由哪三个基本部分组成的
一个简单的java程序由java包(如:import java.awt.*)、类声明 、变量、构造方法(可缺省)、方法 这几部分构成。
java程序中至少要有一个类被声明为public。
Ⅳ java语言的编译过程与一般编程语言的编译过程有何不同
Java代码编译和执行的整个过程包含了以下三个重要的机制:
Java源码编译机制
类加载机制
类执行机制
Java源码编译机制
Java源码编译由以下三个过程组成:
分析和输入到符号表
注解处理
语义分析和生成class文件
JVM的类加载是通过ClassLoader及其子类来完成的
JVM是基于栈的体系结构来执行class字节码的。线程创建后,都会产生程序计数器(PC)和栈(Stack),程序计数器存放下一条要执行的指令在方
法内的偏移量,栈中存放一个个栈帧,每个栈帧对应着每个方法的每次调用,而栈帧又是有局部变量区和操作数栈两部分组成,局部变量区用于存放方法中的局部变
量和参数,操作数栈中用于存放方法执行过程中产生的中间结果
Ⅵ 在java里面代码区 是 数据区么
您好,java源代码内部是没有代码区与数据区一说的(至少官方文档没有见到过),我想您所谓的数据区应该是一组需要处理的数据吧,但这并不是JDK的标准或规范。