1、在基本JAVA类型中,如果不明确指定,整数型的默认是什么类型?带小数的默认是什么类型?
错误答案:intfloat正确答案:java整数型的默认类型是int,小数的默认类型是double
2、下列的输出结果是什么?
1publicclassTest{2staticintcnt=6;3static{4cnt+=9;5}6publicstaticvoidmain(String[]args){7System.out.println(“cnt=”+cnt);8}9static{10cnt/=3;11};12}正确答案:cnt=5
查看答案解析有的人说:静态初始化块,静态变量,先执行静态变量在执行静态初始块。
而另一位同学做实验,并且我自己也运行了下面这个例子:
3、下列代码的输出结果是什么?
1System.out.println(“is”+100+5);2System.out.println(100+5+“is”);3System.out.println(“is”+(100+5));错误答案:is105,105is,is105
正确答案:is1005,105is,is105
解析:“+”是按照从左到右顺序执行的,除非是加括号,并不会先执行算数操作
4、socket编程中,以下哪个socket的操作是不属于服务端操作的()?
A、acceptB、listenC、connectD、close
错误答案:D
正确答案:C
解析:服务器端也可以关闭连接,客户端主动连接(connect),服务器端进行监听阻塞
5、
1publicclassDataObjectimplementsSerializable{2privatestaticinti=0;3privateStringword="";4publicvoidsetWord(Stringword){5this.word=word;6}7publicvoidsetI(inti){8Data0bject.i=I;9}10}11创建一个如下方式的DataObject:1213DataObjectobject=newData0bject();14object.setWord("123");15object.setI(2);将此对象序列化为文件,并在另外一个JVM中读取文件,进行反序列化,请问此时读出的Data0bject对象中的word和i的值分别为()
A、"",0B、"",2C、"123",2D、"123",0
错误选项:C
正确选项:D
解析:序列化保存的是对象的状态,静态变量属于类的状态,因此,序列化并不保存静态变量。所以i是没有改变的,并且被transient标注的成员变量也不会被序列化。
6、下面程序的运行结果()
1Objectobj=newObject();2ListaList=newArrayList();3ListbList=newLinkedList();45longt1=System.currentTimeMillis();6for(inti=0;i<50000;i++){7aList.add(0,obj);8}9longt2=System.currentTimeMillis()-t1;1011t1=System.currentTimeMillis();12for(inti=0;i<50000;i++){13bList.add(0,obj);14}15longt3=System.currentTimeMillis()-t1;错误答案:t3>t2
正确答案:t2>t3
解析:这题做错属于马虎大意,ArrayList底层使用数组实现,LinkedList底层使用链表,所以ArrayList查找速度比LinkedList快,LinkedList插入比ArrayList快
7、经过强制类型转换以后,变量a,b的值分别为多少?
1shorta=128;2byteb=(byte)a;错误答案:编译错误
正确答案:128,-128
分析:首先要了解byte的组成,byte有八位由于第一位是符号位,byte的取值范围是-128~127,a的后八位为10000000,赋值给byte就变成了10000000,但此时1为符号位。所以byte的10000000为-128
8、以下哪个式子有可能在某个进制下成立()?
A、13*14=204
B、12*34=568
C、14*14=140
D、1+1=3
正确答案:A
解析:首先从A开始试,设进制为X则A选项为:(1*x^1+3*x^0)(1*x^1+4*x^0)=2*x^2+0*x^1+4*x^0
整理得:x^2-7x-8=0
根据求根公式:
最终得出解:-1和8,以下选项以此类推,因为A选择有正解,故正确答案为A