选择题
-
高优先级的线程比低优先级的线程运行得更快。(B)
A.正确
B.错误
解析:
线程运行速度与线程的优先级无关。 -
有以下程序片段,下列哪个选项不能插入到第一行 。( A)。
- 2.public class A{
3.//do sth
- }
A.public class MainClass{ }
B.package mine;
C.class ANotherClass{ }
D.import java.util.*;
解析:
Java一个源程序只能有一个public类存在,且类名与文件名相同。Java程序是从main方法开始执行的,public为类加载器提供入口,然后找到public类中的main方法开始执行。如果存在多个public类,程序将不知道该从哪里执行。
注意,内部类可以是public的,因为内部类是作为外部类的成员存在的。
-
下列语句哪一个正确(B )
A.Java程序经编译后会产生machine code
B.Java程序经编译后会产生byte code
C.Java程序经编译后会产生DLL
D.以上都不正确
解析:
Java字节码是Java源文件编译产生的中间文件
java虚拟机是可运行java字节码的假想计算机 java的跨平台性也是相对与其他编程语言而言的
先介绍一下c语言的编译过程吧先是C语言源程序 也就是c的文件经过C编译程序编译后,生成windows可执行文件exe文件,然后在windows中执行。再介绍java的编译过程先是java源程序扩展名为java的文件,由java编译程序将java字节码文件,就是class文件然后在java虚拟机中执行。机器码是由CPU来执行的。Java编译后是字节码, 电脑只能运行机器码。Java在运行的时候把字节码变成机器码。C/C++在编译的时候直接编译成机器码。 -
下列说法正确的有(A)
A.能被java.exe成功运行的java class文件必须有main()方法
B.J2SDK就是Java API
C.Appletviewer.exe可利用jar选项运行.jar文件
D.能被Appletviewer成功运行的java class文件必须有main()方法
解析:
A:正确main方法是入口
B:J2SDK当然不仅仅包含java API
C:jar选项是java.exe 的选项
D:Appletviewer是运行applet的, applet 不用main方法,继承applet类即可。 -
以下代码执行的结果显示是多少()?
public class Demo{
public static void main(String[] args){
System.out.print(getNumber(0));
System.out.print(getNumber(1));
System.out.print(getNumber(2));
System.out.print(getNumber(4));
}
public static int getNumber(int num){
try{
int result = 2 / num;
return result;
}catch (Exception exception){
return 0;
}finally{
if(num == 0){
return -1;
}
if(num == 1){
return 1;
}
}
}
}
A.0110
B.-1110
C.0211
D.-1211
解析:
ry,catch,finally中:
num=0,捕获异常,执行catch语句,catch中返回0,执行finally语句,finally语句中返回-1,于是返回finally中的-1;
num=1,try中返回2,执行finally语句,finally语句中返回1,于是返回finally中的1;
num=2,try中返回1,执行finally语句,finally语句中没有返回,于是返回try中的1;
num=4,try中返回0,执行finally语句,finally语句中没有返回,于是返回try中的0.
-
Math.floor(-8.5)=( D)
A.(float)-8.0
B.(long)-9
C.(long)-8
D.(double)-9.0
解析:
-
下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换: byte[] src,dst; (B)
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” )
解析:
操作步骤就是先解码再编码
用new String(src,“GBK”)解码得到字符串
用getBytes(“UTF-8”)得到UTF8编码字节数组 -
下列关于管道(Pipe)通信的叙述中,正确的是()?
A.进程对管道进行读操作和写操作都可能被阻塞
B.一个管道只能有一个进程或一个写进程对其操作
C.一个管道可实现双向数据传输
D.管道的容量仅受磁盘容量大小限制
解析:
A.正确,因为管道为空,读操作会被阻塞;管道满了,写操作会被阻塞
B.可以有多个进程对其读;也可以有多个进程写,只不过不能同时写。并且题目没有说“同时”,B不对
C.匿名管道只能单向;命名管道可以双向;所以C过于绝对
D.管道是内存中的,所以D不对 -
what is the result of the following code?(C)
enum AccountType
{
SAVING, FIXED, CURRENT;
private AccountType()
{
System.out.println(“It is a account type”);
}
}
class EnumOne
{
public static void main(String[]args)
{
System.out.println(AccountType.FIXED);
}
}
A.Compiles fine and output is prints”It is a account type”once followed by”FIXED”
B.Compiles fine and output is prints”It is a account type”twice followed by”FIXED”
C.Compiles fine and output is prints”It is a account type”thrice followed by”FIXED”
D.Compiles fine and output is prints”It is a account type”four times followed by”FIXED”
解析:
枚举类有三个实例,故调用三次构造方法,打印三次It is a account type。
- 关于抽象类与接口,下列说法正确的有?(AC)
A.优先选用接口,尽量少用抽象类
B.抽象类可以被声明使用,接口不可以被声明使用
C.抽象类和接口都不能被实例化。
D.以上说法都不对
解析:
- 一个子类只能继承一个抽象类,但能实现多个接口
- 抽象类可以有构造方法,接口没有构造方法
- 抽象类可以有普通成员变量,接口没有普通成员变量
- 抽象类和接口都可有静态成员变量,抽象类中静态成员变量访问类型任意,接口只能public static final(默认)
- 抽象类可以没有抽象方法,抽象类可以有普通方法,接口中都是抽象方法
- 抽象类可以有静态方法,接口不能有静态方法
- 抽象类中的方法可以是public、protected;接口方法只有public