0
点赞
收藏
分享

微信扫一扫

选择习题集

楚木巽 2022-01-04 阅读 80

一、
1、下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:B
byte[] src,dst;
A:dst=String.frombytes(src,”GBK”).getbytes(“UTF-8”)
B:dst=new String (src,”GBK”).getbytes(“UTF-8”)
C:dst=new String (”GBK”, src,) getbytes()
D:dst=String.encode(String.decode(src,”GBK”)), “UTF-8”)

2、下列关于java并发的说法中正确的是:B
A:copyonwritearraylist适用于写多读少的并发场景
B:readwritelock适用于读多写少的并发场景
C:concurrenthashmap的写操作不需要加锁,读操作需要加锁
D:只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了

3、 下列哪个对访问修饰符作用范围由大到小排列是正确的?D
A:private>default>protected>public
B:public>default>protected>private
C:private>protected>default>public
D:public>protected>default>private
在这里插入图片描述
4、在Java中,HashMap中是用哪些方法来解决哈希冲突的?C
A:开放地址法
B:二次哈希法
C:链地址法
D:建立一个公共溢出区

5、阅读下列程序,选择哪一个是正确的输出结果 C

class HelloA{
	public HelloA(){
		System.out.println("I’m A class ");
	}    
	static    
	{    
		System.out.println("static A");    
	}
}
	public class HelloB extends HelloA{
		public HelloB()    {
			System.out.println("I’m B class");
		}
		static{
			System.out.println("static B");
		}
	public static void main (String[] args){
		new HelloB();
	}
}

A:static A I’m A class static B I’m B class
B:I’m A class I’m B class static A static B
C:static A static B I’m A class I’m B class
D:I’m A class static A I’m B class static B

6、以下是java concurrent包下的4个类,选出差别最大的一个 C
A:Semaphore
B:ReentrantLock
C:Future
D:CountDownLatch

7、关于sleep和wait,以下描述错误的是 D
A:sleep是线程类的方法,wait是object的方法
B:sleep不释放对象锁,wait放弃对象锁
C:sleep暂停线程,但监控状态依然保持,结束后会自动恢复
D:wait进入等待锁定池,只有针对此对象发出notify方法获得对象锁进入运行状态

二、
1、 Math.round(11.5) 等于:C
A:11
B:11.5
C:12
D:12.5

2、以下 D_ 不是 Object 类的方法
A:clone()
B:finalize()
C:toString()
D:hasNext()

三、
1、java中关于内存回收的正确说法是:B
A:程序员必须创建一个线程来释放内存
B:内存回收程序负责释放无用内存
C:内存回收程序允许程序员直接释放内存
D:内存回收程序可以在指定的时间释放内存对象

2、A派生出子类B,B派生出子类C,并且在java源代码中有如下声明:

A a0=new A();
A a1=new B();
A a2=new C();

以下哪个说法是正确的?A
A:第1行,第2行和第3行的声明都是正确的
B:第1,2,3行都能通过编译,但第2,3行运行时出错
C:第1,2行能通过编译,但第3行编译出错
D:只有第1行能通过编译

3、Test.main() 函数执行后的输出是D

public class Test {  
	public static void main(String [] args){  
		System.out.println(new B().getValue());  
	}  
	static class A{  
		protected int value;  
		public A(int v) {  
			setValue(v);  
		}  
		public void setValue(int value){  
			this.value = value;  
		}  
		public int getValue(){  
			try{  
				value++;  
				return value;  
			} catch(Exception e){  
				System.out.println(e.toString());  
			} finally {  
				this.setValue(value);  
				System.out.println(value);  
			}  
			return value;  
		}  
	}  
	static class B extends A{  
		public B() {  
			super(5);  
			setValue(getValue() - 3);  
		}  
		public void setValue(int value){  
			super.setValue(2 * value);  
		}  
	} 
}

A:11 17 34
B:22 74 74
C:6 7 7
D:22 34 17

四、
1、下面程序的输出是:(D)

String x="fmn";
x.toUpperCase();
String y=x.replace('f','F');
y=y+"wxy";
System.out.println(y);

A:FmNwxy
B:fmnwxy
C:wxyfmn
D:Fmnwxy

2、 JAVA语言的下面几种数组复制方法中,哪个效率最高?B

A:for循环逐一复制
B:System.arraycopy
C:Arrays.copyOf
D:使用clone方法

3、有关下述Java代码描述正确的选项是F

public class TestClass { 
	private static void testMethod(){ 
		System.out.println("testMethod"); 
	} 
	public static void main(String[] args) { 
		((TestClass)null).testMethod(); 
	}
}

A:编译不通过
B:编译通过,运行异常,报NullPointerException
C:编译通过,运行异常,报IllegalArgumentException
D:编译通过,运行异常,报NoSuchMethodException
E:编译通过,运行异常,报Exception
F:运行正常,输出testMethod

这个题还没搞懂
4、下列java程序的输出结果为B

public class Example{ 
	String str=new String("hello"); 
	char[]ch={'a','b'}; 
	public static void main(String args[]){ 
		Example ex=new Example(); 
		ex.change(ex.str,ex.ch); 
		System.out.print(ex.str+" and "); 
		System.out.print(ex.ch); 
	} 
	public void change(String str,char ch[]){ 
		str="test ok"; 
		ch[0]='c'; 
	}
}

A:hello and ab
B:hello and cb
C:hello and a
D:test ok and ab
E:test ok and cb
F:test ok and c

5、在jdk1.5之后,下列 java 程序输出结果为

int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));

A:true,false
B:true,true
C:false,true
D:false,false
E:对于不同的环境结果不同F程序无法执行

五、
1、 下面代码运行结果是:C

public class Test{  
	public int add(int a,int b){  
		try {  
			return a+b;  
		}catch (Exception e) {  
			System.out.println("catch语句块");  
		}finally{  
			System.out.println("finally语句块");  
		}  
		return 0;  
	}  
	public static void main(String argv[]){  
		Test test =new Test();  
		System.out.println("和是:"+test.add(9, 34));  
	}
}

A:catch语句块 和是:43
B:编译异常
C:finally语句块 和是:43
D:和是:43 finally语句块

2、下列Java代码中的变量a、b、c分别在内存的__C__存储区存放。

class A { 
	private String a = “aa”; 
	public boolean methodB() { 
		String b = “bb”; 
		final String c = “cc”; 
	}
}

A:堆区、堆区、堆区
B:堆区、栈区、堆区
C:堆区、栈区、栈区
D:堆区、堆区、栈区
E:静态区、栈区、堆区
F:静态区、栈区、栈区

3、以下声明合法的是
A:default String s
B:public final static native int w( )
C:abstract double d
D:abstract final double hyperbolicCosine( )

4、代码片段:

byte b1=1,b2=2,b3,b6; 
final byte b4=4,b5=6; 
b6=b4+b5; 
b3=(b1+b2); 
System.out.println(b3+b6);

关于上面代码片段叙述正确的是C
A:输出结果:13
B:语句:b6=b4+b5编译出错
C:语句:b3=b1+b2编译出错
D:运行期抛出异常

举报

相关推荐

0 条评论