几个陷阱题.docx
- 文档编号:3418739
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:28
- 大小:20.64KB
几个陷阱题.docx
《几个陷阱题.docx》由会员分享,可在线阅读,更多相关《几个陷阱题.docx(28页珍藏版)》请在冰点文库上搜索。
几个陷阱题
几个陷阱题.txt2机会靠自己争取,命运需自己把握,生活是自己的五线谱,威慑呢们不亲自演奏好它?
NO.1找奇数
Java代码
publicclassOddTest{
publicstaticbooleanisOdd(inti){
//returni%2==1;
returni%2!
=0;
}
publicstaticvoidmain(String[]args){
System.out.println(isOdd
(1));
System.out.println(isOdd
(2));
System.out.println(isOdd(3));
}
}
陷阱等级:
★★★☆☆
NO.2浮点数相减
Java代码
publicclassDoubleMinus{
publicstaticvoidmain(String[]args){
System.out.printf(2.0f-1.1f);
}
}
}陷阱等级:
★★★★★
NO.3长整除
Java代码
publicclassLongDivision{
publicstaticvoidmain(String[]args){
finallongMICROS_PER_DAY=24l*60*60*1000*1000;//微秒
finallongMILLIS_PER_DAY=24*60*60*1000;//毫秒
System.out.println(MICROS_PER_DAY/MILLIS_PER_DAY);
}
}
陷阱等级:
★★★★★
NO.4互换内容
Java代码
publicclassSwap{
publicstaticvoidmain(String[]args){
intx=1984;
inty=2001;
x^=y^=x^=y;
System.out.println("x="+x+";y="+y);
}
}
陷阱等级:
★★☆☆☆
NO.5字符串和字符
Java代码
publicclassCharAndString{
publicstaticvoidmain(String[]args){
System.out.println("H"+"a");
System.out.println('H'+'a');
}
}
publicclassCharAndString{
publicstaticvoidmain(String[]args){
System.out.println("H"+"a");
System.out.println('H'+'a');
}
}
陷阱等级:
★★★★★
NO.6字符数组
Java代码
publicclassCharArray{
publicstaticvoidmain(String[]args){
Stringletters="ABC";
char[]numbers={'1','2','3'};
System.out.print(numbers);
System.out.print(letters+"easyas"+numbers);
}
}
publicclassCharArray{
publicstaticvoidmain(String[]args){
Stringletters="ABC";
char[]numbers={'1','2','3'};
System.out.print(numbers);
System.out.print(letters+"easyas"+numbers);
}
}
陷阱等级:
★★★★☆
NO.7转义字符
Java代码
publicclassUnicodeTest{
publicstaticvoidmain(String[]args){
System.out.println("a\u0022.length()+\u0022b".length());
}
}
publicclassUnicodeTest{
publicstaticvoidmain(String[]args){
System.out.println("a\u0022.length()+\u0022b".length());
}
}陷阱等级:
★★☆☆☆
NO.8打印输出类名
Java代码
publicclassMyClass{
publicstaticvoidmain(String[]args){
System.out.println(MyClass.class.getName().replaceAll(".","/")+".class");
}
}
publicclassMyClass{
publicstaticvoidmain(String[]args){
System.out.println(MyClass.class.getName().replaceAll(".","/")+".class");
}
}
陷阱等级:
★★☆☆☆
NO.9随机数的问题
Java代码
importjava.util.Random;
publicclassRandomTest{
privatestaticRandomrnd=newRandom();
publicstaticvoidmain(String[]args){
StringBufferword=null;
switch(rnd.nextInt
(2)){
case1:
word=newStringBuffer("P");
case2:
word=newStringBuffer("G");
default:
word=newStringBuffer("M");
}
word.append('a');
word.append('i');
word.append('n');
System.out.println(word);
}
}
importjava.util.Random;
publicclassRandomTest{
privatestaticRandomrnd=newRandom();
publicstaticvoidmain(String[]args){
StringBufferword=null;
switch(rnd.nextInt
(2)){
case1:
word=newStringBuffer("P");
case2:
word=newStringBuffer("G");
default:
word=newStringBuffer("M");
}
word.append('a');
word.append('i');
word.append('n');
System.out.println(word);
}
}陷阱等级:
★★★★☆
NO.10无情的增量操作
Java代码
publicclassForTest{
publicstaticvoidmain(String[]args){
intj=0;
for(inti=0;i<100;i++){
j=j++;
}
System.out.println(j);
}
}
publicclassForTest{
publicstaticvoidmain(String[]args){
intj=0;
for(inti=0;i<100;i++){
j=j++;
}
System.out.println(j);
}
}陷阱等级:
★★★★★
NO.11整数边界的问题
Java代码
publicclassWhileTest{
publicstaticfinalintEND=Integer.MAX_VALUE;
publicstaticfinalintSTART=END-100;
publicstaticvoidmain(String[]args){
intcount=0;
for(inti=START;i<=END;i++)
count++;
System.out.println(count);
}
}
publicclassWhileTest{
publicstaticfinalintEND=Integer.MAX_VALUE;
publicstaticfinalintSTART=END-100;
publicstaticvoidmain(String[]args){
intcount=0;
for(inti=START;i<=END;i++)
count++;
System.out.println(count);
}
}
陷阱等级:
★★★★☆
NO.12计数器的问题
Java代码
publicclassClock{
publicstaticvoidmain(String[]args){
intminutes=0;
for(intms=0;ms<60*60*1000;ms++)
if(ms%60*1000==0)
minutes++;
System.out.println(minutes);
}
}
publicclassClock{
publicstaticvoidmain(String[]args){
intminutes=0;
for(intms=0;ms<60*60*1000;ms++)
if(ms%60*1000==0)
minutes++;
System.out.println(minutes);
}
}陷阱等级:
★★★★☆
NO.13优柔寡断的返回值
Java代码
publicclassReturnValue{
publicstaticvoidmain(String[]args){
System.out.println(decision());
}
publicstaticbooleandecision(){
try{
returntrue;
}finally{
returnfalse;
}
}
}
publicclassReturnValue{
publicstaticvoidmain(String[]args){
System.out.println(decision());
}
publicstaticbooleandecision(){
try{
returntrue;
}finally{
returnfalse;
}
}
}陷阱等级:
★★★★☆
NO.14你好,再见
Java代码
publicclassGoodBye{
publicstaticvoidmain(String[]args){
try{
System.out.println("Helloworld");
System.exit(0);
}finally{
System.out.println("Goodbyeworld");
}
}
}
publicclassGoodBye{
publicstaticvoidmain(String[]args){
try{
System.out.println("Helloworld");
System.exit(0);
}finally{
System.out.println("Goodbyeworld");
}
}
}陷阱等级:
★★★★☆
NO.15到底关闭了吗
Java代码
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
publicclassIOTest{
publicstaticvoidmain(String[]args){
}
publicstaticvoidcopy(Stringsrc,Stringdest)throwsIOException{
InputStreamin=null;
OutputStreamout=null;
try{
in=newFileInputStream(src);
out=newFileOutputStream(dest);
byte[]buf=newbyte[1024];
intn;
while((n=in.read(buf))>0)
out.write(buf,0,n);
}finally{
if(in!
=null)in.close();
if(out!
=null)out.close();
}
}
}
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
publicclassIOTest{
publicstaticvoidmain(String[]args){
}
publicstaticvoidcopy(Stringsrc,Stringdest)throwsIOException{
InputStreamin=null;
OutputStreamout=null;
try{
in=newFileInputStream(src);
out=newFileOutputStream(dest);
byte[]buf=newbyte[1024];
intn;
while((n=in.read(buf))>0)
out.write(buf,0,n);
}finally{
if(in!
=null)in.close();
if(out!
=null)out.close();
}
}
}
陷阱等级:
★★★★★
5、无限循环
viewplaincopytoclipboardprint?
publicstaticfinalintEND=Integer.MAX_VALUE;
publicstaticfinalintSTART=END-100;
publicstaticvoidmain(String[]args){
intcount=0;
for(inti=START;i<=END;i++)
count++;
System.out.println(count);
}
publicstaticfinalintEND=Integer.MAX_VALUE;
publicstaticfinalintSTART=END-100;
publicstaticvoidmain(String[]args){
intcount=0;
for(inti=START;i<=END;i++)
count++;
System.out.println(count);
}
上面程序运行的结果是什么?
A:
无限循环。
将i<=END改成i 为什么呢? 你知道的,呵呵! 6、计数器问题 viewplaincopytoclipboardprint? intminutes=0; for(intms=0;ms<60*60*1000;ms++) if(ms%60*1000==0) minutes++; System.out.println(minutes); intminutes=0; for(intms=0;ms<60*60*1000;ms++) if(ms%60*1000==0) minutes++; System.out.println(minutes); 结果跟你想的一样么? A: 呵呵,括号问题,不多说! 7、到底返回什么? viewplaincopytoclipboardprint? publicstaticbooleandecision(){ try{ returntrue; }finally{ returnfalse; } } publicstaticbooleandecision(){ try{ returntrue; }finally{ returnfalse; } } true? false? A: 一般情况下,不管怎么说try/catch代码块中,finally总是最后被执行的。 8、错误里聚集遍历 viewplaincopytoclipboardprint? publicstaticvoidmain(String[]args){ Vectorv=newVector(); v.add("one"); v.add("two"); v.add("three"); v.add("four"); Enumerationenume=v.elements(); while(enume.hasMoreElements()){ Strings=(String)enume.nextElement(); if(s.equals("two")) v.remove("two"); else{ System.out.println(s); } } System.out.println("What'sreallythere..."); enume=v.elements(); while(enume.hasMoreElements()){ Strings=(String)enume.nextElement(); System.out.println(s); } } publicstaticvoidmain(String[]args){ Vectorv=newVector(); v.add("one"); v.add("two"); v.add("three"); v.add("four"); Enumerationenume=v.elements(); while(enume.hasMoreElements()){ Strings=(String)enume.nextElement(); if(s.equals("two")) v.remove("two"); else{ System.out.println(s); } } System.out.println("What'sreallythere..."); enume=v.elements(); while(enume.hasMoreElements()){ Strings=(String)enume.nextElement(); System.out.println(s); } } 运行代码看看结果跟你想的一样么? A: 一般不建议在遍历聚集的时候对聚集进行操作。 为什么结果是这样呢? 看JDK源码能得到答案。 Enumeration没有实现FailFast操作,如果换成ArrayList,上面的代码可能会出错。 《java与模式》迭代子(iterator)介绍了。 publicStringsubstring(intbeginIndex,intendIndex){ if(beginIndex<0){ thrownewStringIndexOutOfBoundsException(beginIndex); } if(endIndex>count){ thrownewStringIndexOutOfBoundsException(endIndex); } if(beginIndex>endIndex){ thrownewStringIndexOutOfBoundsException(endI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 几个 陷阱