版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、哈尔滨理工大学管理学院信息系实习报告 班级 信息13-4 姓名 赵军 学号 1306040428 2016年 7月 15日 一、实习目的及意义进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,巩固大学所学专业的基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。二、实习任务实习期间,通过学习一个简单的Java程序飞机大战,了解和
2、掌握Java编程的基础,如构造器、API接口等。最后可以独立完成一个小程序。三、实习语言Java的特点Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2、Java语言是一个面向对象的Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全
3、面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3、Java语言是分布式的Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4、Java语言是健壮的Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5、
4、Java语言是安全的Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。6、Java语言是体系结构中立的Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7、Ja
5、va语言是可移植的这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。8、Java是高性能的与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。9、Java语言是多线程的在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了R
6、unnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。10、Java语言是动态的Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的
7、表示,能进行运行时刻的类型检查。 四、实习时间 2016年7月12日7月15日五、实习地点哈尔滨达内科技有限公司。六、实习公司简介达内全称达内时代科技集团有限公司,是中国高端IT培训的领先品牌,致力于培养面向电信和金融领域的Java、C+、C#/.Net、软件测试、嵌入式、PHP、android等方面的中高端软件人才。由于达内优秀的教学效果和行业领先的经营模式赢得了社会各界的广泛赞誉和好评,荣获了各界权威机构的颁奖:达内成为业界唯一的一家2006、2007、2008、2009连续4年入选德勤评选的 “中国高科技高成长50强公司”、“亚太地区高科技高成长500强公司”,获得首届中国留学人才归国创
8、业“腾飞”奖、中关村管理委员会指定的“软件人才培养示范基地”、被计算机世界评选的“就业服务杰出贡献奖”、被中国计算机报评选的“最具影响力培训机构奖”、被搜狐评为“中国十大教育集团”、被腾讯评为“中国大学生心目中最具影响力的IT品牌”。7、 实习成果部分代码展示:Games:import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.JFrame;public class Games extends JFrameWorld w = new World();public Games() thi
9、s.setSize(320, 480+30);this.setTitle("飞机大战");this.setLocationRelativeTo(null);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setResizable(false);this.add(w);this.setVisible(true);Thread t = new Thread(w);t.start();this.addKeyListener(new KeyAdapter()Overridepublic void keyPressed(KeyEve
10、nt e) switch(e.getKeyCode()case KeyEvent.VK_LEFT:w.plane.left=true;break;case KeyEvent.VK_UP:w.plane.up=true;break;case KeyEvent.VK_RIGHT:w.plane.right=true;break;case KeyEvent.VK_DOWN:w.plane.down=true;break;Overridepublic void keyReleased(KeyEvent e) switch(e.getKeyCode()case KeyEvent.VK_LEFT:w.pl
11、ane.left=false;break;case KeyEvent.VK_UP:w.plane.up=false;break;case KeyEvent.VK_RIGHT:w.plane.right=false;break;case KeyEvent.VK_DOWN:w.plane.down=false;break;);public static void main(String args) Games games = new Games();World:import java.awt.Color;import java.awt.Font;import java.awt.Graphics;i
12、mport java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import java.util.Vector;import javax.imageio.ImageIO;import javax.swing.JPanel;public class World extends JPanel implements RunnableMap map = new Map();/创建地图Plane plane = new Plane();Vector<Bullet> bullets =
13、new Vector<Bullet>();int BulletCount = 0;int BulletStep = 8;Vector<Npc> npcs= new Vector<Npc>();int npcCount =0;int npcStep =50;Vector<NpcBullet> nbs = new Vector<NpcBullet>();/随机数Random r = new Random();public static int Score;public static final int START =0;public st
14、atic final int RUNNING=1;public static final int GAME_OVER =2;public int status;BufferedImage start;BufferedImage game_over;public World() try start = ImageIO.read(getClass().getResource("imgs/start.png");game_over = ImageIO.read(getClass().getResource("imgs/gameover.png"); catch
15、 (IOException e) / TODO Auto-generated catch blocke.printStackTrace();/初始状态status = RUNNING;/绘制Overridepublic void paint(Graphics g) /绘制地图map.paint(g);g.setColor(Color.red);g.drawRect(200, 12, 100, 15);int value = 100-plane.hitcount*10;if(value<0)value = 0;g.fillRect(200, 12, value, 15);/积分g.setC
16、olor(Color.white);Font f = new Font(Font.SANS_SERIF,Font.ITALIC|Font.BOLD,14);g.setFont(f);g.drawString(Score*100+"分", 10, 30);switch (status) case START:/绘制飞机plane.paint(g);g.drawImage(start, 160-start.getWidth()/2, 200, this);break;case RUNNING:/绘制飞机plane.paint(g);for(int i =0;i<bulle
17、ts.size();i+)bullets.get(i).paint(g);for(int i =0;i<npcs.size();i+)npcs.get(i).paint(g);for(int i =0;i<nbs.size();i+)nbs.get(i).paint(g);break;case GAME_OVER:g.drawImage(game_over, 160-game_over.getWidth()/2, 200, this);break;default:break;/多线程Overridepublic void run() while(true)map.move();sw
18、itch (status) case START:break;case RUNNING:plane.move();addBullet();for(int i =0;i<bullets.size();i+)bullets.get(i).move(bullets,npcs);addNpc();for(int i =0;i<npcs.size();i+)npcs.get(i).move(npcs,nbs,plane);for(int i =0;i<nbs.size();i+)nbs.get(i).move(plane,nbs);try Thread.sleep(1000/60);
19、catch (InterruptedException e) e.printStackTrace();repaint();break;case GAME_OVER:break;default:break;void addBullet()BulletCount+;if(BulletCount % BulletStep=0)if(plane.level=1)Bullet b = new Bullet();b.x = plane.x+plane.w/2-b.w/2;b.y = plane.y-b.y;bullets.add(b); BulletCount = 0;if(plane.level=2)B
20、ullet b = new Bullet();b.x = plane.x+plane.w/2-b.w/2;b.y = plane.y-b.y;bullets.add(b);b = new Bullet();b.x = plane.x+plane.w/2-b.w/2+10;b.y = plane.y-b.y;bullets.add(b); BulletCount = 0;if(plane.level=3)Bullet b = new Bullet();b.x = plane.x+plane.w/2-b.w/2;b.y = plane.y-b.y;bullets.add(b);b = new Bu
21、llet();b.x = plane.x+plane.w/2-b.w/2;b.y = plane.y-b.y;b.xstep-=1;bullets.add(b);b = new Bullet();b.x = plane.x+plane.w/2-b.w/2;b.y = plane.y-b.y;bullets.add(b);b.xstep+=1; BulletCount = 0;if(plane.level=4)Bullet b = new Bullet();b.x = plane.x+plane.w/2-b.w/2-7;b.y = plane.y-b.y;bullets.add(b);b = n
22、ew Bullet();b.x = plane.x+plane.w/2-b.w/2+7;b.y = plane.y-b.y;bullets.add(b);b = new Bullet();b.x = plane.x+plane.w/2-b.w/2-10;b.y = plane.y-b.y;b.xstep-=1;bullets.add(b);b = new Bullet();b.x = plane.x+plane.w/2-b.w/2+10;b.y = plane.y-b.y;b.xstep+=1;bullets.add(b); BulletCount = 0;if(plane.level=5)B
23、ullet b = new Bullet();b.x = plane.x+plane.w/2-b.w/2;b.y = plane.y-b.y;bullets.add(b);b = new Bullet();b.x = plane.x+plane.w/2-b.w/2-5;b.y = plane.y-b.y;b.xstep-=1;bullets.add(b);b = new Bullet();b.x = plane.x+plane.w/2-b.w/2+5;b.y = plane.y-b.y;b.xstep+=1;bullets.add(b);b = new Bullet();b.x = plane
24、.x+plane.w/2-b.w/2-10;b.y = plane.y-b.y;b.xstep-=2;bullets.add(b);b = new Bullet();b.x = plane.x+plane.w/2-b.w/2+10;b.y = plane.y-b.y;b.xstep+=2;bullets.add(b); BulletCount = 0;void addNpc()npcCount+;if(npcCount % npcStep =0)int type = r.nextInt(8);int direction = r.nextInt(3);for(int i =0;i<4;i+
25、)Npc n = new Npc(type);switch (direction) case 0:n.x = -n.w-(50*i);n.y = -n.h-(50*i);n.xstep=3;n.ystep=3;break;case 1:n.x = 320/2-(150+n.w)/2+(50*i);n.y = -n.h;n.ystep=3;break;case 2:n.x = 320+(50*i);n.y = -n.h-(50*i);n.xstep=-3;n.ystep=3;break;default:break;npcs.add(n);npcCount=0;Map:import java.aw
26、t.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import javax.imageio.ImageIO;public class Map int x;int y;BufferedImage img;/构造器public Map() x =0;y =0;try img = ImageIO.read(getClass().getResource("imgs/bg.gif"); catch (IOException e) / TODO Auto-generated catch b
27、locke.printStackTrace();/paint()public void paint(Graphics g)g.drawImage(img, x, y-img.getHeight(), null);g.drawImage(img, x, y, null);/move()public void move()y +;if(y>img.getHeight()y=0;NPC:import java.awt.Graphics;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.IOExcep
28、tion;import java.util.Random;import java.util.Vector;import javax.imageio.ImageIO;public class Npc int x;int y;int w;int h;int xstep=0;int ystep=5;BufferedImage img;BufferedImage imgs= new BufferedImage4;int index=0;boolean hit =false;/击中boolean destroy=false;/销毁int hitCount =0;Random r = new Random
29、();int randomNum;int time;public Npc(int type) try img = ImageIO.read(getClass().getResource("imgs/"+type+".png");for(int i =0;i<imgs.length;i+)imgsi= ImageIO.read(getClass().getResource("imgs/bomb_"+i+".png"); catch (IOException e) e.printStackTrace();w =
30、img.getWidth();h = img.getHeight();y = -h;randomNum = r.nextInt(50)+50;time = 0;public void paint(Graphics g)if(destroy)return;g.drawImage(img, x, y, null);if(hit)img = imgsindex+;index =+hitCount/4%5;if(index>=imgs.length)destroy = true;public void move(Vector<Npc> npcs,Vector<NpcBullet
31、> nbs,Plane plane)if(destroy)npcs.remove(this);World.Score+;return;time+;if(time % randomNum=0)NpcBullet nb = new NpcBullet(this,plane);nbs.add(nb);time = 0;randomNum = r.nextInt(50)+50;x+=xstep;y+=ystep;/飞行轨迹if(y>300)ystep=-1;xstep=-xstep;if(y<-250)npcs.remove(this);Plane:import java.awt.G
32、raphics;import java.awt.image.BufferedImage;import java.io.IOException;import javax.imageio.ImageIO;public class Plane int x;int y;int w;int h;BufferedImage imgs = new BufferedImage3;BufferedImage img;boolean left,up,right,down;int index=0;int level=5;boolean hit = false;int hitcount=0;int flas = 0;
33、public Plane() try for(int i =0;i<imgs.length;i+)imgsi = ImageIO.read(getClass().getResource("imgs/plane"+i+".png"); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();img = imgsindex;w = img.getWidth();h = img.getHeight();x =320/2-w/2;y =405;public voi
34、d paint(Graphics g)g.drawImage(img, x, y, null);if(hit)flas+;img = imgsindex = flas/3%2;if(flas>11)hit = false;flas=0;/index=0;public void move()if(left)x-=8;if(up)y-=8;if(right)x+=8;if(down)y+=8;if(x<0)x=0;if(y<0)y=0;if(x>320-w)x=320-w;if(y>480-h)y=480-h;Bullets:import java.awt.Graph
35、ics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Vector;import javax.imageio.ImageIO;public class Bullet int x;int y;int w;int h;int xstep=0;BufferedImage img;public Bullet() try img = ImageIO.read(getClass().getResource("imgs/bullet.png"); catch (IOExcep
36、tion e) e.printStackTrace();w = img.getWidth();h = img.getHeight();public void paint(Graphics g)g.drawImage(img, x, y, null);public void move(Vector<Bullet> bullets,Vector<Npc> npcs)y-=8;x+=xstep;if(y<-h)bullets.remove(this);/子弹与敌机碰撞检测for(int i =0;i<npcs.size();i+)int x1 = npcs.get
37、(i).x;int y1 = npcs.get(i).y;int w1 = npcs.get(i).w;int h1 = npcs.get(i).h;if(x>x1-w && x<x1+w1)if(y<y1+h1 && y>y1-h)/1.移除子弹bullets.remove(this);/2.npc被击中npcs.get(i).hit = true;NpcBullet:import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOExcepti
38、on;import java.util.Vector;import javax.imageio.ImageIO;import sun.java2d.pipe.DrawImage;public class NpcBullet int x;int y;int w;int h;int step =5;double sin;double cos;BufferedImage img;public NpcBullet(Npc npc,Plane plane) try img =ImageIO.read(getClass().getResource("imgs/npcbullet.png"
39、;); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();w = img.getWidth();h = img.getHeight();x = npc.x+npc.w/2-w/2;y = npc.y+npc.h;int x1 = plane.x+plane.w/2;int y1 = plane.y+plane.h/2;int dx = x1-x;int dy = y1-y;double dLine = Math.sqrt(dx*dx+dy*dy);cos = dx/dLine;sin = dy/
40、dLine;public void paint(Graphics g)g.drawImage(img, x, y, null);public void move(Plane plane,Vector<NpcBullet> nbs)x = (int)(x+step*cos);y = (int)(y+step*sin);/碰撞检测int x1 = plane.x;int y1 = plane.y;int w1 = plane.w;int h1 = plane.h;if(x>x1-w && x<x1+w1)if(y>y1-h&& y<
41、;y1+h1)plane.hit = true;plane.hitcount+;nbs.remove(this);/边界判断if(x<-50|y<-50|x>370|y>550)nbs.remove(this);八、实习心得初次涉及Java领域,感觉到Java入门是好像没有C,C+入门快,工具也没有什么Turbo C,Visual C+好用,什么JAVA_HOME,CLASSPATH,虚拟机等概念都是初次基础,旁边的人都很少用Java的。感觉Java就是做App的。让我不可思议的是JAVA 2,JDK,J2SE,J2EE,J2ME等新名词在自己的脑海里蔓延。搭起Java
42、开发环境后,记得刚开始还是用UltraEdit编辑并编译的慢慢的改用JCreator了,要开始干项目了,以前从书上看到的东西,在项目中有了很好的机会去温习,开始主要是用Swing,开发桌面系统,放置一个按钮怎么也放不好,后来才知道有一个布局管理器。后来开始涉及到数据库访问,JDBC。随后Java规范了。最开始下载的规范是JDBC Specification,很多概念一目了然,尤其是DATABASE的事务性控制,自己对于她的理解慢慢的有了较为深入的了解。对于开发C/S结构,比如,Swing+JDBC,开发数据库应用系统,让我学会开发两层结构的应用系统。这次实习让我学到了很多东西,让我整体素质有所提升,明白了很多做人做事的道理。第一、毕业了以后不是学习的结束,而是学习的开始,在当今社会,只有不断地汲取新信息新知识,才能获得事业进步的动力,武装自己的头脑,提升自己的能力,扩展自己的视野。第二、学习要联系实践,一个人的价值是通过实践活动来实现的,也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漆器制作工保密竞赛考核试卷含答案
- 装裱师安全检查模拟考核试卷含答案
- 电力电容器及其装置制造工安全意识测试考核试卷含答案
- 微创手术后脑出血患者的安全护理
- 急诊科护理团队建设与管理
- 莱州湾海域空间开发利用:格局剖析与强度评估
- 药艾条灸在化疗所致恶心呕吐治疗中的应用与机制探究
- 荧光硅纳米颗粒在实时荧光生物成像中的应用与前景探究
- 荒漠草原白刺灌丛堆演变对土壤微生物群落的影响探究
- 荆条开花生物学特性与交配系统:生态适应与繁殖策略的深度解析
- 2024年中智集团招聘笔试参考题库含答案解析
- 广东省普通高中学生档案
- 安徽汇宇能源发展有限公司25万吨年石脑油芳构化项目环境影响报告书
- 建筑工程项目汇报ppt
- 人教版一年级数学下册《第8单元 总复习 第1节 数与代数》课堂教学课件PPT小学公开课
- 火力发电厂金属技术监督规程解读
- 特种加工技术课件第11章 高压水射流加工
- YS/T 96-2009散装浮选铜精矿中金、银分析取制样方法
- 最新人教部编版六年级下册语文《古诗词诵读:春夜喜雨》教学课件
- 超市经营服务投标方案
- 高血压中医健康教育专家讲座
评论
0/150
提交评论