java 常见异常种类(Java Exception): 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastException 数组负下标异常:NegativeArrayException 数组下标越界异常:ArrayIndexOutOfBoundsException 违背安全原则异常:SecturityException 文件已结束异常:EOFException 文件未找到异常:FileNotFoun…
本文参考网络上面别人的博客知识产出 正则表达式基础 1.句号 假设你想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”字母结束.另外,假设有一本英文字典,你可以用正则表达式搜索它的全部内容.要构造出这个正则表达式,你可以使用一个通配符——句点符号“.”.这样,完整的表达式就是“t.n”,它匹配“tan”.“ten”.“tin”和“ton”,还匹配“t#n”.“tpn”甚至“t n”,还有其他许多无意义的组合.这是因为句点符号匹配所有字符,包括空格.Tab字符甚至换行符: 正则表达…
排序的分类: 一.交换排序 所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动. 1.冒泡排序 算法原理 冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复以上的步骤,除了最后一个. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对…
本次主角:抽象类 .接口. 对于皮皮潇这样一类的Java初学者来说,接口和抽象类如果不去花大量的精力与时间是很难弄清楚的,而我也是在最近这周的项目学习中感觉到了我对这两个概念不熟悉,所以导致对一些问题不能理解清楚,然后就去查阅资料对抽象类与接口做了一些总结. 1.抽象类: 抽象类的建立,实在抽象方法之后的,所以想要了解抽象类得先了解抽象方法,抽象方法由名字可以知道它是一种特殊的方法,是抽象的,只有方法的声明,没有具体的实现.所以不能看到它的功能,表现得就很抽象. 抽象方法必须要用abstract…
最近皮皮潇在学习java web,刚接触了简单的东西,所以今天给大家带来一个简单的登录实现. 页面: 页面代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"…
1. java中的关键字 提到关键字,最主要的就是不能用关键字作为标识符,值得注意的有以下几点. ①其中goto与const在java中没有定义,但是也是关键字.这个基本用不到,但是应该有个认知. ②true,false,null虽然不是关键字,但是作为一个单独的标识类型,也不能作为标识符使用. 2. java中的引用数据类型 说道数据类型,首先想到的就是八大基本数据类型,这是经常用到的都很熟悉,但是引用数据类型就容易被忽略,(这些只是根据皮皮潇个人容易的知识缺失来写的,对于大神们不太实用)而应…
方法重载:Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同.调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法 示例代码: public class Test { // 无返回值有有int形的参数 void receive(int i) { System.out.println("i=" + i); } // 无返回值,有float形的参数 void receive(float f…
一.先给他们提供一个"浪漫的"环境,比如传说中的"鹊桥"--java环境变量.哈哈! 配置java环境变量. 下载jdk,根据自己电脑的版本和操作位数选择不同的安装包,这里以windows为例(x86 代表32位,x64代表64位),建议下载和操作系统同位数的jdk安装包. *查看电脑位数:进入"我的电脑"->空白处右击->属性,跳出以下界面,红框标记处就是您的电脑的 *jdk下载地址: http://www.oracle.com/t…
排序的分类: 1.直接选择排序 它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列. package Sort; public class StraightSelectionSort { /**…
皮皮潇最近学到了IO流但是感觉这一块要记的东西太多了,所以重API上查阅并总结了以下几点关于IO的知识. 1.File(文件类): File类是文件以及文件夹进行封装的对象,用对象的思想来操作文件和文件夹. File类保存文件或目录的各种元数据信息的方法. File 类的实例是不可变的:也就是说,一旦创建,File 对象表示的抽象路径名将永不改变. File 类的主要方法有: canExecute()文件是否可执行,canRead()文件是否可读,canwrite()文件是否可编辑. creat…
整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能进行基本操作了. 敌机对象的实现,并且初步完成了boos出现(30s自动出现).然后又引出了许多方法的处理,如英雄子弹击中敌机和boos,英雄与敌机相撞等等.并一一解决. 随后又设置了一些游戏的参数,如血量,关卡数,等级,积分,必杀,道具对象等等. 最后又完成了一些辅助功能,暂停游戏,继续游戏,退出…
String Stringbuffer  StringBuilder的区别: 1.string是字符串常量,且长度是不可改变的,Stringbuffer.stringBuilder是字符串变量 2.Stringbuffer是线程安全的,StringBuilder是非线程安全,主要用在全局变量中. 3.String是改变赋值的地址,而不是改变String中的值: 如:String a = "a";//假设它的地址是001:值a是放在常量池中的 String a = "b&quo…
一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事情,不会被卡死 2.Ajax的运行原理 页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回 给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面1 功…
来了来了~~~~~我们的"织女"--Tomcat来了,牛郎们等急了吧!哈哈! 一.安装Tomcat 下载地址:http://tomcat.apache.org/download-70.cgi 左侧:选择的是Tomcat的版本,这里以Tomcat 7为例. 右边可以选择不同的安装版本,红框部分是windows的zip安装版本, 选择和自己jdk位数一样的位数,进行下载就行了. 安装Tomcat 那就很简单了解压就行了,解压后如下图: 解压后选择 bin目录下面的->startup.…
上一讲为大家讲了什么是JSON,那么这一讲为大家带来了在WEB项目中JSON的用法,也就是JSON的封装与解析. 此图是数据库中的部分内容 一.JSON封装 所谓的JSON封装,指的是在Servlet中将从数据库得到的数据转化成JSON格式的字符串. 那么什么是JSON格式的字符串? JSON格式的字符串就是指字符串的内容要完全符合JSON数据的格式 这个就是在servlet中输出的已经封装好的JSON格式字符串,在控制台输出的效果. 如何封装 在我自己的WEB中,原本想用原生态的JSON去封装…
一.认识JSON 什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式..它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. JSON语法 {}表示JSON对象 在{}中是1~n个键值对 键与值之间用:隔开,键值对用,隔开.如…
整体展示: 上一讲实现了诸多对象,这次我们就需要实现许多逻辑方法,如控制飞机移动,判断子弹击中敌机,敌机与英雄飞机相撞等等.并且我们在实现这些功能的时候需要计时器去调用这些方法.setInterval(fun,ms) 在调用setInterval()会返回一个类似id的字段,该字段在clearInterval(id)可以指定相应的计时器并清除 一.开始游戏 /** * 面板441*632 * 飞机 66*80 */ /** * 开始游戏 */ function startGame() { var…
整体展示: 一.全局变量 /*===================玩家参数==========================*/ var myPlane; //英雄对象 var leftbtn = false; //左移动标志 var rightbtn = false; //右移动标志 var topbtn = false; //上移动标志 var bottombtn = false; //下移动标志 var shot = false; //射击标志 //var bulletStatus =…
一.MVC设计模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). 控制器(Controller):Servlet,控制器主要处理用户的请求 l 视图(View):HTML, JSP, 前端框架 l 模型(Model):逻辑业务程序(后台的功能程序), Service, Dao, JavaBean 原理图 二.Javaweb  modle 发展史 JSP M…
1. eclipse中不存在SVN问题的解决 1.1发现Team->Share project 下没有svn. 1.2下载安装svn插件. 选择help->Eclipse Marketplace   在弹出的窗口中输入框中输入"subclipse",点击go.在加载出来的插件在选择第一个安装. 第二窗口中的所有插件包都选择,选择confirm,开始安装.   接受安装协议,开始安装. 忽略安装警告,开始安装,安装完之后系统提示重启,重启eclipse. 重启后,到Team-…
排序的分类: 1.希尔排序 希尔排序是快速插入排序的改进版,希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序:随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止 基本思路:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组.所有距离为d1的倍数的记录放在同一个组中.先在各组内进行直接插入排序:然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量 =1( < …<d2<d1),即所有记录放在同一组中进…
一.通过点击按钮事件,实现四大界面之间的跳转: (一)跳转的思路: 1.打开软件,只显示登录界面(隐藏游戏界面.暂停界面.玩家死亡界面) 2.点击微信登录(QQ登录)跳转到游戏界面,隐藏登录界面 3.点击暂停,弹出具有透明度的暂停界面 4.点击暂停界面的开始按钮,隐藏暂停界面,调用开始方法(点击登录跳转的方法): 5.点击暂停界面的退出游戏,只显示登录界面,隐藏其他界面: 6.游戏结束界面,该界面的跳转目前还不能通过游戏实现,可以先建设(根据上一讲的游戏界面图片制作). 7.点击游戏结束界面的开…
一.创建敌方飞机 1.思考创建思路: 创建敌方飞机思路与创建玩家飞机思路一样: (1)思考敌方飞机具备什么属性: 敌方飞机的图片.坐标.飞行速度.状态(是否被击中) 设置小飞机被击中时消失时间.飞机可以移动 2.创建敌方飞机对象,在这里我创建两种飞机,根据玩家等级不同出现不同的飞机(小飞机和中飞机) 3.在创建飞机对象的方法中定义敌方飞机的移动方法(这里设置的敌方飞机移动方向是从上到下). 4.将创建的飞机对象以节点形式添加到游戏界面 /*敌方小飞机对象*/ function createsme…
一.公布上一讲中玩家飞机上.下.右移动实现的代码: /*=========================键盘按下事件 keycode为得到键盘相应键对应的数字====================*/ document.body.onkeydown=function(code) { if(code.keyCode==37) { //当键盘按下的是左键(对应的数字是37) leftbtn=true; // } if(code.keyCode==38) { //键盘按的是上键 topbtn=tr…
JavaScript对象 1.什么是JavaScript对象? JavaScript 中的所有事物都是对象:字符串.数字.数组.日期,等等. 在 JavaScript 中,对象是拥有属性和方法的数据. 2.JavaScript对象的分类 (1)内建对象 js中的内部对象包括Array.Boolean.Date.Function.Global.Math.Number.Object.RegExp.String以及各种错误类对象,包括Error.EvalError.RangeError.Referen…
在Java中 除了 Map以外的集合的根接口都是Collection接口,而在Collection接口的子接口中,最重要的莫过于List和Set集合接口. 今天我们就来谈谈List集合接口与Set集合接口的差异性. 查看List集合接口的接口方法 查看Set集合接口的API 从两者的API中,以add和get为例来看, List中提供索引的方式来添加元素和获取元素,而Set并不提供.由此可见List集合可是达到精确的存储和获取,而Set只能一个一个的比较,显然效率和实用性是比不上List集合的…
通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/test.sql ---备份test数据库到 D 盘 mysql -h127.0.0.1 -uroot -ppass test< test.sql ---将D备份的数据库脚本,恢复到数据库中 更多命令参看:http://www.cnblogs.com/xcxc/archive/2013/01/30/28828…
一.效果图: 二.JqueryValidate的好处 在做注册.或者类似以上的表单提交的时候,大家是不是都很烦那种,把数据拿到后台去判断, 可能经过了正则表达式之类的复杂判断,然后发现数据错误.接着通过request转发到页面上,再通过EL 表达式输出错误信息.实话实话,在没发现这个插件之前,我是这么干的,好痛苦的感觉. JqueryValidate的好处就在于,你不必经过servlet,就可以在页面上面判断用户输入的信息是否正确,它能够快速实现 表单的校验. 三.引入插件 顺序不能乱,此插件是…
效果图如下: 一.简介: 什么是Bootstrap?  Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架. 什么是响应式布局? 引用一句Bootstrap的标题语 "Bootstrap的响应式 CSS 能够自适应于台式机.平板电脑和手机". 简而言之就是:只用编写一次静态的HTML和CSS,在不同分辨率的设备上就能展现不同的布局样式. 二.利用BootStrap完成响应式布局. 用传统的布局方式,我们会怎么完成效果图呢?  Div+CSS  浮动+内外边距 是的…
一.查找素材: 二.分析游戏界面框架: 登录界面.游戏界面.暂停游戏界面.玩家死亡后弹出界面:并对应的界面包含什么元素: 三.分别搭建以上四个界面: 1.登录界面与游戏界面框架(隐藏游戏界面,四个界面的宽度和高度要一致): HTML代码: <!--main div是游戏界面的大DIV --> <div id="main" style="height: 643px;"> <!--玩家头像DIV--> <div id="…