java飞机大战心得体会
    【导语】下面是作者帮大家整理的java飞机大战心得体会(共16篇),希望对大家有所帮助。
    篇1:java飞机大战心得体会
    1.首先有玩家类,窗口类,主函数类和图片文件()
    2.然后是先行知识,创建窗口(JFrame),设置窗口属性;窗口上不能直接添加组件(键盘监听等),所以先在窗口上添加容器(Jpanel),将组件(KeyAdapter)添加到容器;
    3.画出玩家:重写窗口类中的paintponent方法,创建Graphics对象,调用drawImage方法可画图,调用drawString方法可标注其名字
    4.移动:在窗口类中创建键盘监听抽象类KeyAdapter(实现了接口的部分方法但无具体操作),需要重写该类的Keypressed方法和KeyRleased方法,赋给按键变量真值,随后将该对象添加到窗口
    5.随机生成初始坐标:在开始游戏后随机给定玩家的x、y坐标,创建Random对象,调用(n)方法,n代表从[0,n)区间的随机值。
    6.最后通过一个(匿名内部类对象,指定延迟后开始,周期)方法来实现移动效果。匿名内部类【TimerTask的子类,重写了run方法,包括repaint方法(实则调用paintponent)和yidong方法】来重画、监听键盘的指令并作出相应动作
    下面是源代码(有注释):
    容器类
    package a;
    import ._;
    import ._;
    import .;
    import .;
    import ;
    import ;
    import ;
    import static ;
    //新建面板
    public class War extends JPanel {
    private Timer timer;
    private boolean sUp, sDown, sRight, sLeft;//右飞机按键变量
    private boolean sW, sD, sS, sA;//左飞机按键变量
    private Player1 player1 = new Player1();
    private Player2 player2 = new Player2();
    private ImageIcon img11 = ;
    private ImageIcon img22 = ;
    Override
    protected void paintponent(Graphics g) {
    (g);//此句调用父类方法进行界面重绘,恢复到某个界面,下面的步骤再画玩家;如果注释掉会有重影
    //在面板上画出玩家
    ((), , , 100, 100, this);
    (“P1”, , );
    ((), , , 100, 100, this);
    (“P2”, , );
    }
    public void startGame() {
    timer = new Timer();
    (new TimerTask() {//匿名内部类(TimerTask的子类)
    Override
    public void run() {//重写run()函数
    repaint();//调用重写的paintponent来画两飞机
    yidong();//并每次判断按下哪个键,然后移动
    }
    }, 0, 50);//安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。50毫秒执行一次
    }
    public void yidong() {
    //因为每打印一次可能用户按下一个飞机的几个键或者两个飞机的几个键,这些是都要检测到的,改成elseif后只能检测到一个键,无法实现两架飞机同时多方向移动
    if (sW &&  >0) {
    -= ;
    }
    if (sA &&  >0) {
    -= ;
    }
    if (sS &&  第三次作业:掌握java的类的使用及多种方法的使用,用new操作来创建一个类
的对象,从而用对象去调用类的功能方法。这些都是一次一次递进的,每次作业完成后都会离真正的java更近一步,也能慢慢体会面向对象程序设计的特点。
    (2).如何通过作业逐步从面向过程过渡到面向对象
    作业通过一些具体要求,让我们学习java的用法。第一次作业,就从输入输出感受到了面向过程与面向对象的差别,第二次作业就学习到了方法的用法,第三次作业,就了解到了java里的类与方法,这些都是作业提供的从面向过程到面向对象的过渡。
    (3).作业过程中遇到的问题及解决方法
    问题1:作业一中的判断三角形类型中的判断等腰直角三角形测试点过不去
    解决方法:试了很多组数据,发现有的数据与预想的不一样,原来计算机有精度要求,而等腰直角三角形的两直角边都是无理数,不能轻易用勾股定理判断,要用精度去规范判断等腰直角三角形。
    java编程是极其严谨的,不容一丝差错,宁可牺牲其灵活性也要保证其稳定性。有一次我
在java编译器里将类的名字命名为Test,结果一直报错,而程序又不出错误,想破脑袋也想不明白,后来请教别人,被某位碰到过相似问题的仁兄一语道破,原来java类里面已经隐含定义了Test类,我们又定义一次会让编译器错乱,最后我把类名改了,果然可以运行了。真是一招不慎,满盘皆输。失之毫厘,差之千里,任何标点符号都不能出错。
socket编程实验的心得体会
    篇14:java培训班心得体会
    大学生活让我对计算机理论知识有了一定的了解,但实践出真知,唯有把理论与实践相结合,才能更好地增加自己的竞争力。实践也是大学生学习知识、锻炼才干的有效途径。
    本次毕业实习我主要是做一个登录系统,从中学习一下Java开发和SQL的技术运用,因此选择了石家庄志诚软件公司。Java和SQLServer作为开发工具都有它们各自的特点,下面是我学习两周Java后对Java的一些认识。
    Java语言的优点主要表现在简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。
    1、Java语言是简单的
    Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
    2、Java语言是一个面向对象的
    Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
    3、Java语言是分布式的
    Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
    4、Java语言是健壮的
    Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
    篇15:java培训心得体会
    java培训心得体会在现在这个科技飞速发展的时代,计算机已经悄然走进我们的生活,并且占据了不可动摇与替代的地位,无论是在工作还是生活,学习还是娱乐中,当我们意识到的时候,却突然发现我们已经离不开这个叫做“电脑”的机器了。
    既然我们要时刻与电脑打交道,那就像人际交往一样,交流是必不可少的,所以计算机语言应运而生,而java作为一种简单、安全、容易使用、面向兑现、可移植、高性能、多线程的计算机高级语言,受到人们的青睐也是理所当然的了。
    在很多人看来,计算机很复杂,有数不清的代码和程序,可以完成各种各样的任务,功能千变万化,要掌握它是一件难比登天的任务,其实不然。计算机这种复杂性,完全是人赋予的,计算机只是单纯的按照人的指令去完成我们想要完成的事情,从这方面看,计算机是简
单的,复杂的只是人们要对它说的`话而已。其实计算机正像吴老师所说:“相比与人,我更喜欢和计算机打交道,因为它必须要完成人的指令,而不能有丝毫抗拒。”

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。