您的位置:首页 > 编程语言 > Java开发

Java模块笔试

2017-06-21 19:18 176 查看

                                           Java模块笔试

一、选择题:不定项选择(共30分,每题1.5分)

1. 下列数组定义正确的是( B C D E )

A int[] a[] = new float[2]

B int my[][] = new int[3][3]

C String[] str = new String[3] ;

D byte b[][] = new byte[3][]

E double d[][] = new double[][4]

2.switch选择结构语句中的表达式后面可以跟的数据类型( A B C E D(JDK7以后可以跟))

A.byte

B.int

C.char

D.String

E. short

3. 有以下程序

public class Test{

public static void main(String[] args){

int x=4,y=10;

boolean c=x>y&&(y=100)>x*x;

System.out.println(y);

}

}

运行结果是什么( B )

A. 输出 4

B. 输出 10

C. 输出 true

D. 输出 false

 

4.有以下程序

int k=1;

while(k=1){

// some code

k++;

--k;

}

以上循环次数是多少( C )

A. 0次 B.1次 C.无限次 D.编译报错

5.在java中,用package语句定义一个包时,该包的层次结构即是
(B)


A 与文件的结构相同

B 与文件目录的层次相同

C 与文件类型相同

D 与文件大小相同

6.属于java关键字的是(多选题)( A B C D )

A if

B else

C do

D while

7.以下哪个是文档注释(  C )

A. // B. /*  */ C./** */ D.#

8.字母a对应的Unicode码是多少(
A )

A.97 A B.65 a C.48 D.32

9.java语言诞生于哪一年( A )

A.1946 B.1972 C.1985 D.1995

10.以下关于char类型,说法正确的是( B )

A.char和int可以相互赋值

B.char和int不可以相互赋值

C.char和int占的字节数一样

D.char和boolean占的字节数一样

11.以下关于变量的说法,正确的是( D )

A.变量可以不用定义直接使用

B.变量可以不用初始化直接输出

C.变量的名字长度无限制

D.变量的名字长度最大为255列

12.表达式(int)5.5/2.0的结果是( A)

A. 2.5 B.2 C. 2.0 D. 报错

13.以列变量定义错误的是( D )

A.int a ; B.double b = 4.5  C.boolean b = true D.float f = 9.8 ;

14.java语言是1995年由( )公司发布(
 A )

A.Sun B.Microsoft C.Broland D.FOx Software

15.以下程序的运行结果是( B  )

int a=3;  int b;

b=++a;

System.out.println(b);

A.3 B.4 C.5 D.6

 

16.以下代码的运行结果是( C )

int a=3;  int b;

b=a++;

System.out.println(b);

A.1 B.2 C.3 D.4

17.以下程序的运行结果是( C  )

int x=4,y=10;

boolean c;

c=x>10&&(y=55)<10;

System.out.println(y);

A.true B.false C.10 D.55

18.以下程序运行结果是(  C )

int i;

for(i=1;i<=10;i++){

if(i==5){

contiune;

}

System.out.println(i)

}

A.1 2 3 4 B.1 2 3 4 5 C.1 2 3 4 6 7 8 9 10 D.报错

19.以下程序的运行结果是(  A )

int i;

for(i=1;i<=10;i++){

if(i%3==0){

System.out.println(i)

}

}

A.3 6 9 B.1 2 3 C.2 4 6 8 10 D.1 3 5 7 9

20. 以下程序的运行结果是( D  )

System.out.println( 5>6?6:5 );

A.56 B.65 C.6 D.5

 

二、填空题(共20分,每题2分)

1. 列举出5个关键字  答:
publc  static  void  int  for

2. 请列出3中定义二维数组的格式  答;1.数据类型[][]
数组名

       2.数据类型 数组名[][]   3.数据类型[]
数组名[]

3. 使用Scanner时,如何导包  答:import  util.java.Scanner

4. 数据类型的分类有哪些  答:整数 浮点型 字符型 布尔型

5. 写出byte数据类型的取值范围__-128~127__所占的字节______8______

6. 写出78的2进制_______1001110_________________________________

7. 写出3&4的结果______0_______

8. Java源文件的后缀是_____.java________,编译java源文件的命令是_______java
 名称_______

9. 若int a=3;
则执行表达式a+=5后,a的值为___8_____________

10. 若int a=4,计算表达式a=a++后,a的值为_____4____________

 

三、判断题(共10分,每题1分)

1.  int i=2147483647 + 1; 可以正确通过编译  错误

2.  Java是面向过程的编程语言    错误

3.  &&和&都是与运算,没有任何区别   错误

4.  同一个数组中必须存放相同类型的数据.  正确

5.  若有java源文件A.java,则编译源文件的命令是java  a.java   错误

6.  当一个long类型的数据和一个float类型的数据计算时,结果为long类型,因为long占的字节比float多.
 错误

7. 封装的好处是将成员变量私有,提供公共的访问方法.
正确

8. float f = 5.5不可以正确通过编译  正确

9.   float为单精度数据类型,占4个字节,有7位有效数字.
 错误

10. 表达式-5%-3的结果为2  错误

 

