Java 综合测试 1223/1224

1. 在JAVA中,下列哪些说法是正确的(c )  

Ajava源文件的扩展名为.java

B.写好的java源程序可以直接运行

C.编写的源程序必须先编译后才能运行

D.程序员可以读懂扩展名为.class的文件

2. 下列标识符哪个是合法的a

Aclass 

B$abc

C1234

D_name

3. 下面哪些赋值语句是正确的?(b)

A. long test = 012;

B. int other = (int) true;

C. double d = 0x12345678;

D. byte b = 128;

4. Java中,下列语句不能通过编译的有(b )

A. String s= “join”+ 3;                

B. int a= “join”+3;

C. int a= ‘a’+5;

D. float f=5+5.5;

5. 下列代码运行的结果是(c )

public static void main(String[] args) {

int x = 4;

int y = 5;

if(x++>4 & ++y>5) {   //X=5,Y=6

x++;

}

System.out.println("x=" + x + ",y=" + y);

}

A. x=4,y=5

B. x=4,y=6

C. x=5,y=6

D. x=6,y=6

6. 尝试运行下面的代码会发生什么?( )

public class Test {

public static void main(String[] args) {

boolean m = true;

if (m = false) {

System.out.println("true");

} else {

System.out.println("false");

}

}

}

A. 输出字符串”true”

B. 输出字符串”false”

C. 编译时错误

D. 运行时错误

b

7. 编译并运行以下代码将发生什么?

public static void main(String args[]){

     char digit = 'a';

     for (int i = 0; i < 10; i++){

       switch (digit)

       {

         case 'x' :

         {

         int j = 0;

System.out.println(j);

         }

         default :

         {

         int j = 100;

System.out.println(j);

         }

       }

    }

int i = j;

    System.out.println(i);

}

A. 输出11100

B. 输出10100,然后抛出运行期异常

C. 编译错误,因为变量i不能在main() 方法中被声明2

D. 编译错误,因为变量j不能在main() 方法中被声明2

E. 以上都不对

e

8. class Demo        

{

public static int fun(int c)

{

return  c+=2;

}

public static void main(String[] args)

{

int temp = fun(2);

System.out.println(temp);

}

}

A.  2

B.  4

C.  6

D.  8

b

9. 下面哪些函数是public void aMethod(){...}的重载函数?(bd )

A. void aMethod( ){...}

B. public int aMethod(int a, float b){...}

C. public void aMethod (){...}

D. public float aMethod (int m){…}

