Java软件中级工程师笔试题复杂逻辑.docx
《Java软件中级工程师笔试题复杂逻辑.docx》由会员分享,可在线阅读,更多相关《Java软件中级工程师笔试题复杂逻辑.docx(13页珍藏版)》请在冰豆网上搜索。
Java软件中级工程师笔试题复杂逻辑
J2EE部分
1、运算符优先级问题,下面代码的结果是多少?
(笔试)
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
intk=0;
intret=++k+k+++++k+k;
//ret的值为多少
System.err.println(ret);
}
}
2、运算符问题,下面代码分别输出什么?
(笔试)
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
inti1=10,i2=10;
System.err.println("i1+i2="+i1+i2);
System.err.println("i1-i2="+i1-i2);
System.err.println("i1*i2="+i1*i2);
System.err.println("i1/i2="+i1/i2);
}
}
3、下面代码的结果是什么?
还是抛出异常?
(笔试)
packagetest;
publicclassTest{
publicvoidmyMethod(Stringstr){
System.err.println("string");
}
publicvoidmyMethod(Objectobj){
System.err.println("object");
}
publicstaticvoidmain(String[]args){
Testt=newTest();
t.myMethod(null);
}
}
4、假设今天是9月8日,下面代码输出什么?
(笔试)
packagetest;
importjava.util.Date;
publicclassTest{
publicstaticvoidmain(String[]args){
Datedate=newDate();
System.err.println(date.getMonth()+""+date.getDate());
}
}
5、下面代码的输出结果是什么?
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
doubleval=11.5;
System.err.println(Math.round(val));
System.err.println(Math.floor(val));
System.err.println(Math.ceil(val));
}
}
6、下面代码的结果是什么?
packagetest;
publicclassTestextendsBase{
publicstaticvoidmain(String[]args){
Baseb=newTest();
b.method();
Testt=newTest();
t.method();
}
@Override
publicvoidmethod(){
System.err.println("test");
}
}
classBase{
publicvoidmethod()throwsInterruptedException{
System.err.println("base");
}
}
7、以下代码的结果是什么?
packagetest;
publicclassTestextendsBase{
publicstaticvoidmain(String[]args){
newTest().method();
}
publicvoidmethod(){
System.err.println(super.getClass().getName());
System.err.println(this.getClass().getSuperclass().getName());
}
}
classBase{
}
8、trueorfalse?
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
Stringstr1=newString("abc");
Stringstr2=newString("abc");
System.err.println(str1.equals(str2));
StringBuffersb1=newStringBuffer("abc");
StringBuffersb2=newStringBuffer("abc");
System.err.println(sb1.equals(sb2));
}
}
9、输出的结果是什么?
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
System.err.println(newTest().method1());
System.err.println(newTest().method2());
}
publicintmethod1(){
intx=1;
try{
returnx;
}finally{
++x;
}
}
publicintmethod2(){
intx=1;
try{
returnx;
}finally{
return++x;
}
}
}
这样呢?
输出什么
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
System.err.println(method());
}
publicstaticbooleanmethod(){
try{
returntrue;
}finally{
returnfalse;
}
}
}
10、方法m1和m2有区别吗?
什么区别
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
}
publicsynchronizedvoidm1(){
}
publicstaticsynchronizedvoidm2(){
}
}
11、trueorfalse?
理由
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
Integeri1=127;
Integeri2=127;
System.err.println(i1==i2);
i1=128;
i2=128;
System.err.println(i1==i2);
}
}
12、trueorfalse?
理由
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
Stringstr1="a";
Stringstr2="a";
Stringstr3=newString("a");
System.err.println(str1==str2);
System.err.println(str1==str3);
str3=str3.intern();
System.err.println(str1==str3);
}
}
13、trueorfalse?
理由
packagetest;
publicclassTest{
publicstaticvoidmain(String[]args){
System.err.println(12-11.9==0.1);
}
}
14、以下代码输出是什么?
packagetest;
importjava.math.BigInteger;
publicclassTest{
publicstaticvoidmain(String[]args){
BigIntegerone=newBigInteger("1");
BigIntegertwo=newBigInteger("2");
BigIntegerthree=newBigInteger("3");
BigIntegersum=newBigInteger("0");
sum.add(one);
sum.add(two);
sum.add(three);
System.out.println(sum.toString());
}
}
15、输出的结果是什么?
12345?
根据单词排序?
还是?
packagetest;
importjava.util.HashSet;
importjava.util.Iterator;
importjava.util.Set;
publicclassTest{
publicstaticvoidmain(String[]args){
Setset=newHashSet();
set.add("one");
set.add("two");
set.add("three");
set.add("four");
set.add("five");
for(Iteratorit=set.iterator();it.hasNext();){
System.err.println(it.next());
}
}
}
16、以下代码输出的结果(笔试选择题)
publicclassTest{
publicstaticvoidmain(String[]args){
System.err.println(args.length);
}
}
A.nullB.0C.Test
D.Exceptioninthread"main"java.lang.NullPointerException
17、下面为一个单例的实现代码,请指出代码中有几个错误或不合理之处,并改正。
publicclassTest{
publicTestinstance=null;
publicstaticTestgetInstance(){
if(instance==null){
instance=newTest();
returninstance;
}
}
}
18、编程输出一个目录下的所有目录及文件名称,目录之间用tab。
(笔试)
19、从键盘读入10个整数,然后从大到小输出。
(笔试)
20、如何迭代Map容器,手写个试试?
答案:
1、
8
2、
i1+i2=1010
语法错误
i1*i2=100
i1/i2=1
3、
string
4、
5
19
5、
12
11.0
12.0
6、
test
test
7、
test.Test
test.Base
8、
true
false
9、
1
2
false
10、
A:
synchronizedstatic是某个类的范围,synchronizedstaticcSync{}防止多个线程同时访问这个类中的synchronizedstatic方法。
它可以对类的所有对象实例起作用。
B:
synchronized是某实例的范围,synchronizedisSync(){}防止多个线程同时访问这个实例中的synchronized方法。
11、
true
false
12、
true
false
true
13、
false
14、
0
15、
two
five
one
three
four
16、
B
17、
getInstance无默认返回值
instance 必须是static
18、
packagetest;
importjava.io.File;
publicclassTest{
publicstaticvoidmain(String[]args){
newTest().read("D:
/test","");
}
publicvoidread(Stringpath,Stringtab){
Filefile=newFile(path);
File[]childFiles=file.listFiles();
for(inti=0;childFiles!
=null&&iSystem.err.println(tab+childFiles[i].getName());
if(childFiles[i].isDirectory()){
read(childFiles[i].getPath(),tab+"\t");
}
}
}
}
19、
packagetest;
importjava.util.Arrays;
importjava.util.Comparator;
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);
//注意这里的数组,不是int的
Integer[]arr=newInteger[10];
for(inti=0;i<10;i++){
arr[i]=in.nextInt();
}
Arrays.sort(arr,newComparator(){
@Override
publicintcompare(Integero1,Integero2){
if(o1>o2)return-1;
if(o1return0;
}
});
System.err.println(Arrays.toString(arr));
}
}
20、
packagetest;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.Map;
importjava.util.Map.Entry;
importjava.util.Set;
publicclassTest{
publicstaticvoidmain(String[]args){
Mapm=newHashMap();
Set>set=m.entrySet();
Iterator>it=set.iterator();
while(it.hasNext()){
Map.Entryentry=it.next();
Classkey=entry.getKey();
Stringvalue=entry.getValue();
System.out.println(key.toString()+""+value.toString());
}
}
}