JavaSE 软件工程师 认证考试试卷3

<div class="WordSection1">
<p align="center">JavaSE 软件工程师


<p align="center">认证考试试卷


<p align="center"> 


<p align="center">笔试


<p align="center"> 


<p align="center"> 


<p align="center">考试时间150分钟


<p align="center"> 


<p align="center">总分 100分


<p align="center"> 


<p align="center">姓    名


<p align="center">身份证号


<p align="center">准考证号___


<p align="center"> 


<p align="left"> 


<p align="left"> 


<p align="left"> 


<p align="center">考试结束后考卷必须收回,否则考试成绩无效

<p align="center"> 


<p align="center">尚学堂JavaSE软件工程师认证考试试卷


<p align="center"> 

一、    填空题(共20个题目,总计20分)

  1. Java虚拟机就是一个虚拟的用于执行的计算机。它是Java最核心的技术,是Java跨平台的基础。
  2. 使用Java开发应用程序包括编写源程序,编译源程序,解释并运行三个步骤,其中编译和解释分别需要使用javac.exe和实现。
  3. 一个十进制整数转换成八进制数后是1234,则它转为十六进制数后是
  4. Java中浮点数据类型包括float和double两种类型,其中float类型又被称作单精度类型,尾数可以精确到7位有效数字,在内存中占用个字节。
    1. 使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是:
  5. for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是
    1. Java中方法与类名相同,没有返回值,在创建对象实例时由new运算符自动调用。
  6. 语句作为Java源文件的第一条语句,指明该源文件定义的类所在的包。
  7. 局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字
  8. Java异常处理中,如果一个方法中出现了多个Checked异常,可以在方法声明中使用关键字声明抛出,各异常类型之间使用逗号分隔。
  9. 声明数组仅仅是给出了数组名字和元素的数据类型,要想真正地使用数组还必须为它
    1. Arrays类的binarySearch( ) 方法使用二分搜索法来搜索指定的数组,以获得指定的值。必须在进行此调用之前对数组进行,否则否则结果是不确定的。
    2. Object类有一个public方法是,一个对象通过调用该方法可以获得该对象的字符串表示。
    3. StringBuilder类是StringBuffer类的替代类,两者的共同点是都是可变长度字符串,其中线程安全的类是StringBuffer
    4. Java集合框架提供了一套性能优良、使用方便的接口和类,包括Collection和Map两大类,它们都位于包中
    5. 是一种Collection类型的集合类,其中元素唯一,并采用二叉树作为存储结构,元素按照自然顺序排列。
    6. Java IO流可以分为和处理流两大类,其中前者处于IO操作的第一线,所有操作必须通过他们进行。
    7. 处于新建状态的线程被启动后,将进入线程队列排队等待CPU服务,此时它已经具备了运行条件,一旦轮到享用CPU资源时,就可以脱离创建它的主线程独立开始自己的生命周期。上述线程是处于状态。
    8. 在线程通信中,调用方法可以是当前线程处于等待状态,而为了唤醒一个等待的线程,需要调用的方法是notify( )。
    9. 在Socket编程中,IP地址用来标志一台计算机,但是一台计算机上可能提供多种应用程序,使用来区分这些应用程序。

 

二、    选择题(共25个题目,总计25分)

 

1)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">有一段Java 程序,其中public类名是A1,那么保存它的源文件名可以是(  A   )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">A1.java

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">A1.class

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">A1

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">都不对

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">

