| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1582 人关注过本帖
标题:《Java程序设计》练习题(一)【含部分答案】
只看楼主 加入收藏
晓婷长月
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2013-6-4
收藏
 问题点数:0 回复次数:1 
《Java程序设计》练习题(一)【含部分答案】
《Java程序设计》练习题(一)【含部分答案】
《Java程序设计》练习题(一)
一、选择题(每小题2分,共40分)
1.下面关于Java语言说法错误的是:(       B
A. java语言是完全面向对象的     B. java语言支持多继承
C. java语言支持多线程           D. java语言最早是为消费电子产品领域设计的
 
2.下面标识符中正确的是:(   )D
A. *123    B. 12java     C. continue    D. java$next
  
3.下列关于注释语句的描述中,正确的一项是(    )C
A.以//开始的是多行注释语句
B.以/*开始,*/结束的是单行注释语句
C.以/**开始,*/结束的是可以用于生成帮助文档的注释语句
D.以/**开始,*/结束的是单行注释语句
 
4.为了区分重载多态中同名的不同方法,要求(   )。A
A.形式参数个数或者类型不同            B.返回值类型不同
C.调用时用类名或对象名做前缀          D.形式参数名称不同
 
5.下面定义数组的格式中正确的是:(   )C
A. int a[10]    B. int a=new int[10]    C. int []a=new int[5]    D. int a[]
 
6.下面说法中不正确的是:(   )C
A.类是对象的抽象,对象是类的实例    B.类是组成java程序的最小的单位
C. java语言支持多继承                D. java一个程序中只能有一个public类
 
7.定义类时,不可能用到的保留字是(   )。A
A. private                             B. class
C. extends                            D. implements
 
8.为 AB 类定义一个公共的构造函数,该方法头的形式为(   )D
A. void AB( )                           B. public void method( )
C. public  method ( )                    D. public  AB( )
 
9.下面说法中不正确的是:()A
A. java中一个类只允许实现一个接口         B. 抽象类中允许有非抽象方法的存在
C.类变量(实例变量)可以直接用类名调用    D. 通过super可以调用基类的构造函数

10.哪一个输出-4.0 ? (    )  C
A. System.out.println(Math.floor(-4.7));        B. System.out.println(Math.round(-4.7));
C. System.out.println(Math.ceil (-4.7));        D. System.out.println(Math.min(-4.7));
 
11.以下哪个表达式是不合法的:(   )B
A. String   x=”Hello”;  int  y=9;   x+=y;
B. String  x=”Hello”;   int  y=9;  if(x= =y)  { }
C. String   x=”Hello”;  int  y=9;  x=x+y;
D. String   x=null;  int  y=(x!=null)&&(x.length()>0)
 
12.class person{            
       public int addvalue(int a,int b)       {
              int s;
              s=a+b;
              return s;
       }
}
class child extends parent{     
}
若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue方法头的描述哪个是正确的:(       )A
A. int addvalue(int I,int j)            B. void addvalue()
C. void addvalue(double i)           D. int addvalue(int a)

13.下面程序在fun()方法当出现数组下标超过界限的情况下的输出结果是:(   )C
public void test(){
try{
fun();
System.out.print(“情况1”);
}
catch(ArrayIndexOutOfBoundsException e){
System.out.print(“情况2”);
}
catch(Exception e){
System.out.print(“情况3”);
}
finally{  
System.out.print(“finally”);
}
}
A.情况1   B.情况2   C.情况2finally   D.情况3finally

14、哪二种声明防止方法覆盖?(      )     A C
A、final void methoda() {}
B、void final methoda() {}
C、static final void methoda() {}
D、final abstract void methoda() {}

15.编译下例代码哪些没有错误? (     )       B C
A. import java.awt.*;                  B. package Mypackage;
package Mypackage;                  import java.awt.*;
class Myclass{}                      class Myclass{}

C. /* This is a comment */            D.//This is a comment//
package Mypackage;                  import java.*;
import java.awt.*;                  package Mypackage;
class Mycalss{}                      class Myclass()

16. 编译和执行下例代码会输出什么?   (        )  C
public class Q
public static void main(String argv[]){
int anar[]=new int[5];
System.out.println(anar[0]);
}
}
A. Eror:anar is referenced before it is initialized      B. null     C. 0     D. 5

