首页编程java编程java 能做什么小游戏,JAVA可以做什么

java 能做什么小游戏,JAVA可以做什么

编程之家2023-10-1292次浏览

很多朋友对于java 能做什么小游戏和JAVA可以做什么不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

java 能做什么小游戏,JAVA可以做什么

JAVA可以做什么

1.安卓程序

如果你想看看Java程序是在哪里使用到的,也不难。打开安卓手机,点开任何一个程序他们其实都是使用Java语言编写,通过调用谷歌的安卓API(类似之前的JDK,但是安卓为开发人员提供了更多的特性)来实现的。顺便说一下,安卓程序使用不同的JVM,打包方式也不一样(详见我们之前的文章, how Android app works)。但是确实是Java语言编写的。

2.金融服务业服务器端应用

java 能做什么小游戏,JAVA可以做什么

在金融服务业Java应用非常多。很多投行,像高盛,花旗,巴克莱,渣打银行都使用Java来编写前后端交易软件,结算和确认系统,数据处理系统等等。Java程序大多都用于编写服务端程序,没有前端,处理数据交互。之前Java Swing对于创建大型交易程序的前端很在行,但是现在C#的市场份额快速增长,JavaSwing风头不再。

3.Java网页程序

Java在电子商务网站应用上也是重头戏。有很多应用是由Spring MVC,Struts 2.0或者类似的框架搭建起来的。各种政府的项目中,各种简单的基于Servlet,JSP,或者Struts的网站应用也很流行。很多政府网站,健康机构,保险,教育,安全等领域的网站都是Java编写的。

java 能做什么小游戏,JAVA可以做什么

4.软件工具

很多好用的开发工具是由Java编写的。比如Eclipse,InetelliJ Ide和Netbeans IDE.我认为这几个是最常用的基于Java的桌面程序。尽管Swing一度在金融行业和投资银行写客户端很流行,但是如今Java FX越来越流行,尽管还不能完全替代Swing。C#目前几乎将金融行业的Swing应用全部代替了。

5.交易应用

第三方交易系统,也是金融服务行业的一大组成部分,也是用Java.比较流行的像银行间互联的软件Murex这种应用也是用Java编写的。

6.J2ME应用

尽管iOS和安卓差点将J2ME市场灭掉,在诺基亚和三星手持设备中J2ME依然有很多应用。曾经一度安卓上几乎所有的程序都是由MIDP和CLDC写的,这两者是J2ME平台的一部分。J2ME现在仍然流行于蓝光碟,卡应用,机顶盒等。WhatsApp之所以流行的原因之一也是它在诺基亚上用J2ME也开发了一个版本。这个版本也有很多人在使用。

7.嵌入式领域

嵌入式领域Java也有很多使用。这展现了这个平台的兼容性。你只需要130K的空间就可以使用Java技术了。最开始Java就是为嵌入式设备设计的。事实上,这个领域正像Java设计初衷“一处编译,多处运行”一样,嵌入式这块正在不断发展。

8.大数据技术

Hadoop还有其他大数据技术都是使用了Java。例如Apache的基于Java的HBase和Accumulo项目,ElasticSearch也是。尽管Java不是这个领域的领先者,因为有像使用C++编写的MongoDB这种项目在。但是如果hadoop和ElasticSearch越来越强大,Java在这个领域也会越走越远。

9.高频交易领域

Java平台已经很大的提升了性能,通过使用JITs技术,他的传递效率可以和C++媲美。这是这个原因,Java被用在了很多高频交易领域。尽管速度和其他语言略微逊色,但是相对C++它可以提供高效,安全的使用。

10.科研领域

如今科研领域基本上默认使用Java,包括自然语言处理。因为Java语言比C++和其他语言更加安全高效。

java做一些小游戏需要学什么

Java做这些小游戏,可以使用下面几种Java自带的图形界面框架

Awt适合内存较小,配置较低的嵌入式系统等,组件较少,性能好,资源消耗低.

Swing适合PC等,组件较丰富,内存占用较大,但是跨平台性优越

JavaFX这个是比较强大的框架了,组件比Swing更丰富,比如添加了日期选择组件, WebView组件,还支持3D和动画.并且多多媒体支持良好.但是相关资料比Swing等少

既然学过Java Web那么对网页编程还是有了解吧, HTML+CSS+JS也可以开发出小游戏,浏览器可以显示,放入JavaFX的WebView组件也可以显示出来

推荐使用JavaFX或者 Web,因为这两者都很好做到了分离. JavaFX也可以分离出FXML文件,CSS文件,Java文件.当然也可以采用最稳妥的Swing来开发,毕竟Swing的图书教程很多.

推荐书籍

<Java 2D游戏编程入门><Java游戏编程原理与实践教程>

<JavaFX游戏程式设计第三版>

其实游戏算法都一样,在Swing上好了弄透彻了,也可以轻松移植到JavaFX或者网页上

用java开发小游戏

我给你个华容道的游戏参照下吧。可以自己照着做下。多看例子想想就行了。

找个游戏做的不好,不要笑话啊。

import java.awt.*;

import javax.swing.JApplet.*;

import java.awt.event.*;

import javax.swing.*;

class People extends JButton implements FocusListener

{

Rectangle rect=null;

int left_x,left_y;//按钮左上角坐标.

int width,height;//按钮的宽和高.

String name;

int number;

public People(int number,String s,int x,int y,int w,int h,HuaRongRoad road)

{

super(s);

name=s;

this.number=number;

left_x=x;

left_y=y;

width=w;

height=h;

setBackground(Color.GREEN);

road.add(this);

addKeyListener(road);

setBounds(x,y,w,h);

addFocusListener(this);

rect=new Rectangle(x,y,w,h);

}

public void focusGained(FocusEvent e)

{

setBackground(Color.red);

}

public void focusLost(FocusEvent e)

{

setBackground(Color.GREEN);

}

}

public class HuaRongRoad extends JApplet implements KeyListener,ActionListener

{

People people[]=new People[10];

Rectangle left,right,above,below;//华容道的边界

JButton restart=new JButton("restart");

public void init()

{

getContentPane().setLayout(null);

getContentPane().add(restart);

restart.setBounds(5,5,80,25);

restart.addActionListener(this);

getContentPane().setBackground(Color.white);

people[0]=new People(0,"曹操",154,54,200,200,this);

people[1]=new People(1,"关羽",154,254,200,100,this);

people[2]=new People(2,"张飞",54,254,100,200,this);

people[3]=new People(3,"刘备",354,254,100,200,this);

people[4]=new People(4,"张辽",54,54,100,200,this);

people[5]=new People(5,"曹仁",354,54,100,200,this);

people[6]=new People(6,"兵",54,454,100,100,this);

people[7]=new People(7,"兵",354,454,100,100,this);

people[8]=new People(8,"兵",154,354,100,100,this);

people[9]=new People(9,"兵",254,354,100,100,this);

people[9].requestFocus();

people[0].setForeground(Color.white);

left=new Rectangle(49,49,5,510);

right=new Rectangle(454,49,5,510);

above=new Rectangle(49,49,410,5);

below=new Rectangle(49,554,410,5);

}

public void paint(Graphics g)

{//华容道的边界

super.paint(g);

g.setColor(Color.cyan);

g.fillRect(49,49,5,510);

g.fillRect(454,49,5,510);

g.fillRect(49,49,410,5);

g.fillRect(49,554,410,5);

//

g.drawString("单击,按方向箭头移动",100,20);

g.setColor(Color.red);

g.drawString("曹操到达该位置",110,300);

}

public void keyPressed(KeyEvent e)

{

People man=(People)e.getSource();

man.rect.setLocation(man.getBounds().x,man.getBounds().y);

if(e.getKeyCode()==KeyEvent.VK_DOWN)

{

man.left_y=man.left_y+100;//向下前进50个单位

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

//判断是否和其他人或边界重叠,出现就退回50个单位

for(int i=0;i<10;i++)

{

if((man.rect.intersects(people[i].rect))&&(man.number!=i))

{

man.left_y=man.left_y-100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

if(man.rect.intersects(below))

{

man.left_y=man.left_y-100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

if(e.getKeyCode()==KeyEvent.VK_UP)

{

man.left_y=man.left_y-100;//向上前进50个单位

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

//判断是否和其他人或边界重叠,出现就退回50个单位

for(int i=0;i<10;i++)

{

if((man.rect.intersects(people[i].rect))&&(man.number!=i))

{

man.left_y=man.left_y+100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

if(man.rect.intersects(above))

{

man.left_y=man.left_y+100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

if(e.getKeyCode()==KeyEvent.VK_LEFT)

{

man.left_x=man.left_x-100;//向左前进50个单位

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

//判断是否和其他人或边界重叠,出现就退回50个单位

for(int i=0;i<10;i++)

{

if((man.rect.intersects(people[i].rect))&&(man.number!=i))

{

man.left_x=man.left_x+100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

if(man.rect.intersects(left))

{

man.left_x=man.left_x+100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

if(e.getKeyCode()==KeyEvent.VK_RIGHT)

{

man.left_x=man.left_x+100;//向右进50个单位

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

//判断是否和其他人或边界重叠,出现就退回50个单位

for(int i=0;i<10;i++)

{

if((man.rect.intersects(people[i].rect))&&(man.number!=i))

{

man.left_x=man.left_x-100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

if(man.rect.intersects(right))

{

man.left_x=man.left_x-100;

man.setLocation(man.left_x,man.left_y);

man.rect.setLocation(man.left_x,man.left_y);

}

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

public void actionPerformed(ActionEvent e)

{

getContentPane().removeAll();

this.init();

}

}

java 能做什么小游戏的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVA可以做什么、java 能做什么小游戏的信息别忘了在本站进行查找哦。

崛起的意思(崛的意思)java ioexception有什么用?JAVA书中写的throws IOException什么意思