<tr>
<td valign="top" width="53">
<p align="left">2)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">Java中,byte数据类型的取值范围是(  A   )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">-128
~ 127

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">-228
~128

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">-255
~ 256

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">-255
~ 255

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">3)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">有以下方法的定义,请选择该方法的返回类型( 
D
   )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left"><span style="text-decoration: underline">         
  method(byte
x,double y) {


<p align="left">         return  (short)x/y*2;


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">

byte

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">short

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">

int

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

double

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">4)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">以下选项中添加到代码中横线处会出现错误的是(  BD   )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">public class Test {


<p align="left">         publicfloat aMethod(float
a,float b) {


<p align="left">                  return 0;       


<p align="left">         }


<p align="left">   <span style="text-decoration: underline">                                    


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">public float  aMethod(float a,float b,float
c) {


<p align="left">                  return 0;


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">public float  aMethod(float c,float d) {


<p align="left">                  return 0;


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">public int  aMethod(int a,int b) {


<p align="left">         return 0;


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">private int  aMethod(float a,float b) {


<p align="left">         return 0;


<p align="left">}

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">5)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">阅读下列文件定入的Java代码,其执行结果是(    D )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">public class Test {


<p align="left">         publicstaticvoid
main(String[] args) {


<p align="left">                  char ch = 'c';


<p align="left">                  switch (ch) {


<p align="left">                      case 'a':


<p align="left">                              System.out.print("a");         break;


<p align="left">                      case 'b':


<p align="left">                              System.out.print("ab");


<p align="left">                      case 'c':


<p align="left">                              System.out.print("c");


<p align="left">                      default:


<p align="left">                              System.out.print("d");


<p align="left">                  }


<p align="left">         }


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">a

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">b

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">c

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">cd

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">6)

</td>
<td colspan="2" valign="top" width="661">

下面程序执行的结果是在屏幕上打印(    B )次Java基础班。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">for(int 
i=1;i<=10;i++){


<p align="left">         if (i<5)


<p align="left">                  continue;


<p align="left">         System.out.println("Java基础班");


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">5

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">6

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">7

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">8

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">7)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">以下四个选项中和下面代码功能相同的是(  B   )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">int i = 1;


<p align="left">int sum = 0;


<p align="left">while (i <= 100) {


<p align="left">         if (i % 2 == 0)


<p align="left">                  sum = sum + i;


<p align="left">         i++;


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">

for (int x =1; x<=100;x++){ sum=sum+x;}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">

for (int x =0; x<=100;x+=2){ sum=sum+x;}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">

for (int x =1; x<=100;x+=2){ sum=sum+x;}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">上述全对

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">8)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">以下代码中错误的语句是( 
 )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">public class Something{


<p align="left">         publicstaticvoid
main(String[] args){


<p align="left">                  final Other o=new
Other();


<p align="left">                  new
Something().addOne(o);//1


<p align="left">         }


<p align="left">         publicvoid addOne(
Other o){


<p align="left">                  o.i++;//2


<p align="left">                  o =  new Other();//3


<p align="left">         }


<p align="left">}


<p align="left">class Other{


<p align="left">         publicint i;


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">1

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">2

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">3

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">没有错误

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">9)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">Java中,以下程序编译运行后的输出结果为(  D   )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">public class Test {


<p align="left">    int x,y;


<p align="left">    Test(int x,int y) {


<p align="left">        this.x = x;


<p align="left">        this.y = y;


<p align="left">    }


<p align="left">    publicstaticvoid
main(String[] args) {


<p align="left">        Test pt1,pt2;


<p align="left">        pt1 = new Test(3,3);


<p align="left">        pt2 = new Test(4,4);


<p align="left">        System.out.print(pt1.x

  • pt2.x);


    <p align="left">    }


    <p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">6

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">34

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">8

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">7

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">10)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">下列选项中关于Java中类方法的说法错误的是(  A  C )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">在类方法+中可用this来调用本类的类方法

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">在类方法中调用本类的类方法时可直接调用

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">在类方法中只能调用本类中的类方法

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">在类方法中调用实例方法需要先创建对象

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">11)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">下列选项中关于Javasuper关键字的说法正确的是(  AD   )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">super关键字是在子类对象内部指代其父类对象的引用

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">super关键字不仅可以指代子类的直接父类,还可以指代父类的父类

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">子类通过super关键字只能调用父类的方法,而不能调用父类的属性

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">子类通过super关键字可以调用父类的构造方法

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">12)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">编译运行如下Java代码,输出结果是()。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">class Base {


<p align="left">         public void
method(){


<p align="left">                  System.out.print ("Base
method");


<p align="left">         }


<p align="left">}


<p align="left">class Child extends
Base{   


<p align="left">         public void
methodB(){


<p align="left">                  System.out.print ("Child
methodB");


<p align="left">         }


<p align="left">}


<p align="left">class Sample {


<p align="left">         public static void main(String[] args) {


<p align="left">                  Base base= new Child();


<p align="left">                  base.methodB();


<p align="left">         }


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">Base method

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">Child methodB

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">Base method


<p align="left">Child methodB

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">编译错误

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">13)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">Java中,关于引用数据类型的类型转换说法正确的是(AB     )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">引用数据类型的类型转换有向上转型和向下转型

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">向下转型,必须转换成其真实子类型,而不能随意转换

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">向下转型是自动进行的,也称隐式转换

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">向上转型可以使用instanceof操作符来判断转型的合法性

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">14)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">Java接口中,下列选项中属于有效的方法声明是(  AC   )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">

public void aMethod( );

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">final
void aMethod( );

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">void aMethod(){ }

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

private void aMethod( );

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">15)

</td>
<td colspan="3" valign="top" width="661">
<p align="left">以下选项中关于匿名内部类的说法正确的是(   BD  )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="50">
<p align="left">A.

</td>
<td valign="top" width="611">

匿名内部类可以实现多个接口,或者继承一个父类

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">匿名内部类不能是抽象类,必须实现它的抽象父类或者接口里包含的所有抽象方法

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">匿名内部类没有类名,所以匿名内部类不等定义构造方法

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

匿名内部类可以直接访问外部类的所有局部变量

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left">16)

</td>
<td colspan="3" valign="top" width="661">
<p align="left">阅读如下Java代码,在控制台输入"-1",执行结果是(B)。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="3" valign="top" width="661">
<p align="left">public class Demo {


<p align="left">         publicstaticvoid
main(String[] args) {


<p align="left">                  Scanner input = new
Scanner(System.in);


<p align="left">                  System.out.print("请输入数字:");


<p align="left">                  try {


<p align="left">                          int num =
input.nextInt();


<p align="left">                          if (num <
1 || num > 4) {


<p align="left">                                   throw
new Exception("必须在1-4之间!");


<p align="left">                          }


<p align="left">                  } catch
(InputMismatchException e) {


<p align="left">                          System.out.println("InputMismatchException");


<p align="left">                  } catch (Exception e)
{


<p align="left">                          System.out.println(e.getMessage());


<p align="left">                  }


<p align="left">         }


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="38">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="622">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="38">
<p align="left">A

</td>
<td colspan="2" valign="top" width="622">
<p align="left">输出:InputMismatchException

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="38">
<p align="left">B.

</td>
<td colspan="2" valign="top" width="622">
<p align="left">输出:必须在1-4之间!

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="38">
<p align="left">C.

</td>
<td colspan="2" valign="top" width="622">
<p align="left">什么也没输出

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="38">
<p align="left">D.

</td>
<td colspan="2" valign="top" width="622">
<p align="left">编译错误

</td>

</tr>
<tr>
<td width="53"> </td>
<td width="38"> </td>
<td width="12"> </td>
<td width="611"> </td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">17)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">关于Integer类中的静态方法parseInt()方法说法正确的是( BD    )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">将小数转换成整数

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">将数字格式的字符串转成整数

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">使用parseInt()方法可能抛出异常

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">将单个字符转成整数

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">18)

</td>
<td colspan="3" valign="top" width="661">
<p align="left">以下程序片段中可以正常编译的是(   C  )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td colspan="2" valign="top" width="611">
<p align="left">String s =
"Gone with the wind"; 


<p align="left">String k =
s+t;


<p align="left">String t =
"good";

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td colspan="2" valign="top" width="611">
<p align="left">String s =
"Gone with the wind";


<p align="left">String t;          


<p align="left">t =
s[3]+"one";

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td colspan="2" valign="top" width="611">
<p align="left">String s =
"Gone with the wind";


<p align="left">String
stanfard = s.toUpperCase();

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td colspan="2" valign="top" width="611">
<p align="left">String s =
"home directory";


<p align="left">String t = s
– "directory";

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left">19)

</td>
<td colspan="3" valign="top" width="661">
<p align="left">以下代码的执行结果是( C   )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="3" valign="top" width="661">
<p align="left">Set
s=new HashSet();


<p align="left">s.add("abc");


<p align="left">s.add("abc");


<p align="left">s.add("abcd");


<p align="left">s.add("ABC");


<p align="left">System.out.println(s.size());

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="607">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="53">
<p align="left">A.

</td>
<td valign="top" width="607">
<p align="left">1

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="53">
<p align="left">B.

</td>
<td valign="top" width="607">
<p align="left">2

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="53">
<p align="left">C.

</td>
<td valign="top" width="607">
<p align="left">3

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="53">
<p align="left">D.

</td>
<td valign="top" width="607">
<p align="left">4

</td>

</tr>
<tr>
<td width="53"> </td>
<td width="50"> </td>
<td width="3"> </td>
<td width="607"> </td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">20)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">File类中的isDirectory( )方法的作用是( BD    )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A.

</td>
<td valign="top" width="611">

判断File对象封装的是否是文件

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">判断File对象封装的是否是目录

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">判断File对象中封装的是否是根目录

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

返回值类型是boolean

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">21)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">阅读下列文件定入的JAVA代码,共有(  C   )处错误。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td colspan="2" valign="top" width="661">
<p align="left">import java.io.*;


<p align="left">publicclass TestIO {


<p align="left">         publicstaticvoid
main(String []args){


<p align="left">                  String str ="文件写入练习";


<p align="left">                  FileWriter fw = null;        //1


<p align="left">                  try{


<p align="left">                          fw = new
FileWriter("c:\mytext.txt"); 
//2


<p align="left">                          fw.writerToEnd(str);   //3


<p align="left">                  }catch(IOException
e){   //4


<p align="left">                          e.printStackTrace();


<p align="left">                  }finally{


<p align="left">                          //此处省略关闭流


<p align="left">                  }


<p align="left">         }


<p align="left">}

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A

</td>
<td valign="top" width="611">
<p align="left">0

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">1

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">2

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">
<p align="left">3

</td>

</tr>

<table style="width: 714px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="53">
<p align="left">22)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">以下选项中关于Java中线程控制方法的说法正确的是( AD    )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A.

</td>
<td valign="top" width="611">

join ( ) 的作用是阻塞指定线程等到另一个线程完成以后再继续执行

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">sleep (
) 的作用是让当前正在执行线程暂停,线程将转入就绪状态

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">yield ( ) 的作用是使线程停止运行一段时间,将处于阻塞状态

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

setDaemon( )的作用是将指定的线程设置成后台线程

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left">23)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">Java中线程安全问题是通过关键字(  C   )解决的?。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A.

</td>
<td valign="top" width="611">

finally

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">wait( )

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">synchronized

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

notify( )

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left">24)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">ServerSocket的监听方法accept( )方法的返回值类型是( 
 )。(选择一项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A.

</td>
<td valign="top" width="611">

Socket

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">void

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">Object

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

DatagramSocket

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left">25)

</td>
<td colspan="2" valign="top" width="661">
<p align="left">以下选项中关于Java中获取Class对象的方式正确的是( C D   )。(选择二项)

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left"> 

</td>
<td valign="top" width="611">
<p align="left"> 

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">A.

</td>
<td valign="top" width="611">

Class c1 = String.getClass( );

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">B.

</td>
<td valign="top" width="611">
<p align="left">String str = new String(“bjsxt”);


<p align="left">Class clazz = str.class;

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">C.

</td>
<td valign="top" width="611">
<p align="left">Class c1 =
Integer.TYPE;

</td>

</tr>
<tr>
<td valign="top" width="53">
<p align="left"> 

</td>
<td valign="top" width="50">
<p align="left">D.

</td>
<td valign="top" width="611">

Class clazz = Class.forName("java.lang.Object");

</td>

</tr>

三、    判断题(共20个题目,总计10分,正确,错误×

  1. 和C++相比,Java取消了指针,不再有多重继承,不需要手动回收垃圾。(    T)
  2. Java具有一次编译,到处运行的特点,其含义是Java的源代码可以一次性编译成计算机的机器码,并在不同的平台上运行。(  F  )
  3. char 数据类型用来表示在ASCII编码表中的一个字符,在内存中占用1个字节空间,所以不能表示一个汉字。(  F  )
  4. 赋值和条件运算符是运算级别最低的两种运算符,两者都具有自右向左的结合性。( T   )
  5. 多重循环是指一个循环体内又包含另一个完整的循环结构。外层循环变量变化一次,内层循环变量要从头到尾变化一遍。(  T  )
  6. 任何可用递归解决的问题也能使用循环解决,递归既花时间又耗内存,在要求高性能的情况下尽量避免使用递归。( T   )
  7. 访问权限是private的变量,只能在本类和与本类同一个包中的其他类使用。(   F )
  8. 对于子类创建的一个对象,如果子类继承了父类的方法,未重写,则运行时调用子类的方法。( F   )
  9. ArithmeticException,ArrayIndexOutOfBoundsException,NullPointerException是运行时异常,而ClassNotFoundException,ClassCastException是Checked异常。(F    )
  10. 数组的长度是确定的,数组一旦被创建,它的大小就是不可以改变的。但是其元素类型可以是不同类型,允许出现混合类型。(  F  )
  11. 创建数组后,系统会给每个数组元素一个默认值,如double型元素的默认值是0.0。( T   )
  12. JK1.5后提供了自动装箱和自动拆箱功能,从而可以实现基本数据类型和对应包装类之间的自动转换,简化了操作。( T   )
  13. java.sql.Date类和java.util.Date类的关系是前者是后者的父类,其中前者没有提供无参数构造方法,而后者可以提供无参数构造方法来获取当前时间。( F   )
  14. Collection是Java集合顶级接口,其中的元素无序,唯一。Java平台不提供这个接口任何直接的实现。( T   )
  15. Iterator接口可以遍历任何Collection接口的实现类,可以从一个Collection中使用iterator( )方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。(T )
  16. 序列化是指将字节序列转换成Java对象,只有实现了Serializable接口的类的对象才可以被序列化。(F   )
  17. 一个进程可以包括多个线程。两者的一个主要区别是:线程是资源分配的单位,而进程CPU调度和执行的单位。( F   )
  18. 用new关键字建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start进入就绪状态。( T   )
  19. TCP协议是一种面向无连接的、可靠的、基于字节流的传输层通信协议,该协议占用系统资源多、效率较低。(  F  )
  20. Java反射技术中,对于一个private修饰的成员变量,可以再设置setAccessible(true)后进行暴力访问。(  T  )

四、    简答题(共5个题目,总计25分)

  1. 面向过程和面向对象的区别。(5分)
    1. 编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。(1分)
    2. 封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。(1分)
    3. 面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势是明显。(1分)
    4. 面向对象耦合性低,更利于修改维护。(盖浇饭/蛋炒饭)。(1分)
    5. 面向过程更适合解决简单问题。面向对象更适合解决复杂问题。(1分)
  1. Error和Exception的区别。(5分)
    1. Error类,表示仅靠程序本身无法恢复的严重错误,比如说内存溢出、动态链接异常、虚拟机错误。(1分)应用程序不应该抛出这种类型的对象。假如出现这种错误,除了尽力使程序安全退出外,在其他方面是无能为力的。(1分)
    2. Exception类,由Java应用程序抛出和处理的非严重错误,比如所需文件没有找到、零作除数,数组下标越界等。(1分)它的各种不同子类分别对应不同类型异常。可分为两类:Checked异常和Runtime异常。(1分)所以在进行程序设计时,应该更关注Exception类。(1分)
  1. 列举常用的字节输入流和输出流并说明其特点,至少5对。(5分)
    1. FileInputStream和FileOutputStream 节点流 以文件为数据源和目的地(1分)
    2. BufferedInputStream和BufferedOutputStream 处理流 提供了缓冲功能,提高读写效率(1分)
    3. DataInputStream和DataOutputStream 处理流 提供了方便读写基本数据类型和String数据的方法(1分)
    4. ObjectInputStream和ObjectOutputStream 处理流 不仅提供了方便读写基本数据类型和String数据的方法,也提供了读写引用类型数据的方法(1分)
    5. ByteArrayInputStream和ByteArrayOutputStream 节点流 以字节数组为数据源和目的地(1分)
  1. 创建线程的两种方式分别是什么?各有什么优缺点。(5分)
    1. 方式1:继承java.lang.Thread类,并覆盖run() 方法。(1分)

  1. 方式2:实现java.lang.Runnable接口,并实现run()方法。(1分)

  1. 简述基于UDP的Socket编程的主要步骤。

    提示:分别说明服务器端和客户端的编程步骤。(5分)

    服务器端(server):

    1)       构造DatagramSocket实例。(0.5分)

    2)       创建数据包DatagramPacket,存取发送和接收的数据、IP和端口。(0.5分)

    3)       通过DatagramSocket实例的receive方法接收客户端数据。(0.5分)

    4)       通过DatagramSocket的send方法向客户端发出反馈信息。(0.5分)

    5)       关闭DatagramSocket。(0.5分)

    客户端(client):

    1)       构造DatagramSocket实例。(0.5分)

    2)       创建数据包DatagramPacket,存取发送和接收的数据、IP和端口。(0.5分)

    3)       通过DatagramSocket实例的receive方法接收客户端数据。(0.5分)

    4)       通过DatagramSocket的send方法向客户端发出反馈信息. (0.5分)

    关闭DatagramSocket。(0.5

1 a = 20; price = 3; sum = 0; cola = 0; s = 0; (a> cola = a/price; sum+=cola; s=a%price; a =cola+s; System.out.println("最多可以喝到:"+sum+"瓶可乐" 2 1) 方法声明为public 2 3 sortArr( temp = 0 ( i=0;i ( j=i+1;j (arr[i]> temp = arr[i] = arr[j] = [] arr ={10,25,110,-20,18,-36,65,14,3 Array_2 a = 3 功能1:定义方法public 1) 使用构造方法Student( id,String name, 2 3 4 功能2:定义方法public 1 2) 使用构造方法Student( id,String sex )创建多个学生信息,并使用Student的id属性作为key,存入Map 3 4 Student_3( id,String sex) { .id = .name = .age = .sex = setId( .id = .name = setAge( .age = .sex = "["+id +" "+ name +" "+ age +" "+ sex+"]" List list = ArrayList<> Map map = HashMap<> Iterator it = Student_3 stu = Set> entrySet = (Entry Map< Integer,Student_3> map = HashMap<> List list = ArrayList<> Set> entrySet = (Entry Iterator it = Student_3 s1 = Student_3(101,"张三","男" Student_3 s2 = Student_3(102,"马琴","女" Student_3 s3 = Student_3(103,"赵薇",36,"女" Student_3 s4 = Student_3(104,"李小梅",31,"女" Test_3 t = System.out.println("List集合转Map集合" System.out.println("\n" System.out.println("Map集合转List集合" }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


@ 注解能被用来为程序元素( 类、 方法、 成员变量等) 设置元数据。 值得指出的是, 注解不影响程序代码的执行, 无论增加、 删除注解, 代码都始终如一地执行。 如果希望让程序中的注解在运行时起一定
@ 1、线性表的概念 线性表是最常见也是最简单的一种数据结构。简言之, 线性表是n个数据元素的有限序列。 其一般描述为: A={a1,a2,……an) 一个数据元素通常包含多个数据项, 此时每个数据元
简介 ArrayList是开发中使用比较多的集合,它不是线程安全的,CopyOnWriteArrayList就是线程安全版本的ArrayList。CopyOnWriteArrayList同样是通过数组
在 Java String类源码阅读笔记 里学习了String类的源码,StringBuilder、StringBuffer是经常拿来和String类做对比的两个类,可谓是“爱恨纠缠” ,这里我们继续
话不多说,先上图。 1、基本概念 欲说线程,必先说进程。 进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程:线程是进程的一个执行路径,一个进程中至少有一个线程,进
@ 网络基础 计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同一种网络协议。 那什么是互联网呢?互联网是网络的网络(internet
JVM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识。 先上图: 1、JVM基本概念 1.1、JVM是什么 JVM 的全称是 「Java Virtual Machine
@ 本文基于jdk1.8 HashMap采用 key/value 存储结构,每个key对应唯一的value。 在jdk1.7之前,HashMap 的内部存储结构是数组+链表。 在jdk1.8中 Has
@ Eclipse是很多Java开发者的第一个开发工具,尽管开源的Eclipse在一后起之秀的对比下,显得有些颓势,但是,Eclipse有着丰富的插件支持。选择合适的插件,Eclipse表示:老夫也能
@ 准备 LinkedList是基于双向链表数据结构实现的Java集合(jdk1.8以前基于双向循环链表),在阅读源码之前,有必要简单了解一下链表。 先了解一下链表的概念:链表是由一系列非连续的节点组
@ 写博客哪有刷逼乎有意思 1 写博客哪有刷逼乎有意思 2 写博客哪有刷逼乎有意思 3 类的加载、 连接和初始化 系统可能在第一次使用某个类时加载该类, 也可能采用预加载机制来加载某个类。 JVM 和
树结构是一类重要的非线性数据结构。直观来看,树是以分支关系定义的层次结构。树结构在客观世界广泛存在,如人类社会的族谱和各种社会组织机构都可用树来形象表示。 树在计算机领域中也得到广泛应用,尤以二叉树最
@ 本文基于jdk1.8 String类可谓是我们开发中使用最多的一个类了。对于它的了解,仅仅限于API的了解是不够的,必须对它的源码进行一定的学习。 一、前置 String类是Java中非常特别的一
随便打开一个招聘网站,看看对高级Java工程师的技能要求。 抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方。 Java基础 计算机基础 数据库,SQL/NoSQL 常用开
@ JDBC指Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库。 1、JDBC典型用法 1.1、JDBC 4.2 常用接口和类简介
简介 ArrayList是基于数组实现的一种列表。 ArrayList继承体系如下: 图一:ArrayList继承体系 ArrayList实现了List, RandomAccess, Cloneabl
@ Java 的 IO 通过 java.io 包下的类和接口来支持, 在 java.io 包下主要包括输入、 输出两种 10 流, 每种输入、 输出流又可分为字节流和字符流两大类。 其中字节流以字节为
@ 使用断言 断言(Assertion)是一种调试程序的方式。在Java中,使用assert关键字来实现断言。 断言的概念 假设确信某个属性符合要求, 并且代码的执行依赖于这个属性。例如, 需要计算:
@ Java 程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定功能。 Java 提供了 System 类和 Runtime 类来与程序的运行平台进行交互。 Syste
@ Java 提供了一个操作 Set 、 List 和 Map等集合的类:Collections , 该工具类里提供了大量方法对集合元素进行排序、 查询和修改等操作,还提供了将集合对象设置为不可变、对