17. 编译和执行下例代码会输出什么?(          C
abstract class MineBase {
abstract void amethod();
static int i;
}
public class Mine extends MineBase {
public static void main(String argv[]){
int[] ar=new int[5]
for(i=0;i<ar.length;i++)
system.out.println(ar[i]);
}
}
A. a sequence of 5 0’s will be printed            B. Error:ar is used before it is initialized
C. Error Mine must be declared abstract        D. IndexOutOfBoundes Error

18.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?(   )  B
A. ArrayList myList=new Object();            B. List myList=new ArrayList();
C. ArrayList myList=new List();                D. List myList=new List();

19.指出下列程序运行的结果: (      )   B
public class Example{
  String str=new String("good");
  char[]ch={'a','b','c'};
  public static void main(String args[]){
    Example ex=new Example();
    ex.change(ex.str,ex.ch);
    System.out.print(ex.str+" and ");
    Sytem.out.print(ex.ch);
  }
  public void change(String str,char ch[]){
    str="test ok";
    ch[0]='g';
  }
}
A. good and abc         B. good and gbc        C. test ok and abc         D. test ok and gbc

20.给出下面代码:   C
public class Person{
  static int arr[] = new int[10];
  public static void main(String a[]) {
   System.out.println(arr[1]);
  }
}
那个语句是正确的? (      )
A. 编译时将产生错误; B. 编译时正确,运行时将产生错误; C. 输出零; D. 输出空

二、判断题(每小题1分,共10分)
(  T  )  1、Java可以用来进行多媒体及网络编程。
(  F  )  2、类的public类型的成员变量不可以被继承。
(  F  )  3、用final修饰的类必须被继承。
(  F  )  4、子类可以继承父类所有的成员变量及成员函数。
(  T  )  5、Java编译器使用文件系统来保存程序包。
(  F  )  6、Java类中不能存在同名的两个成员函数。
(  T  )  7、可以用new来创建一个类的实例,即“对象”。
(  T  )  8、接口是特殊的抽象类。
(  T  )  9、封装的原则是用公有的方法访问私有的数据。
(  F  )  10、Java中类的构造函数只能有一个。

三、程序理解题(共20分)
1、指出下面代码的错误:(2分)
for(i=0;i<10;i++)
{
   int sum;
   sum=sum+i;
}
System.out.println(“sum  is:”+ sum);
_____________________________
2、写出程序运行的结果:(2分)
   Class CastDemo{
      public static void main(String arg[]){
   double x,y;
   byte b;
   int I;   
   x=10.0
   y=3.0;   
   i=(int) (x/y);
   System.out.println(“Integer outcome of x/y: ”+i);  
   i=257;
   b=(byte) i;
   System.out.println(“Value of b: ”+b);
}
}
   运行结果:___ Integer outcome of x/y: 3_____ Value of b: 1____________
3、本程序计算的是幂为2 的指数从0到9 的整数值,把程序补充完整。(2分)
     class power{
        public static void main(String arg[]){
   int e,result;
   
for(int i=0;i<10;1++){
    result=1;
    ____e=i_____________;
    while(e>0){
  result*=2;
___e--______________
}
System.out.println(“2 的”+i+”方是”+result);
}
}
}
4、本程序是找数组中的最大值和最小值,把程序补充完整。(2分)
class MinMax{
        public static void main(String arg[]){
       int nums[] = ______ new int[10]___ ____;
       int min,max;      
       nums[]={99,11,18,-3,88,93,1298,-28,74,11};
       _____ min=max=nums[0]____________________;
      for(int i=1;i<10;i++){
   if(nums[i]<min) min=nums[i];
   if(nums[i]>max) max=nums[i];
}
      System.out.println(“min and max: ”+min +”  ”+max);
}
}
5、写出程序运行的结果:(2分)
     class Test{
        public static void main(String arg[]){
          int s=0,i=1;
          while(i<=20){
  try{
  if(i%5!=0){
  i++;
  continue;
}
             s=s+i;
}finally{
  i=i+2;
}
}
System.out.println(“ s= ”+s);
}
}
  运行结果:_________45________________
6、在空行处写上合适的异常对象。(3分)
   public class Try2 {
    public static void main (String args[])  {
        int i=0;
        int a[] = {5,6,7,8};
        for(i=0;i<5;i++)   {
            try {
                System.out.print("a["+i+"]/"+i+"="+(a[i]/i));//本语句可能会出现数组下标、除数为零或其他未知异常
            }
            catch(__ArrayIndexOutOfBoundsException e __________)  {
                System.out.print("捕获数组下标越界异常!");
            }
            catch(____ArithmaticsException e____________________)  {
                System.out.print("捕获算术异常!");
            }
            catch(_________Exception e_____________________)     {
                System.out.print("捕获"+e.getMessage()+"异常!"); //显示异常信息
            }                                    
            finally  {
                System.out.println("  i="+i);
            }
        }
        System.out.println("继续!");
    }
}
7、本程序是无参数交换两个变量的值。(7分)
class Test{
   int a,b;
   Test(int i,int j){
   a=i;
   b=j;
}

Void change(Test T){
____T.b=T.a+T.b___________
____T.a=T.b-T.a___________
____T.b=T.b-T.a___________
}

     public _____ static void main _____________ (String args[])
       {  
Test T=new Test(30,38);
System.out.println(“原始值:”+___T.a+”  ”_T.b____________);
        ___T.change(T)__________________________________;
System.out.println(“交换后:”+____ T.a+”  ”_T.b ____________);
    }
}
四、简答题(共10分)
1、String s = new String("xyz");创建了几个String Object? (2分)

2、解释面向对象语言的几个特征:抽象、继承、封装、多态性。(2分)

3、撰写具有两个(重载)构造函数的test类,并在第一个构造函数内通过this调用第二个构造函数。(2分)

4、final, finally, finalize的区别。Overload和Override的区别。(4分)

五、编程题(共20分)
1、编写一个Applet应用程序,输出字符串“国庆节快乐!”。 (5分)


2、写出一个Point(点)类,该类具有x,y(表示点的横、纵坐标)两个属性,并定义两个构造方法,一个无参数,将x,y均设置为0,另一对坐标值为参数,设置x,y为给定坐标值。该类的show方法输出该点的坐标值。(7分)
class Point{
Int x,y;
 Point(){}
Point (int x,int y){}
Point show(){}
}

3、有矩形类Rectangle,该类有两个成员变量length、width;接口Area中有求面积成员方法area();接口Volume中有求体积成员方法volume();要求定义一个长方体类继承矩形类,实现表面积和体积的计算。程序编写要求:(1)写出矩形类的代码;(2)写出接口的代码;(3)写出长方体类的代码(包括成员变量、构造方法及表面积和体积的计算方法)。(8分)
class Rectangle{
 int length,width;
}
interface Area(){
abstract double area(){}
abstract double volume(){}
}
class cube extends Rectangle{
double area(){}
double volume(){}
public static void main(String args[]){}
}


搜索更多相关主题的帖子: continue java语言 程序设计 消费电子 选择题 
2013-06-16 03:03
晓婷长月
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2013-6-4
收藏
得分:0 
2013-06-16 03:04
快速回复:《Java程序设计》练习题(一)【含部分答案】
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029288 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved