3.17测试复盘

  • 如下代码的输出是
	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. ”
”
	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
",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
原文地址:https://www.cnblogs.com/l999q/p/12520955.html