package Test;
public class Test {
private static void test(int[] arr) {
for (int i = 0; i < arr.length; i++) {
try {
if (arr[i] % 2 == 0) {
throw new NullPointerException();
} else {
System.out.print(i);
}
} finally {
System.out.print("e");
}
}
}
public static void main(String[]args) {
try {
test(new int[] {0, 1, 2, 3, 4, 5});
} catch (Exception e) {
System.out.print("E");
}
}
}
```
可以得到的结论是( )
A. 编译出错
B. eE
C. Ee
D. eE1eE3eE5
E. Ee1Ee3Ee5
**解析:arr[0] 等于0,抛出空指针异常,进入finally块,输出e,test方法结束,main方法捕捉到空指针异常进入catch块,输出E**
答案:B
- 以下代码执行的结果显示是多少()?
```java
public class Demo{
public static void main(String args[]) {
int count = 0;
int num = 0;
for (int i = 0; i <= 100; i++) {
num = num + i;
count = count++;
}
System.out.println("num * count = " + (num * count));
}
}
```
A.505000
B. 0
C. 运行时错误
D.5050
**解析:count = count++ ,count一直为0**
答案:B
- 阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()
```java
package NowCoder;
class Test {
public static void hello() {
System.out.println("hello");
}
}
public class MyApplication {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test=null;
test.hello();
}
}
```
A. 能编译通过,并正确运行
B. 因为使用了未初始化的变量,所以不能编译通过
C. 以错误的方式访问了静态方法
D. 能编译通过,但因变量为null,不能正常运行
**解析:即使Test test=null;这里也会加载静态方法,所以test数据中包含Test类的初始化数据。**
答案:A
- 哪个是不正确的字符常量?
A. ”\n”
B. ”1”
C. ”a”
D. ”\101”
**解析:一个字符常量表示为一个字符或一个转义序列,被一对ASCII单引号关闭。四个答案都采用的是双引号关闭,所以是字符串常量而不是字符常量。忽略这个错误,那么这题就没有答案。**
答案:ABCD
- 有如下4条语句:()
```java
Integer i01=59;
int i02=59;
Integer i03=Integer.valueOf(59);
Integer i04=new Integer(59);
```
以下输出结果为false的是:
A. System.out.println(i01 == i02);
B. System.out.println(i01 == i03);
C. System.out.println(i03 == i04);
D. System.out.println(i02 == i04);
**解析:int和Integer比较时,Integer会自动拆箱成int类型进行比较。所以AD为true;**
答案:C
- 如下代码,执行test()函数后,屏幕打印结果为()
```java
public class Test2
{
public void add(Byte b)
{
b = b++;
}
public void test()
{
Byte a = 127;
Byte b = 127;
add(++a);
System.out.print(a + " ");
add(b);
System.out.print(b + "");
}
}
```
A. 127 127
B. 128 127
C. 129 128
D. 以上都不对
**解析:public void add(Byte b){ b=b++; } 这里涉及java的自动装包/自动拆包(AutoBoxing/UnBoxing) Byte的首字母为大写,是类,看似是引用传递,但是在add函数内实现++操作,会自动拆包成byte值传递类型,所以add函数还是不能实现自增功能。也就是说add函数只是个摆设,没有任何作用。 Byte类型值大小为-128~127之间。 add(++a);这里++a会越界,a的值变为-128 add(b); 前面说了,add不起任何作用,b还是127**
答案:D
- 下面关于Applet的说法是正确的是
A. Applet可以在带有Java解释器的浏览器中运行
B. Applet类必须继承java.applet.Applet
C. Applet可以访问本地文件
D. Applet是Object类的子类
答案:ABCD
- 两个线程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约性合作关系被称为进程的**同步**
- 设属性A是关系R的主属性,则属性A不能取空值(NULL)。这是(**实体完整性**)。
- 以太网媒体访问控制技术CSMA/CD的机制是(**争用宽宽带**)。
- 以下程序的打印结果是()
```cpp
1.#include<iostream>
2.using namespace std;
3.
4.void swap_int(int a , int b)
5.{
6. int temp = a;
7. a = b;
8. b = temp;
9.}
10.
11.void swap_str(char*a , char*b)
12.{
13. char*temp = a;
14. a = b;
15. b = temp;
16.}
17.
18.int main(void)
19.{
20. int a = 10;
21. int b = 5;
22. char*str_a = "hello world";
23. char*str_b = "world hello";
24. swap_int(a , b);.
25. swap_str(str_a , str_b);
26. printf("%d %d %s %s\n",a,b,str_a,str_b);
27.
28. return 0;
29.}
```
A. 10 5 hello world world hello
B. 10 5 world hello hello world
C. 5 10 hello world world hello
D. 5 10 world hello hello world
**解析:swap_str(str_a, str_b)将实参的地址传递给了形参,其实跟上面的类似,并没有改变实参str_a、str_b的指向,实参没有交换。**
答案:A
- 直接封装RIP、OSPF、BGP报文的协议分别是 。
A. TCP、UDP、IP
B. TCP、IP、UDP
C. UDP、TCP、IP
D. UDP、IP、TCP
**解析:RIP是一种分布式的基于距离向量的路由选择协议,通过广播UDP报文来交换路由信息。OSPF是一个内部网关协议,不使用传输协议,如UDP或TCP,而是直接用IP包封装它的数据。BGP是一个外部网关协议,用TCP封装它的数据。因此,选D。**
答案:D
- 所有软件活动过程包括的四个基本活动是()
A. 可行性研究
B. 软件描述
C. 软件设计和实现
D. 软件规划
E. 软件有效性验证
F. 软件进化
答案:BCEF
- 下面描述中不属于数据库系统特点的是?
A. 数据共享
B. 数据完整性
C. 数据冗余度高
D. 数据独立性高
**解析:数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C错误。**
答案:C