java游戏小程序(java小游戏代码)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈java游戏小程序,以及java小游戏代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

用java语言,编写一个小程序。

package testWrite;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

public class write {

InputStream inStream ;

FileOutputStream fs ;

int bytesum = 0;

int byteread = 0;

String  data ;

StringBuffer dd;

public static   byte[] readdata(String filePath) {

   byte[] data = new byte[2048];// 用于存储读取的文件内容

   try {

   File file = new File(filePath);

   if (file.exists()) {

   FileInputStream fis = new FileInputStream(file);

   fis.read(data);

   fis.close();

   }else{       

   System.out.println("文件不存在");

   }

} catch ( Exception e) {  

}

return data;

}

public void  writeFile(String fileCopyPath,byte [] data){

   File file = new File(fileCopyPath);

try {

   if (!file.exists()) {

file.createNewFile(); //创建文件

FileOutputStream fos = new FileOutputStream(file);

fos.write(data);

fos.close();

}else{          

   System.out.println("文件已经存在");

   }

} catch (Exception e) {

e.printStackTrace();

}

   }

}

package testWrite;

public class writeOne  extends write {

public static void main(String[] args) {

//第一种

// writeOne  a=new writeOne ();

// byte [] data=a.readdata("D:\\Users\\workspace\\testWrite\\src\\testWrite\\write.java");

// a.writeFile("D:\\Users\\workspace\\testWrite\\src\\testWrite\\writenew.java",data);

//第二种

writeOne  a2=new writeOne ();

System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径

String path=System.getProperty("user.dir");

System.out.println(path);

    String writefile="\\src\\testWrite\\write.java";

    String writenewfile="\\src\\testWrite\\writenew.java";

    String w1=path+writefile;   //读取文件的路径

   String w2=path+writenewfile;  //写入文件路径

   byte [] data=a2.readdata(w1);  //读取文件

a2.writeFile(w2 ,data); //写入文件

}

}

本地已经调试通过可以复制write.java 文件 ,注意包,和文件的路径 直接运行第二个java文件就可以了,运行后刷新一下就可以看到复制的文件(备注:我是使用myeclipse环境进行调试)

java 小程序

switch((area-1)/3)

这句话你是不是写错了??

我理解应该是这样: switch((area-1)%3)

把 / 变为 %

你都 没有截出来行号,让我们给你一行一行数呀

用JAVA编写一个小程序,不限类型好玩点的。