四、简答题(共20分,每题4分)

1. 写出i++和++i的区别?

   答:i++表示i先使用,后自增;++i表示i先自增后使用。

2. short s=1; s=s+1; 这段代码对还是错?为什么?

   答:错误,因为在计算时系统默认是int类型,而s定义是short类型,会报错。应该进行强制转换。

3. 写出短路与和逻辑与的区别

   答:短路与:&&  比如a&&b,如果a错误,将不执行b;

逻辑与:&;

4:java中的内存分配有哪些?

   答:栈内存和堆内存。

5:栈内存的特点以及堆内存的特点分别是什么?

   答:栈:后进先出

       堆:先进先出

 

 

五、编程题(共70分,每题10分)(使用notepad/notepad++编写:注意要写上注释)

1. 自定义一个数组静态初始化,然后遍历该数组,获取数组中的最大值和最小值

2. 数组的遍历(一维数组)

3:请实现一个数据和另一个数据的交换:至少使用3种方式书写

4:请定义数组实现数组(静态初始化)中的元素逆序(没有指明二维数组的都是用一维数组实现)

5:定义数组,通过查找数组元素中第一次出现的索引(用方法实现)

6:实现二维数组的遍历

7:java中经常会遇到NullPointerException异常:请分析以下出现该异常的原因,以及如何解决!(请用代码实现解决的方式)

答:1. //1. 自定义一个数组静态初始化,然后遍历该数组,获取数组中的最大值和最小值

public static void main(String[] args){

    int [] arr={23,56,34,55,89};//静态初始化了一维数组

    Bianli (arr);//调用遍历部分

    int m=Zuida(arr);//调用最大值部分

    int n=Zuixiao(arr);//调用最小值部分

    System.out.println("最大值为:"+m);//输出

    System.out.println("最小值为:"+n);//输出

    

}

//一维数组的遍历

public static void Bianli(int[] arr){

  System.out.print("[");

  for (int x=0;x<arr.length;x++){

     if (x==arr.length-1){

      System.out.println(arr[arr.length-1]+"]");

      }else{

      System.out.print(arr[x]+",");

      }

    }

  }

//求最大值

public static int Zuida (int[] arr){

   int max=arr[0];

   for(int x=1;x<arr.length;x++){

    if (arr[x]>max){

     max=arr[x];

   }

  }

   return max;

}

//求最小值

public static int Zuixiao(int[] arr){

   int little=arr[0];

   for(int x=1;x<arr.length;x++){

    if (arr[x]<little){

     little=arr[x];

   }

  }

   return little;

}

2. //一维数组的遍历

public static void Bianli(int[] arr){

  System.out.print("[");

  for (int x=0;x<arr.length;x++){

     if (x==arr.length-1){

      System.out.println(arr[arr.length-1]+"]");

      }else{

      System.out.print(arr[x]+",");

      }

    }

  }

3.//实现数据a,b交换

  int c=a;

  a=b;

  b=c;

________________________

  int c=a^b;

  a=a^c;

  b=b^c;

________________________

  a=a+b;

  b=a-b;

  a=a-b;

 

 

4. //4:请定义数组实现数组(静态初始化)中的元素逆序(没有指明二维数组的都是用一维数组实现)

   public static void main(String[] args){

   int[] arr={23,45,32,45,56};

  System.out.println("逆序前:");

  Bianli(arr);

  System.out.println("逆序后: ");

  Nixu(arr);

  Bianli(arr);

   

 

}

//一维数组的遍历

public static void Bianli(int[] arr){

  System.out.print("[");

  for (int x=0;x<arr.length;x++){

     if (x==arr.length-1){

      System.out.println(arr[arr.length-1]+"]");

      }else{

      System.out.print(arr[x]+",");

      }

    }

  }

//一维数组的逆序

       public static void Nixu(int[] arr){

         for (int x=0;x<arr.length/2;x++){

          int temp=arr[x];

          arr[x]=arr[arr.length-1-x];

          arr[arr.length-1-x]=temp;

         }

        }

5. //5:定义数组,通过查找数组元素中第一次出现的索引(用方法实现)

//静态初始化数组{34,56,23,12,89},求23第一次出现在数组中的索引

public static void main(String[] args){

     int[] arr={34,56,23,12,89};

     System.out.print("23第一次出现在数组中的索引是:");

       Suoyin(arr);

    System.out.println();

}

//求23第一次出现在数组中的索引

     public static void Suoyin(int[] arr){

      for(int x=0;x<arr.length;x++){

       if (arr[x]==23){

        System.out.println(x);

        break;

  }

       }

}

6.//实现二维数组的遍历

 int [][] arr=new int[m]
;

for(int x=0;x<m;x++){

   for (int y=0;y<n;y++){

   System.out.print(arr[x][y]+"   ");

}

System.out.println();

}

7.// java中经常会遇到NullPointerException异常:请分析以下出现该异常的原因,以及如何解决!(请用代码实现解决的方式)

//答:该异常为空指针异常

//可以用非空判断来解决

if (arr[x]==null){

System.out.println("null");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: