java 能做什么小游戏,JAVA可以做什么
很多朋友对于java 能做什么小游戏和JAVA可以做什么不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
JAVA可以做什么
1.安卓程序
如果你想看看Java程序是在哪里使用到的,也不难。打开安卓手机,点开任何一个程序他们其实都是使用Java语言编写,通过调用谷歌的安卓API(类似之前的JDK,但是安卓为开发人员提供了更多的特性)来实现的。顺便说一下,安卓程序使用不同的JVM,打包方式也不一样(详见我们之前的文章, how Android app works)。但是确实是Java语言编写的。
2.金融服务业服务器端应用
在金融服务业Java应用非常多。很多投行,像高盛,花旗,巴克莱,渣打银行都使用Java来编写前后端交易软件,结算和确认系统,数据处理系统等等。Java程序大多都用于编写服务端程序,没有前端,处理数据交互。之前Java Swing对于创建大型交易程序的前端很在行,但是现在C#的市场份额快速增长,JavaSwing风头不再。
3.Java网页程序
Java在电子商务网站应用上也是重头戏。有很多应用是由Spring MVC,Struts 2.0或者类似的框架搭建起来的。各种政府的项目中,各种简单的基于Servlet,JSP,或者Struts的网站应用也很流行。很多政府网站,健康机构,保险,教育,安全等领域的网站都是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 能做什么小游戏的信息别忘了在本站进行查找哦。