控制台小游戏 class YZDEL\r\n{\r\n public static void main(String[] args)\r\n {\r\n java.util.Random Shiji = new java.util.Random();\r\n java.util.Scanner Shuru = new java.util.Scanner(System.in);\r\n java.util.Scanner Nandu = new java.util.Scanner(System.in);\r\n int YingxHP = 20;\r\n int YingxMP = 0;\r\n int MogHP = 20; \r\n int MogMP = 0;\r\n int MogDo = 0;\r\n int fangyu = 0;\r\n System.out.println("┏━━━━_┏━━┣┣┓ _ ┓┏━┳━┳┓┓━┓ ");\r\n System.out.println("┏┣━━━┓┏━━┣┣┓ ┃┏ ┃ ┃┓┃ _ ");\r\n System.out.println("┣┣━━━┫_━━┻__ ┃_┓┃ ┃_┏━┣━━┓");\r\n System.out.println("┣┣━━━┫┏━━━━┓_━━┣━┛┗━┻━┻┛┃┃");\r\n System.out.println("┏┣━━━┓┣━━━━┫ ┃┃┃┗__┃┃┣━_");\r\n System.out.println(" ┛┗_┗━━━━_┗___━━┛┛┗━__━┛");\r\n System.out.println();\r\n System.out.println(" 作者:天狐空幻");\r\n System.out.println();\r\n System.out.println("说明:勇者的操作方式为以下所示:");\r\n System.out.println(" 使用攻击需消耗1MP 伤害1HP");\r\n System.out.println(" 使用蓄力可增加1MP 伤害0HP");\r\n System.out.println(" 使用躲闪需消耗0MP 伤害0HP 躲避攻击");\r\n System.out.println(" 使用重击需消耗3MP 伤害2HP 防御无效");\r\n System.out.println(" 恶龙攻击力高, 注意防御是取胜的关键");\r\n System.out.println(" 恶龙MP达到4时可能会放出火焰无法躲避");\r\n System.out.println(" 准备说明完毕,那么让我们来挑战恶龙吧!");\r\n System.out.println("==================================");\r\n //难度选择\r\n System.out.println("请选择难度");\r\n System.out.println("1.娱乐 2.挑战 3.噩梦");\r\n int ND = Nandu.nextInt();\r\n System.out.println("==================================");\r\n while(true) \r\n { \r\n //HP,MP的显示 \r\n System.out.print("勇者: ");\r\n System.out.print(" HP ");\r\n for(int x=YingxHP;x0;x--) System.out.print("*"); \r\n System.out.print(" "+YingxHP);\r\n System.out.println();\r\n System.out.print(" ");\r\n System.out.print(" MP ");\r\n for(int x=YingxMP;x0;x--) System.out.print("*"); \r\n System.out.print(" "+YingxMP);\r\n System.out.println();\r\n System.out.print("恶龙: ");\r\n System.out.print(" HP ");\r\n for(int y=MogHP;y0;y--) System.out.print("*");\r\n System.out.print(" "+MogHP);\r\n System.out.println(); \r\n System.out.print(" ");\r\n System.out.print(" MP ");\r\n for(int y=MogMP;y0;y--) System.out.print("*");\r\n System.out.print(" "+MogMP);\r\n System.out.println();\r\n System.out.println("==================================");\r\n //胜利判定 \r\n if(YingxHP2MogMP2) MogDo = 2;\r\n else if(MogMP0) MogDo=2; \r\n if(Do==2MogMP==0) MogDo=0; \r\n if(Do==3MogMP=4) MogDo=3;}//变态判定。。 \r\n //战斗分析\r\n //防御 \r\n if(Do==3) {fangyu=1;System.out.println("你灵巧的躲避攻击!");}\r\n if(MogDo==1) {fangyu=1;System.out.println("恶龙进行防御!");}\r\n //角色判定 \r\n if(Do==1YingxMP==0) {System.out.println("MP不足!");}\r\n if(Do==1YingxMP0) {\r\n if(fangyu==0) {MogHP=MogHP-1;YingxMP=YingxMP-1;System.out.println("你发动攻击!");}\r\n if(fangyu==1) {YingxMP=YingxMP-1;System.out.println("你的攻击被格挡!");}} \r\n if(Do==2) {YingxMP=YingxMP+1;System.out.println("你进行蓄力!");}\r\n if(Do==4YingxMP2) {MogHP=MogHP-2;YingxMP=YingxMP-3;System.out.println("你发动重击!");}\r\n if(Do 4) System.out.println("你不知所措...");\r\n //敌人判定 \r\n if(MogDo==2MogMP==0) {System.out.println("恶龙在发呆!");}\r\n if(MogDo==2MogMP0) {\r\n if(fangyu==0) {YingxHP=YingxHP-2;MogMP=MogMP-1;System.out.println("恶龙发动攻击!");}\r\n if(fangyu==1) {MogMP=MogMP-1;System.out.println("恶龙的攻击被躲开了!");}} \r\n if(MogDo==0) {MogMP=MogMP+1;System.out.println("恶龙进行蓄力!");} \r\n if(MogDo==3MogMP3) {YingxHP=YingxHP-4;MogMP=MogMP-4;System.out.println("恶龙发动火焰吐吸!躲避不能!");} \r\n //结束 \r\n fangyu = 0;\r\n MogDo = 0;\r\n System.out.println("____________________");\r\n System.out.println();\r\n System.out.println("=================================="); }\r\n }\r\n}

求一段JAVA编写的贪吃蛇小程序源代码

用MVC方式实现的贪吃蛇游戏,共有4个类。运行GreedSnake运行即可。主要是观察者模式的使用,我已经添加了很多注释了。

1、

/*

* 程序名称:贪食蛇

* 原作者:BigF

* 修改者:algo

* 说明:我以前也用C写过这个程序,现在看到BigF用Java写的这个,发现虽然作者自称是Java的初学者,

* 但是明显编写程序的素养不错,程序结构写得很清晰,有些细微得地方也写得很简洁,一时兴起之

* 下,我认真解读了这个程序,发现数据和表现分开得很好,而我近日正在学习MVC设计模式,

* 因此尝试把程序得结构改了一下,用MVC模式来实现,对源程序得改动不多。

* 我同时也为程序增加了一些自己理解得注释,希望对大家阅读有帮助。

*/

package mvcTest;

/**

* @author WangYu

* @version 1.0

* Description:

* /pre

* Create on :Date :2005-6-13 Time:15:57:16

* LastModified:

* History:

*/

public class GreedSnake {

public static void main(String[] args) {

SnakeModel model = new SnakeModel(20,30);

SnakeControl control = new SnakeControl(model);

SnakeView view = new SnakeView(model,control);

//添加一个观察者,让view成为model的观察者

model.addObserver(view);

(new Thread(model)).start();

}

}

-------------------------------------------------------------

2、

package mvcTest;

//SnakeControl.java

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

/**

* MVC中的Controler,负责接收用户的操作,并把用户操作通知Model

*/

public class SnakeControl implements KeyListener{

SnakeModel model;

public SnakeControl(SnakeModel model){

this.model = model;

}

public void keyPressed(KeyEvent e) {

int keyCode = e.getKeyCode();

if (model.running){ // 运行状态下,处理的按键

switch (keyCode) {

case KeyEvent.VK_UP:

model.changeDirection(SnakeModel.UP);

break;

case KeyEvent.VK_DOWN:

model.changeDirection(SnakeModel.DOWN);

break;

case KeyEvent.VK_LEFT:

model.changeDirection(SnakeModel.LEFT);

break;

case KeyEvent.VK_RIGHT:

model.changeDirection(SnakeModel.RIGHT);

break;

case KeyEvent.VK_ADD:

case KeyEvent.VK_PAGE_UP:

model.speedUp();

break;

case KeyEvent.VK_SUBTRACT:

case KeyEvent.VK_PAGE_DOWN:

model.speedDown();

break;

case KeyEvent.VK_SPACE:

case KeyEvent.VK_P:

model.changePauseState();

break;

default:

}

}

// 任何情况下处理的按键,按键导致重新启动游戏

if (keyCode == KeyEvent.VK_R ||

keyCode == KeyEvent.VK_S ||

keyCode == KeyEvent.VK_ENTER) {

model.reset();

}

}

public void keyReleased(KeyEvent e) {

}

public void keyTyped(KeyEvent e) {

}

}

-------------------------------------------------------------

3、

/*

*

*/

package mvcTest;

/**

* 游戏的Model类,负责所有游戏相关数据及运行

* @author WangYu

* @version 1.0

* Description:

* /pre

* Create on :Date :2005-6-13 Time:15:58:33

* LastModified:

* History:

*/

//SnakeModel.java

import javax.swing.*;

import java.util.Arrays;

import java.util.LinkedList;

import java.util.Observable;

import java.util.Random;

/**

* 游戏的Model类,负责所有游戏相关数据及运行

*/

class SnakeModel extends Observable implements Runnable {

boolean[][] matrix; // 指示位置上有没蛇体或食物

LinkedList nodeArray = new LinkedList(); // 蛇体

Node food;

int maxX;

int maxY;

int direction = 2; // 蛇运行的方向

boolean running = false; // 运行状态

int timeInterval = 200; // 时间间隔,毫秒

double speedChangeRate = 0.75; // 每次得速度变化率

boolean paused = false; // 暂停标志

int score = 0; // 得分

int countMove = 0; // 吃到食物前移动的次数

// UP and DOWN should be even

// RIGHT and LEFT should be odd

public static final int UP = 2;

public static final int DOWN = 4;

public static final int LEFT = 1;

public static final int RIGHT = 3;

public SnakeModel( int maxX, int maxY) {

this.maxX = maxX;

this.maxY = maxY;

reset();

}

public void reset(){

direction = SnakeModel.UP; // 蛇运行的方向

timeInterval = 200; // 时间间隔,毫秒

paused = false; // 暂停标志

score = 0; // 得分

countMove = 0; // 吃到食物前移动的次数

// initial matirx, 全部清0

matrix = new boolean[maxX][];

for (int i = 0; i maxX; ++i) {

matrix[i] = new boolean[maxY];

Arrays.fill(matrix[i], false);

}

// initial the snake

// 初始化蛇体,如果横向位置超过20个,长度为10,否则为横向位置的一半

int initArrayLength = maxX 20 ? 10 : maxX / 2;

nodeArray.clear();

for (int i = 0; i initArrayLength; ++i) {

int x = maxX / 2 + i;//maxX被初始化为20

int y = maxY / 2; //maxY被初始化为30

//nodeArray[x,y]: [10,15]-[11,15]-[12,15]~~[20,15]

//默认的运行方向向上,所以游戏一开始nodeArray就变为:

// [10,14]-[10,15]-[11,15]-[12,15]~~[19,15]

nodeArray.addLast(new Node(x, y));

matrix[x][y] = true;

}

// 创建食物

food = createFood();

matrix[food.x][food.y] = true;

}

public void changeDirection(int newDirection) {

// 改变的方向不能与原来方向同向或反向

if (direction % 2 != newDirection % 2) {

direction = newDirection;

}

}

/**

* 运行一次

* @return

*/

public boolean moveOn() {

Node n = (Node) nodeArray.getFirst();

int x = n.x;

int y = n.y;

// 根据方向增减坐标值

switch (direction) {

case UP:

y--;

break;

case DOWN:

y++;

break;

case LEFT:

x--;

break;

case RIGHT:

x++;

break;

}

// 如果新坐标落在有效范围内,则进行处理

if ((0 = x x maxX) (0 = y y maxY)) {

if (matrix[x][y]) { // 如果新坐标的点上有东西(蛇体或者食物)

if (x == food.x y == food.y) { // 吃到食物,成功

nodeArray.addFirst(food); // 从蛇头赠长

// 分数规则,与移动改变方向的次数和速度两个元素有关

int scoreGet = (10000 - 200 * countMove) / timeInterval;

score += scoreGet 0 ? scoreGet : 10;

countMove = 0;

food = createFood(); // 创建新的食物

matrix[food.x][food.y] = true; // 设置食物所在位置

return true;

} else // 吃到蛇体自身,失败

return false;

} else { // 如果新坐标的点上没有东西(蛇体),移动蛇体

nodeArray.addFirst(new Node(x, y));

matrix[x][y] = true;

n = (Node) nodeArray.removeLast();

matrix[n.x][n.y] = false;

countMove++;

return true;

}

}

return false; // 触到边线,失败

}

public void run() {

running = true;

while (running) {

try {

Thread.sleep(timeInterval);

} catch (Exception e) {

break;

}

if (!paused) {

if (moveOn()) {

setChanged(); // Model通知View数据已经更新

notifyObservers();

} else {

JOptionPane.showMessageDialog(null,

"you failed",

"Game Over",

JOptionPane.INFORMATION_MESSAGE);

break;

}

}

}

running = false;

}

private Node createFood() {

int x = 0;

int y = 0;

// 随机获取一个有效区域内的与蛇体和食物不重叠的位置

do {

Random r = new Random();

x = r.nextInt(maxX);

y = r.nextInt(maxY);

} while (matrix[x][y]);

return new Node(x, y);

}

public void speedUp() {

timeInterval *= speedChangeRate;

}

public void speedDown() {

timeInterval /= speedChangeRate;

}

public void changePauseState() {

paused = !paused;

}

public String toString() {

String result = "";

for (int i = 0; i nodeArray.size(); ++i) {

Node n = (Node) nodeArray.get(i);

result += "[" + n.x + "," + n.y + "]";

}

return result;

}

}

class Node {

int x;

int y;

Node(int x, int y) {

this.x = x;

this.y = y;

}

}

------------------------------------------------------------

4、

package mvcTest;

//SnakeView.java

import javax.swing.*;

import java.awt.*;

import java.util.Iterator;

import java.util.LinkedList;

import java.util.Observable;

import java.util.Observer;

/**

* MVC模式中得Viewer,只负责对数据的显示,而不用理会游戏的控制逻辑

*/

public class SnakeView implements Observer {

SnakeControl control = null;

SnakeModel model = null;

JFrame mainFrame;

Canvas paintCanvas;

JLabel labelScore;

public static final int canvasWidth = 200;

public static final int canvasHeight = 300;

public static final int nodeWidth = 10;

public static final int nodeHeight = 10;

public SnakeView(SnakeModel model, SnakeControl control) {

this.model = model;

this.control = control;

mainFrame = new JFrame("GreedSnake");

Container cp = mainFrame.getContentPane();

// 创建顶部的分数显示

labelScore = new JLabel("Score:");

cp.add(labelScore, BorderLayout.NORTH);

// 创建中间的游戏显示区域

paintCanvas = new Canvas();

paintCanvas.setSize(canvasWidth + 1, canvasHeight + 1);

paintCanvas.addKeyListener(control);

cp.add(paintCanvas, BorderLayout.CENTER);

// 创建底下的帮助栏

JPanel panelButtom = new JPanel();

panelButtom.setLayout(new BorderLayout());

JLabel labelHelp;

labelHelp = new JLabel("PageUp, PageDown for speed;", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.NORTH);

labelHelp = new JLabel("ENTER or R or S for start;", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.CENTER);

labelHelp = new JLabel("SPACE or P for pause", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.SOUTH);

cp.add(panelButtom, BorderLayout.SOUTH);

mainFrame.addKeyListener(control);

mainFrame.pack();

mainFrame.setResizable(false);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setVisible(true);

}

void repaint() {

Graphics g = paintCanvas.getGraphics();

//draw background

g.setColor(Color.WHITE);

g.fillRect(0, 0, canvasWidth, canvasHeight);

// draw the snake

g.setColor(Color.BLACK);

LinkedList na = model.nodeArray;

Iterator it = na.iterator();

while (it.hasNext()) {

Node n = (Node) it.next();

drawNode(g, n);

}

// draw the food

g.setColor(Color.RED);

Node n = model.food;

drawNode(g, n);

updateScore();

}

private void drawNode(Graphics g, Node n) {

g.fillRect(n.x * nodeWidth,

n.y * nodeHeight,

nodeWidth - 1,

nodeHeight - 1);

}

public void updateScore() {

String s = "Score: " + model.score;

labelScore.setText(s);

}

public void update(Observable o, Object arg) {

repaint();

}

}

希望采纳

什么是java小程序

简单的说java是一种面向对象的编程语言,可以编写各种应用程序以及游戏。

java分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。

手机用到的是用j2me所编出来的小程序,一般网站上都有编好的java游戏,电子书以及各种小程序,每个java小程序都有.jar和.jad两个文件,因为没用过tcl得手机,所以不太清楚是不是两个都需要传到手机里。

正常的是下载到电脑后先把.jar的文件传到手机里就可以直接用了,个别手机还需把.jad的文件也传进去。

JAVA介绍

一、前言

『Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多 媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW)地位就如同电子表格(Spreadsheet)与个人计 算机(PC)的关系。那Java究竟有那些特色呢?

Java是一种软件技术

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

是一种为 Internet发展的计算机语言

是一种使网页(Web Page)产生生动活泼画面的语言

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

是一种语言,用以产生「小应用程序(Applet(s))」

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

是一种将安全性(Security)列为第一优先考虑的语言

是一种使用者不需花费很多时间学习的语言

是一种突破用户端机器环境和CPU结构的语言

是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言是有史以来,第一套允 使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器 上(LocalMachine)并执行

是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW- UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。

下面将依序地介绍Java,首先是Java的发展历史与Java语言介绍,其次依序是Java Applet和HotJava的简单介绍。

二、Java FAQ

下面以问答的方式来说明Java的发展历史与其背景(下列内容整理自 Java FAQ list and Tutorial和The Java Language: A White Paper,读者若欲深 入了解,请自行参阅原文):

Java何时开始发展?(When)

最早大概可追溯至1991年四月份,Sun的绿色计划(Green Project)开始着手于发展消费性电子产品(Consumer Electronics),所使用的语言是C、C++、及Oak (为Java语 言的前身),后因语言本身和市场的问题, 使得消费性电子产品的发展无法达到当初 预期的目标,再加上网络的兴起, 绿色计划也因此而改变发展的方向,这已是1994 年了。

为何称之为Java?(Why) "Java"是美国SUN计算机公司Java发展小组历经无数次的激烈讨论之后才被选择出。 生动(Liveliness)、动画(Animation)、速度(Speed)、交互性(Interactivity)为当 初选择名字时所欲表达出的特色。"Java"是在无数的建议中脱颖而出的,而"Java" 不是由几个单字的首字所组成, 而是从许多程序设计师钟爱的热腾腾、香浓咖啡中 产生灵感的。

谁开发了Java?(Who) Java是美国SUN计算机公司Java发展小组开发的,早期的成员(绿色工程)是Patrick Naughton, James Gosling, Mike Sheridan,而现在大家较为熟悉的成员是James Gosling。

在那里开发了Java?(Where)

也就是问Java的出生地?答案是美国。

如何可以找到所需的Java信息?(How to)

在网路上,您可以连到Sun公司的Java WWW网站,URL是,或是 。在那里几乎可以找到您所需要的所有Java信息,但是语 言多少是一个障碍, 至少对某些人而言;没关系,目前国内已有很多个网站提供中文 Java信息。在清华和中科院的FTP站点上有不少有关资料。想象以后应会有更多的站点提供相关信息。

如何才能看到Java的效果?(How Do I)

首先您需要有含有Java解释器的浏览器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava浏览器,对个人计算机使用者而言,操作 系统需是Windows 95或是Windows NT。

Java是因为撰写C++语言程序时的困难而研制开的,起先,只是一个消费性电子产品 大计划中的一部份,C++语言是当初被考虑采用的,但从一开始的编译问题一直到最 后的一连串问题迫使得放弃C++语言,而有Java语言的产生。Sun是要Java成为一个简 单(Simple)、面向对象的(Object Oriented)、 分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、 结构中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多线程的(Multithreaded)、动态的(Dynamic)的程序语言(摘译自 TheJava Language: A White Paper, 1995)。

在Sun的Java语言白皮书中明白地说明上述Java语言的技巧。若以木工为比喻,一个面 向对象的木工,他(她)最主要的重点是即将要做的木椅子,其次才是所需要的工具; 反之;一个以非面向对象的木工,他(她)所关心的只是工具。最近的即插即用(Plug and Play)亦是面向对象设计的重点。 分布式的(Distributed):Java有一个很周全的程薪录JAVA介绍 。

一、

『Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和 多媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW)地位就如同电子表格(Spreadsheet)与个人计 算机TTP和FTP等TCP/IP通讯协定相配合。Java应用程序(Applications) 能在网路上开启及连结使用物件,就如同透过URLs连结使用一个本地文件系统(Local File System)。 健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。Java与 C/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting Memory)和毁损数据(Corrupting Data)的可能性。

