一、Js算法找两个数组中的相同元素
var array1 = [1, 3, 4, 5,8,9,3,1,4,20];
var array2 = [8,1,3,34, 4, 9, 3, 34];
function twoArraySameData(array1, array2) {
//正则表达式,验证数据连续重复
var reg = /,(.+)\1+/gim;
//去掉数组1中重复的数据
array1=trimSameData(array1);
//去掉数组2中重复的数据
array2=trimSameData(array2);
//连接两数组中的元素
var item = array1.concat(array2);
//进行排序,使用系统的元素排列在一起
item.sort();
//存储两个数组相同元素的数组
var sameDataArray=[];
//从第二个元素开始遍历数组,与前者比较
for(var i=1;i<item.length;i++){
//判断与前面的元素是否相同,且是否已经保存到sameDataArray数组了
if(item[i]==item[i-1] && sameDataArray[sameDataArray.length-1]!=item[i]){
sameDataArray.push(item[i]);//添加两个数组相同的元素
}
}
return sameDataArray;
}
//数组中相同元素去重
function trimSameData(array){
//正则表达式,验证数据连续重复
var reg = /,(.+)\1+/gim;
var arrayStr=","+array.sort().toString()+",";
//考虑这样的字符串怎么去重 ,1,1,3,3,34,4,4,5,8,9,9,
// 你就知道这里为什么要使用while循环了
while(reg.test(arrayStr)){
arrayStr=arrayStr.replace(reg,",$1");
}
arrayStr=arrayStr.slice(1,arrayStr.length-1);
return arrayStr.split(",");
}
//测试
twoArraySameData(array1,array2);//结果 [“1”, “3”, “4”, “8”, “9”]
二、execute、executeQuery和executeUpdate之间的区别
Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。
- executeQuery。用于产生单个结果集的语句,例如 SELECT 语句。 被使用最多的执行 SQL 语句的方法是 executeQuery。这个方法被用来执行 SELECT 语句,它几乎是使用最多的 SQL 语句。
- execute。用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能。
- executeUpdate。用于执行INSERT、Update或delete语句以及SQL DDL(数据定义语言,语句,例如create table和drop table。Insert、update或delete语句的效果是修改表中零行或多行中的一列或多列。executeUpdate的返回值是一个整数,指示受影响的行数即更新计数。对于create table 或drop table等不操作的语句,executeUpdate的返回值总为零。使用executeUpdate方法是因为在createTableCoffees中的sql语句是DDL数据定义语言语句。创建表,改变表,删除表都是DDL语句的例子,要用executeUpdate方法来执行。你也可以从它名字看出,方法executeUpdate也被用于执行更新表sql语句。实际上,相对于创建表来说,executeUpdate用于更新表的时间更多,因为表需要创建一次,但经常被更新。
三、Java编程注意事项
Java语言基础(Java语言的书写格式(约定俗成))
1,大括号要对齐,并且成对写
2,左大括号前面有空格
3,遇到左大括号要缩进,Tab
4,方法和程序块之间加空行让程序看起来清晰
5,并排语句之间加空行,例如for语句
6,运算符两侧加空格
关键字的注意事项
goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记。
标识符注意事项
1,不能使用关键字2,不能数字开头 3,区分大小写
- A:包
* 一般是公司域名倒过来,要求所有的字母小写 * www.zuikc.com * com.zuikc.包名 - B:类或者接口
* 如果是一个单词首字母大写
* 如果是多个单词,要求每个单词首字母大写(驼峰标识) MyRunnable MyThead - C:方法或者变量
* 如果是一个单词,每个字母都小写
* 如果是多个单词,从第二个单词首字母大写
* getName setName - D:常量
* 如果是一个单词,所有字母大写
* 如果是多个单词,所有的单词大写,且用下划线区分每个单词
* JAVA_HOME MAX MAX_VALUE