10. 在java中,关于数组描述正确的是(b d

A.数组中的索引下标从1开始

B.存储在数组当中的数据都属于同一数据类型

C.通过数组名.length()能获得数组的长度

D.数组的最大索引下标是数组的长度减1

11. 下面程序的输出结果是什么(d )

int[] arr = new int[10];

System.out.println(arr[0]);

A.编译不通过

B.运行时出错

C.输出null

D.输出0

12. 下面哪个语句正确地声明一个整型的二维数组(c )

A. int a[][] = new int[][];

B. int b[10][10] = new int[][];

C. int c[][] = new int[10][10];

13. 以下代码输出是(  

class Demo {

public static void main(String[] args) {

int i = 0;

int sum = 0;

while (i <= 10) {

i++;

if (i % 2 != 0)  

continue;

sum += i;   

}

System.out.println(sum);

}

}

A.  55

B.  45

C.  35

D.  30

d

14. 和下面代码能完成相同的选项是()

class Demo {

public static void main(String[] args) {

int i = 1;

int sum = 0;

while (i <= 100) {

if (i % 2 == 0) {

sum = sum + i;

}

i++;

}

System.out.println(sum);

}

}

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

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

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

D.上述全对

b

15. 下列有关类、对象和实例的叙述,正确的是哪一项?(d)

A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别

B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称

C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称

D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称

16. 下面关于java中包的说法正确的是( acd)

A. java中可以使用import语句导入包

B. java中可以使用package语句导入包

C. 位于同一个包中的类,不需要导包就可以直接访问

D. 不同的包中可以出现类名相同的类

17. 下列有关抽象类的叙述正确的是哪项?( c)

A.抽象类中一定含有抽象方法

B.抽象类既能被实例化也能被继承

C.抽象类的声明必须包含abstract关键字

D.抽象类中不能有构造方法

18. 下列有关接口的叙述错误的是哪项?(d)

A.接口中只能包含抽象方法和常量

B.一个类可以实现多个接口

C.类实现接口时必须实现其中的方法

D.接口不能被继承

19. 下列关于类的继承的描述,正确的有(b d

A. 一个类可以同时继承多个父类

B. 一个类可以具有多个子类

C. 子类会自动拥有父类所有的方法

D. 一个类继承另一个类需要使用 extends 关键字

20. 下列选项中关于java中this关键字的说法错误的有( b )  

A. this关键字是一个对象的引用

B. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行

C. this可用于静态方法中

21. 下列关于构造函数的说法正确的是( abd )

A. 方法名必须与类名相同

B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数

C. 我们在定义一个类时,必须要声明至少一个构造函数

D. 构造函数中不能使用return语句(这个是错的,可以rutrun;)

22. 编译并运行以下代码将发生什么?(  )

class MyClass {

int x;

MyClass(int i) {

x = i;

}

public static void main(String args[]) {

MyClass m1 = new MyClass(100);

MyClass m2 = new MyClass(100);

if (m1.equals(m2)) {

System.out.println("Both are equal");

} else {

System.out.println("Both are not equal");

}

}

}

A. 代码编译时报出错误提示信息“equals() 方法未定义

B. 编译通过,抛出运行期异常.

C. 输出Both are equal.

D. 输出Both are not equal

a

23. 运行以下的main()方法,结果是?( a

1   public static void main(String[] args)

2   {

3      String myString;

4      int x = 100;

5     

6      if (x < 100) myString = "x is less than 100";

7      if (x > 100) myString = "x is greater than 100";

8      System.out.println(myString.length());

9   }

A. 编译时报出错误提示信息“变量myString没有被初始化

B. 编译通过

C. 编译未能通过。但如果变量myString在第8行前的代码中被初始化,代码可以编译通过,运行时可以输出字符串myString的长度

D. 以上都不对

24. 关于继承, 以下说法正确的是: (a )

AJava中只支持单继承, 一个类只能继承一个类, 但是可以有多个子类

B.一个类如果没有自己写无参构造方法, 那么子类将无法继承

C.子类可以当父类用, 父类不可以当子类用

D. 子类重写父类方法时访问权限不能更低

25. 在Java中,如果要在字符串类型对象s="java"中,得到字符 'v' 出现的位置,可使用下面的那个方法?c  

A. s.matches('v');

B. s.charAt('v');

C. s.indexOf('v');

D. s.substring('v');

26. 下列关于ArrayListLinkedList集合的说法正确是有( c )

A. ArrayList集合底层是数组实现,该集合线程不安全

B. LinkedList集合底层是链表结构,适合做元素的增删操作

C. 这三个集合都是List接口的实现类

27. 下面程序的输出结果是什么(d  )

Set set= new HashSet();

set.add("aaa");

set.add("bbb");

set.add("aaa");

System.out.println(set.size());

A. 编译不通过

B. 运行时出错

C. 输出3

D. 输出2

28. 下列哪些方法是ArrayListLinkedList集合中都定义的(a c d )

A. add(Object o)

B. removeFirst()

C. remove(Object o)

D. add(int index,Object o)

29. 下列哪些集合属于Collection体系的子类( bd )

A. TreeMap

B. ArrayList

C. Hashtable

D. HashSet

30. 下列关键字能和try语句一起使用的是(cd  )

A. final

B. finalize

C. finally

D. catch

31. 下面程序的运行结果是( b   )

  FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);

  fos.write(“abc”);

  fos.close();

A.在C盘创建文件demo.txt,但文件是空的

B.在C盘创建文件demo.txt,并写入数据abc

C.将C盘已有的文件demo.txt中追加写入abc

D.编译失败

32. 下列关于Java中文件输入输出的说法正确的是(abc  

A. 在Java中,文件的输入输出功能是通过流来实现的

B. 如果要把数据写入到一个文件中,需要创建一个输入流对象

C. 字符流在某些方面比如汉字的处理,比字节流更方便

D. 可以通过Reader r = new Reader("c:\\pet.txt")创建一个输入流对象

33. 请看如下代码:

BufferedReader br = new BufferedReader(new FileReader("c:\\a.txt"));

BufferedWriter bw = new BufferedWriter(new FileWriter("d:\\b.txt"));

String line = null;

while ((line = br.readLine()) != null) {

bw.write(line);

bw.newLine();

bw.flush();

}

bw.close();

br.close();

它表达的意思是? a

A. c盘目录下的a.txt文件内容复制到d盘目录下的b.txt

B. d盘目录下的b.txt文件内容复制到c盘目录下的a.txt

C. 读取c盘目录下a.txt文件,输出在控制台

D. 把控制台的内容写入到d盘目录下的b.txt文件中

34. 下列哪个关键字可以用于实现同步?(c  )

A. native

B. static

C. synchronized

D. abstract

35. 下列哪些方法可以让线程中断? (c  )

A. sleep

B. start

C. notify

D. wait

36. 启动线程调用哪个方法? (b  )

A. run()

B. start()

C. play()

D. go()

37. 下面哪项不是TCP的特点? (b  )

A.面向连接

B.数据不可靠

C.传输速度慢

D.对数据大小无限制

38. TCP协议的服务器的Socket对象是下面哪一个类? ( a )

ASocket

BInputStream

CServerSocket

DOutputStream

39. 正则表达式中可以表示所有的单词字符信息的是下面哪个规则:( bd )

A\W

B\w

C[a-zA-Z]

D[a-zA-Z_0-9]

40. 获取Class类型的对象的三种方式是:( bad )

B. class静态属性

A. Object类的getClass()

D. Class类的forName()静态方法

C. 自己创建Class对象

编程:(4*5

package org.westos.Text;


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;


public class Text {
public static void main(String[] args) {
popo();
}
/**
* 1. 把c:\\a.jpg复制到d:\\b.jpg(任意一种方式实现即可)
* */
public static void copy() throws IOException{
FileOutputStream fos = new FileOutputStream("d:\\b.jpg");
FileInputStream  fis = new FileInputStream("c:\\a.jpg");
byte[] bys = new byte[1024];
int len =0;
while((len = fis.read(bys))!=-1){
fos.write(bys, 0, len);
}
fos.close();
fis.close();
}
/** 
* HashMap的键是Integer,值是String,存储三对元素,并遍历。(根据键找值的方式遍历)

* */
public static void hashMapDemo(){
HashMap<Integer, String> hm =new HashMap<Integer, String>();
hm.put(1, "3");
hm.put(2, "3");
hm.put(3, "3");
Set<Integer> keySet = hm.keySet();
for (Integer key : keySet) {
System.out.println(key+"="+hm.get(key));
}
}
/**

* 3.键盘录入5个数字,使用冒泡排序进行排序
* */
public static void popo(){
Scanner sr = new Scanner(System.in);
int [] arr = new int[5];
for(int i=0; i<arr.length; i++){
arr[i] = sr.nextInt();
}
for(int x = 0; x< arr.length-1; x++){
for(int y= 0; y<arr.length-x-1; y++){
if(arr[y]>arr[y+1]){
int temp = arr[y];
arr[y] = arr [y+1];
arr[y+1] = temp;
}
}
}
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
}
/**
* 4.请在main方法里面实现统计一个字符串的英文大写字符,英文小写字符及数字字符分别有多少个的程序代码,并输出统计结果。


* */
public static void stringFind() {
String s = "dasda45646w89qe7q9QQQ";
char[] charArray = s.toCharArray();
int Digit = 0;
int Lower =0 ;
int Upper = 0;
for (char c : charArray) {
if(Character.isDigit(c)) {
Digit++;
}else if(Character.isLowerCase(c)) {
Lower++;
}else if(Character.isUpperCase(c)) {
Upper++;
}
}
System.out.println("大写字母有"+Upper+"个");
System.out.println("小写字母有"+Lower+"个");
System.out.println("数字有"+Digit+"个");


}
}

猜你喜欢

转载自blog.csdn.net/a1003873553/article/details/78931956