安全的(Secure):Java是被设计用于网络及分布式的环境中,安全性自必是一个很 重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病 毒的侵入和破坏行为的发生。

结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所 组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以 在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标 文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。

可移植的(Portable):原始资料型式的大小是被指定的,例如"float"一直是表示一 个32位元IEEE 754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于 系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。

解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes), 因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。

高效能的(High Performance):Java位元码迅速地能被转换成机器码(Machine Code), 从位元码转换到机器码的效能几乎与C与C++没有分别。

多线程的(Multi threaded):Java语言具有多线程的功能,这对于交互回应能力及 即时执行行为是有帮助的。

动态的(Dynamic):Java比C或C++语言更具有动态性,更能适应时刻在变的环境, Java不会因程序库的更新,而必须重新编译程序。

此外,Hank Shiffman (Making Sense of Java)亦针一般对Java的错误看法及观 念提出他的说明,特在此摘译如下:

"Java是一种编写Web Pages的一种语言,就如同HTML和VRML一样" 事实上,Java并不像是HTML此一类的描述语言(Description Language),而是一种 编程语言(Programming Language)。描述语言标明内容和位置,而编程语言描述一 种产生结果的过程。

2. "Java语言容易学习和使用,不像C、C++和其它程序语言"

Java是一种编程语言。Java容易学吗?Java或许是比C或C++容易学,但仍是一种编程语言,而不是一种描述语言。

3. "Java码是可移植的,但C及C++不是"

Java原代码(Source Code)是比C语言来得可移植一点,差别在于Java的目标码。 Java码在一种机器上进行编译,而能在所有的机器上执行, 只要那部机器上有 Java解释器。

4. "Java能被拓展而在机器上执行任何事情"

理论上,Java Applet (Java小应用程序)能做任何事情,如模拟3D VRML模型、播放电影、产生音频....等。但事实上,一个小应用程序(Applet)仅能在那一页上被执行,而无法在那一页之外执行。同时,Java亦受限于程序库的功能。

5. "Java是适合于建立大型的应用程序"

如果Java适合于大型程序,则Java就不适合应用于Web浏览器了。第一个商业 性的Java Applets (Applix's Java-Based Spreadsheet) 并不是全然使用Java, 它只使用Java作为用户接口,而所有的处理工作, 是用CGI码。

6. "Java是解释执行的,Basic是解释执行的,因此Java=Basic"

虽然Java的确是使用解释器,但事实上,Java则与C或C++等完全编译语言较为相近,但与Basic或APL等完全解译语言较不相近。

7. "Java删除了CGI命令稿(Scripts)和程序的需求"

Java Applets将会取代部份CGI的用途。在有些情况,Java Applets能够取代一些服务器端代码(Server-Side Code),但大多数的情况,基于安全性理由或是效 能的考虑,Java仍无法全然取代CGI Scripts。

8. "Netscape's JavaScript是与Java有相关"

除了名称之外,Java和JavaScript是有一点点相关。JavaScript是一种命令稿语 言,是可以在HTML页中使用。Java码并未出现在HTML中,而在HTML中通过一个链 结来链结编译码组。Java和JavaScript之间的关系就如同C语言和C Shell一般。

求一java小程序,,像计算器,小游戏,或者什么的。

public class Test {

double result = 0;

boolean start = true;

String lastCommand = "+";// 最终的符号

Font font = new Font(null, Font.PLAIN, 25);

Font font2 = new Font(null, Font.PLAIN, 20);

JFrame frame = new JFrame("简易计算器");

JPanel panel1 = new JPanel();

JPanel panel2 = new JPanel();

JPanel panel3 = new JPanel();

JPanel panel4 = new JPanel();

JPanel panel5 = new JPanel();

JTextField text = new JTextField("");

JButton b0 = new JButton("0");

JButton b1 = new JButton("1");

JButton b2 = new JButton("2");

JButton b3 = new JButton("3");

JButton b4 = new JButton("4");

JButton b5 = new JButton("5");

JButton b6 = new JButton("6");

JButton b7 = new JButton("7");

JButton b8 = new JButton("8");

JButton b9 = new JButton("9");

JButton a1 = new JButton("+");

JButton a2 = new JButton("-");

JButton a3 = new JButton("*");

JButton a4 = new JButton("/");

JButton a5 = new JButton("=");

JButton a6 = new JButton(".");

JButton a7 = new JButton("清零");

JButton a8 = new JButton("取消");

JButton a9 = new JButton("sqrt");

JButton a10 = new JButton("+/-");

public void set() {

frame.setSize(400, 350);

frame.setLayout(new GridLayout(5, 1, 2, 2));

panel1.setBackground(Color.black);

panel2.setBackground(Color.red);

panel3.setBackground(Color.blue);

panel4.setBackground(Color.green);

panel5.setBackground(Color.yellow);

panel1.setLayout(new BorderLayout());

panel1.add(text, "Center");

panel2.setLayout(new GridLayout(1, 5, 1, 1));

panel3.setLayout(new GridLayout(1, 5, 1, 1));

panel4.setLayout(new GridLayout(1, 5, 1, 1));

panel5.setLayout(new GridLayout(1, 5, 1, 1));

text.setHorizontalAlignment(JTextField.RIGHT);

b0.setFont(font);

b1.setFont(font);

b2.setFont(font);

b3.setFont(font);

b4.setFont(font);

b5.setFont(font);

b6.setFont(font);

b7.setFont(font);

b8.setFont(font);

b9.setFont(font);

a1.setFont(font);

a2.setFont(font);

a3.setFont(font);

a4.setFont(font);

a5.setFont(font);

a6.setFont(font);

a7.setFont(font2);

a8.setFont(font2);

a9.setFont(font);

a10.setFont(font);

frame.setVisible(true);

}

public void addComponent() {

panel2.add(b7);

panel2.add(b8);

panel2.add(b9);

panel2.add(a4);

panel2.add(a7);

panel3.add(b4);

panel3.add(b5);

panel3.add(b6);

panel3.add(a3);

panel3.add(a8);

panel4.add(b1);

panel4.add(b2);

panel4.add(b3);

panel4.add(a2);

panel4.add(a9);

panel5.add(b0);

panel5.add(a10);

panel5.add(a6);

panel5.add(a1);

panel5.add(a5);

frame.add(panel1);

frame.add(panel2);

frame.add(panel3);

frame.add(panel4);

frame.add(panel5);

}

public void addListener() {

b0.addActionListener(new InsertAction());

b1.addActionListener(new InsertAction());

b2.addActionListener(new InsertAction());

b3.addActionListener(new InsertAction());

b4.addActionListener(new InsertAction());

b5.addActionListener(new InsertAction());

b6.addActionListener(new InsertAction());

b7.addActionListener(new InsertAction());

b8.addActionListener(new InsertAction());

b9.addActionListener(new InsertAction());

a1.addActionListener(new CommandAction());

a2.addActionListener(new CommandAction());

a3.addActionListener(new CommandAction());

a4.addActionListener(new CommandAction());

a5.addActionListener(new CommandAction());

a6.addActionListener(new InsertAction());

a7.addActionListener(new InsertAction());

a8.addActionListener(new InsertAction());

a9.addActionListener(new CommandAction());

a10.addActionListener(new InsertAction());

}

public void go() {

this.set();

this.addComponent();

this.addListener();

}

class InsertAction implements ActionListener {

public void actionPerformed(ActionEvent event1) {

String input = event1.getActionCommand();

if (start) {

text.setText("");

start = false;

if (input.equals("+/-"))

text.setText(text.getText() + "-");

}

if (!input.equals("+/-")) {

if (input.equals("取消")) {

String str = text.getText();

if (str.length() 0)

text.setText(str.substring(0, str.length() - 1));

} else if (input.equals("清零")) {

text.setText("0");

lastCommand = "+";

start = true;

result = 0;

} else

text.setText(text.getText() + input);

}

}

}

class CommandAction implements ActionListener {

public void actionPerformed(ActionEvent event2) {

String command = event2.getActionCommand();

if (start) {

lastCommand = command;

} else { // Double data=new Double(text.getText());

calculator(Double.parseDouble(text.getText()));

lastCommand = command;

start = true;

}

}

}

public void calculator(double x) {

if (lastCommand.equals("+"))

result += x;

else if (lastCommand.equals("-"))

result -= x;

else if (lastCommand.equals("*"))

result *= x;

else if (lastCommand.equals("/"))

result /= x;

else if (lastCommand.equals("="))

result = x;

else if (lastCommand.equals("sqrt"))

result = Math.sqrt(x);

text.setText("" + result);

}

public static void main(String[] args) {

Test a = new Test();

a.go();

}

}

关于java游戏小程序和java小游戏代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-12 14:04:53
收藏
分享
海报
45
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了