1.
int i, sum=0;
for(i=0;i<10;++i,sum+=i); i 的最终结果是?
答:10
如果问最终sum的值是多少,则选: D
i = 10;
sum = 55; sum这里的执行范围是1-10,而不是0-9,因为sum+=i,是在++i后面执行的。
2.给出这段代码的执行结果?
class Two{ Byte x; } class PassO{ public static void main(String[] args){ PassO p=new PassO(); p.start(); } void start(){ Two t=new Two(); System.out.print(t.x+””); Two t2=fix(t); System.out.print(t.x+” ” +t2.x); } Two fix(Two tt){ tt.x=42; return tt; } }
答:null 42 42
null null 42
null 42 42
0 0 42
0 42 42
An exception is thrown at runtime
Compilation
此处为Byte是byte的包装类型,初始化为null而不是0
3.两个引用变量指向一个对象问题:因为修改的是堆上的数据,所以改的对象是同一个对象
class Two{ Byte x; } class PassO{ public static void main(String[] args){ PassO p=new PassO(); p.start(); } void start(){ Two t=new Two(); System.out.print(t.x+””); Two t2=fix(t); System.out.print(t.x+” ” +t2.x); } Two fix(Two tt){ tt.x=42; return tt; } }
4.
表toutiao_tb title data auther type abc 2016.2.23 bob 1 bcv 2016.3.3 http 1 cvt 2016.3.3 http 1 bcvvcm 2016.3.5 js 2 nmhh 2016.2.3 html 2 hhj 2016.3.3 java 3 rrr 2016.3.2 cc 1
查询title中包含cv且type是1的记录
正确答案: B 你的答案: D (错误)
select * from where title = 'cv' and type='1'
select * from where title = '%cv%' and type='1'
select * from where title = '*cv' and type='1'
select * from where title ='*cv*' and type='1
SQL提供了四种匹配模式: 1. % 表示任意0个或多个字符。如下语句:Select * FROM user Where name LIKE '%三%'; 将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来。%三:表示左匹配。三%:表示右匹配。 %三%:表示模糊查询。 2. _ 表示任意单个字符。语句: Select * FROM user Where name LIKE '_三_';只找出“唐三藏”。这样name为三个字且中间一个字是“三”的; Select * FROM user Where name LIKE '三__'; 只找出“三脚猫”这样name为三个字且第一个字是“三”的;
3. [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:Select * FROM user Where name LIKE '[张李王]三'; 将找出“张三”、“李三”、“王三”(而不是“张李王三”); 如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e“。Select * FROM user Where name LIKE '老[1-9]';将找出“老1”、“老2”、……、“老9”;如要找“-”字符请将其放在首位:'张三[-1-9]'; 4. [^ ] 表示不在括号所列之内的单个字符。语句:Select * FROM user Where name LIKE '[^张李王]三';将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;Select * FROM user Where name LIKE '老[^1-4]'; 将排除“老1”到“老4”寻找“老5”、“老6”、……、“老9”。 5.* 表示查找的是所有信息,例如select * from tbl_user 最后是重点!由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“';”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数: function sqlencode(str) str=replace(str,"';","';';") str=replace(str,"[","[[]") ';此句一定要在最先 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function 在查询前将待查字符串先经该函数处理即可,并且在网页上连接数据库用到这类的查询语句时侯要注意:如Select * FROM user Where name LIKE '老[^1-4]';上面《'》老[^1-4]《'》是要有单引号的,别忘了,我经常忘!
5.
下列有关InnoDB和MylSAM说法正确的是()
正确答案: A B C 你的答案: 空 (错误)
InnoDB不支持FULLTEXT类型的索引
InnoDB执行DELETE FROM table 命令时,不会重新建表
MylSAM的索引和数据是分开保存的
MylSAM支持主外键,索引及事务的存储
-
每个MyISAM数据表,皆由存储在硬盘上的3个文件所组成,每个文件都以数据表名称为文件主名,并搭配不同扩展名区分文件类型:
- .frm--存储数据表定义,此文件非MyISAM引擎的一部分。
- .MYD--存放真正的数据。
- .MYI--存储索引信息。
- InnoDB可借由事务记录档(Transaction Log)来恢复程序崩溃(crash),或非预期结束所造成的数据错误;而MyISAM遇到错误,必须完整扫描后才能重建索引,或修正未写入硬盘的错误。InnoDB的修复时间,大略都是固定的,但MyISAM的修复时间,则与数据量的多寡成正比。相对而言,随着数据量的增加,InnoDB会有较佳的稳定性。
MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:
MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。
MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:
· MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。