JAVA-基础选择题(期末自测试题)

 

  1. 编译Java  Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(  B )

    A..java              B. .class               C.  .html               D..exe

  2. 不允许作为类及类成员的访问控制符是(   C   )。

    A.public             B.private                         C.static               D.protected

  3. 设x=1,y=2,z=3,则表达式y+=z--/++x值是(  A    )。

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

  4. 关于下面程序片段,结论正确的是(  B    )。

    String a =”Java”;

    String b=”Java”;

    String x=”Ja”;

    String y=”va”;

    String c=x+y;

  A.a和b指向同一个实例对象,a和c指向同一个实例对象

  B.a和b指向同一个实例对象,a和c不指向同一个实例对象

  C.a和b不指向同一个实例对象,a和c指向同一个实例对象

  D.a和b不指向同一个实例对象,a和c不指向同一个实例对

  5.关于多态性的说法正确的是(  C  )。

  A. 一个类中不能有同名的方法

  B. 子类中不能有和父类中同名的方法

  C. 子类中可以有和父类中同名且参数相同的方法

  D. 多态性就是方法的名字可以一样,但返回的类型必须不一样

 6.关于继承的说法,正确的是(  D    )。

  A.超类的对象就是子类的对象

  B.一个类可以有几个超类

  C.一个类只能有一个子类

  D.一个类只能有一个超类

 7.下面的方法重载正确的是( C  )。

  A. int fun (int a, float b){}   float fun(int a, float b){}

  B. float fun (int a, float b) {}   float fun (int x, float y){}

  C. float fun (float a){}  float  fun(float a, float b){} 

  D. float fun1 (int a, float b){}  float fun2(int a ,float b){}

  8.执行下面代码后,描述正确的是(   B    )

   int a,b,c;

   a=1;

   b=2;

   c=(a+b>3?a++:b++)

   A.a的值是2,b的值是3

   B.a的值是1,b的值是3

   C.a的值是2,b的值是2

   D.c的值是false

  9.将类的成员的访问权限设置为默认的,则该成员被(    A    )

   A.同一包中的类访问

   B.其他包中的类访问

   C.所有的类访问

   D.所有的类的子类访问

  10.有关类的说法,正确的是(    B     )。

   A.类具有封装性,所以类的数据是不能被访问的

   B.类具有封装性,但可以通过类的公共接口访问类中的数据

   C.声明一个类时,必须使用public修饰符

   D.每个类中必须有main方法,否则程序无法运行

  11.编译一个定义了两个类和三个方法的Java源文件,总共会生成(  D   )个字节码文件。

   A.5个字节码文件,以“.java”为扩展名

   B.2个字节码文件,以“.java”为扩展名

   C.5个字节码文件,以“.class”为扩展名

   D.2个字节码文件,以“.class”为扩展名

  12.关于super的说法正确的是(    B   )。

   A.是指当前对象的内存地址

   B.是指当前对象的父类对象的内存地址

   C.是指当前对象的父类

   D.可以用在main()方法中

  13.下面的代码,编译运行时,结果是(   A   )

public class Test{
 public static void main (String args[]){
 for(int i=0;i<3;i++){
 System.out.print(i);
}
System.out.print(i);
}
}

   A.编译时报错

   B.正确运行,输出012

   C.正确运行,输出123

   D.正确运行,输出0123

 

  14.下面代码中,编译时会发生错误的是(   D    )。

class Parent{ }
	class Child extends Parent{
	 public static void main (String [] args){
   Parent p1 = new Child ();  //第一行
	   Parent p2 = new Parent ();  //第二行
   Child c1 = new Child ();  //第三行
   Child c2 = new Parent ();  //第四行
}
}

  A.第一行

  B.第二行

  C.第三行

  D.第四行

 

  15.下面给定的代码,

Public static void main (String [] args){
 System.out.print(“Hello”+args[1]);
}

 从命令行中传参:people world nation ,该程序的运行结果是(    D   )。

  A.Hello people

  B.Hello world

  C.Hello people world nation

  D.运行出现异常

 

  16.Java语言中,尝试对null对象进行操作时,会产生(  B   )类型的异常。

   A.ArithmeticException

   B.  NullPointerException

   C.  IOException

   D.  EOFException

 

17.下面合法的标识符是(    B     )。

A.#_pound       B.  _underscore      C. 5Interstate         D. class

 

18.下面(    D     )赋值语句不会出现编译警告或错误的是。

A.float f =1.3; B.char c=”a”; C.byte b=257; D.int i=10;

 

19.字符流和字节流的区别在于(   D    )。

A.前者带有缓冲,后者没有

B.前者是块读写,后者是字节读写

C.二者没有区别,可以互换使用

D.每次读写的字节数不同

 

20.下列流中哪个不属于字节流(   D   )。

A.FileInputStream                      B.BufferedInputStream    

C.FilterInputStream                             D.InputStreamReader

 

21.Java语言中,String str=”123456789”,System.out.println(str.indexOf(“5”)),输出结果是(   C   )。

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

 

22.下面的java代码运行结果是(   C    )。

import java.io.*;
public class B{
 public static void main(String [] args){
 int i =12;
System.out.println(i*=++i);
}
}

A.145    B.169   C.156   D.无法编译

 

23.Java中,byte数据类型的取值范围是(    C   )。

A.-256~255   B.-255~255   C.-128~127   D.-127~128

 

24.Java中的布局管理器,下列说法错误的是(    C    )。

A.FlowLayout以由上到下的方式从左到右排列组件

B.BorderLayout使用“东”、“西”,“南”,“北”,“居中”来指定组件的位置

C.GridLayout可以创建网格布局,网格布局中各组件的大小可以任意调整

D.可以通过容器的setLayout方法为容器指定布局管理器

 

25.Java中,关于HashMap类的描述,错误的是(    B    )。

A.HashMap使用键/值的形式保存数据

B.HashMap能够保证其中元素的顺序

C.HashMap允许将null用作键

D.HashMap允许将null用作值

 

26.构造函数何时会被调用?(    A     )

A.创建对象时                                B.可以出现在非抽象类中       

C.是没有方法体的方法                             D.抽象类中的方法都是抽象方法

 

27.下列选项中哪个是Java的有效关键字?(     C     )

A.name                B. hello               C. false             D. good

 

28.Frame对象默认的布局管理器是(     B  )。

A.FlowLayout      B. BorderLayout          C. CardLayout          D.null

 

29.下列哪一个import命令可以使我们在程序中创建输入/输出流对象。(    C   )

A.import java.sql.*;                          B.import java.util.*;

C.import java.io.*;                       D.import java.net.*;

 

30.下面哪一个import命令可以为我们提供编写网络应用程序的类(   D   )。

A.import java.sql.*;                       B.import java.util.*;

C.import java.io.*;                      D.import java.net.*;

 

31.下列哪一项不属于Swing的顶层容器?(    B   )

A.JApplet             B. JTree               C. JDialog               D.JFrame

 

32.覆盖和重载的关系是(    A    )。

A.覆盖只能发生在父类与子类之间,而重载可以发生在同一个类中

B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

 

33.关于this和super的说法正确的是(   C    )。

A.都可以用在main()方法中

B.都是指一个内存地址

C.不能用在main()方法中

D.意义相同

 

34.Java中的字符类型采用的是Unicode编码方案,每个Unicode码占用( B  )个比特位。

A.8             B.16               C.32               D.64

 

35.关于while循环和do…while循环的区别是(   D   )。

A.没有区别,这两个结构任何情况下效果一样

B.while循环比do…while循环执行效率高

C.while循环是先循环后判断,所以循环体至少被执行一次

D.do…while循环是先循环后判断,所以循环体至少被执行一次

 

36.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( B )。

A.安全性   B.多线程   C.跨平台   D.可移植

 

37.以下对封装描述正确的是(   D    )。

A.只能对一个类中的方法进行封装,不能对属性进行封装

B.如果子类继承了父类,对于弗雷中进行封装的方法,子类仍可直接调用

C.封装的意义不大,因此在编码时尽量不要使用

D.封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性

 

38.一下不是Object类的方法是(  D    )。

A.clone()   B.finalize()   C.toString()   D.hasNext()

 

39.以下对自定义异常描述错误的是(     C    )。

A.自定义异常必须继承Exception

B.自定义异常可以继承自Error

C.自定义异常可以更加明确定位异常出错的位置和给出详细出错信息

D.程序已经提供了丰富的异常类,使用自定义异常没有意义

 

40.以下对TCP和UDP描述正确的是(   D   )。

A.TCP不能提供数据的可靠性

B.UDP能够保证数据库的可靠性

C.TCP数据传输效率高于UPD

D.UPD数据传输效率高于TCP

 

41.下列关于对象序列化描述正确的是(  C   )。

A.使用FileOutputStream可以将对象进行传输

B.使用PrintWriter可以将对象进行传输

C.使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取

D.对象序列化的所属类不需要Serializable接口

 

42.使用JDBC连接数据库的顺序是(     BADCE     )。

A.加载驱动

B.导入驱动包

C.发送并处理SQL语句

D.建立于数据库的连接

E.关闭连接

 

43.下面语句中,break的作用是(  A  )。

for(int i =0;i<10; i++){
 if(aData[i] ==TargetData){
 FoundID  = i;
break;
}
}

A.退出整个循环    B.退出当前循环   C.结束本次循环   D,终止程序

 

44.在Swing中,如何设置组件的边框(   C     )

A.通过根窗格的setBorder函数设置某个组件的边框

B.通过内容窗格的setBorder函数设置某个组件的边框

C.通过组件的setBorder函数设置

D.通过框架的setBorder函数设置某个组件的边框

 

45.结构化程序设计所规定的的三种基本控制结构是(   C    )。

A.输入、处理、输出             B.树形、网形、环形

C.顺序、选择、循环             D.主程序、子程序、函数

 

46.下面的程序中,s的最终结果是(  A  )。

public class dai {
	public static void main(String[] args) {
		int i,s=0;
		int a[] ={10,20,30,40,50,60,70,80,90};
		for(i=0;i<a.length;i++){
			if(a[i]%3==0)
				s+=a[i];
			System.out.println("s="+s);
		}
	}
}

 A.180      B.90      C.120      D.150

 

47.下列程序,输出的结果是:5 6 7 8 9

public class cook {
	public static void main(String[] args) {
		int i,j;
		int a [] ={5,9,6,8,7};
		for(i=0;i<a.length-1;i++){
			int k =i;
			for(j=i;j<a.length;j++)
				if(a[j]<a[k])
					k=j;
			int temp =a[i];
			a[i]=a[k];
			a[k]=temp;
		}
		for(i=0;i<a.length;i++){
			System.out.print(a[i]+" ");
		}
	}
}

 

48.下面的程序输出的结果是: 是汽车 

int x=5,y=6,z=4;
		if(x+y>z&&x+z>y&&z+y>x)
			System.out.println("是汽车");
		else
			System.out.println("是飞行器啊");

 

49.假设x=13,y=14,则表达式x%y!=0的值是( C )。

A.1   B.0   C.true   D.false

 

50.Java是一种不支持多重继承的语言,但是我们可以通过___接口___实现。

 

 

 

  • 26
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 2.以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 3.若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 4.若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 5.设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是( )。 A) 定义了一个名为a的一维数组 B) a数组有3个元素 C) a数组的下标为1~3 D)数组中的每个元素是整型 1.在Java语言中,逻辑常量只有true 和 ___________ 两个值。 2.表达式1/2*3的计算结果是_________。 3.以下方法fun的功能是求两参数之和。 int fun ( int a, int b ) { __________________; } 4.面向对象技术中的对象具有状态,行为和_________等三个基本属性。 5.面向对象程序设计方法最重要的特性是继承、封装、__________和多态。 1.Java中的的字符使用的是 16 位的Unicode 编码。 2.类是同种对象的集合和抽象。 3.Java 仅支持类间的单重继承。 4.接口是由常量和抽象方法组成的特殊类。 5.构造函数的方法名可由编程人员任意命名。 class ____________ // 定义名为myclass的类 { __________ int var=666; static int getvar() { return var; } } 2.下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。 __________ void paint(Graphics g) { g.____________("你好!",10,20); } 1. import java.awt.Graphics; import java.applet.Applet; public class BreakTest extends Applet { public void paint( Graphics g ) { int count, xPos = 25; for ( count = 1; count <= 10; count++ ) { if ( count == 8 ) break; g.drawString( " " + count, xPos, 25 ); xPos += 10; } } } 问题: 1)程序的输出结果是什么? 2)方法调用 g.drawString( " " + count, xPos, 25 ); 的第一个实参中为什么要有串 " " ?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值