Java2课后选择题

更新时间:2024-05-20 22:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java2实用教程(第4版)课后选择题整理

(以下内容可能会出现少量错别字,望见谅)

——by[小坏蛋~]

第一章选择题

(1)下列哪个是JDK提供的编译器?

A. java.exe B.javac.exe C.javap.exe D. javaw.exe

(2)下列哪个是Java应用程序主类中正确的main方法?

A. public void main (String args[]) B.static void main (String args[])

C .public static void Main (String args[]) D .public static void main (String args[])

第二章.选择题

(1)下列哪项字符序列可以作为标识符?

A .true B .default C. _int D.good-class (2)下列哪三项是正确的float变量的声明?

A .float foo=-1; B .float foo=1.0; C .float foo=42e1; D. float foo=2.02f; E .float foo== 3.03d; F. float foo== 0x0123; (3)下列哪一项叙述是正确的?

A. char型字符在Unicode表中的位置范围是0至32767 B. char型字符在Unicode表中的位置范围是0至65535 C. char型字符在Unicode表中的位置范围是0至65536

D. char型字符在Unicode表中的位置范围是-32768至32767 (4)以下哪两项是正确的char型变量的声明?

A. char ch=\ B .char ch='\\\\'

C. char ch='ABCD'; D. char ch=\ E. char ch='\?'; F. char ch='\?0' (5)下列程序中哪些[代码]是错误的? public class E

{ public static void main(String args[]) { int x =8;

byte b=127; //【代码1】 b=x; /【代码2】 x=12L; //【代码3】 long y=8.0; //【代码4】 float z=6.89; //【代码5】}

}

(6)对于int a[]=new int[3];下列哪个叙述是错误的? A. a.length的值是3。 B. a[1]的值是1。

C. a[0]的值是0。 D. a[a.length-1]的值等于a[2]的值。 第三章.选择题

(1)下列哪个叙述是正确的?

A. 5.0/2+10的结果是double型数据。 B. (int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。 D. (short) 10+'a’的结果是short型数据。

(2)用下列哪个代码替换程序标注的[代码]会导致编译错误?

A. m-->0 B. m++>0 C. m=0 D. m>100&&true public class E{

public static void main (String args[]){ int m=10,n=0;

while([代码]){n++;} }

}

(3)假设有int x=1;以下哪个代码导致“可能损失精度,找到int需要char”这样的编 译错误?

A. short t=12+'a'; B .char c= 'a'+1; B. C. char m='a'+x; D .byte n='a'+1;

第四章选择题

(1)下列哪个叙述是正确的?

A. Java应用程序由若干个类所构成,这些类必须在一个源文件中。

B. Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布 在若干个源文件中,其中必须有一个源文件含有主类。 C. Java源文件必须含有主类。

D. Java源文件如果含有主类,主类必须是public类。 (2)下列哪个叙述是正确的?

A.成员变量的名字不可以和局部变量的名字相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。 C.成员变量没有默认值。 D.局部变量没有默认值.

(3)对于下列Hello类,哪个叙述是正确的? A. Hello类有2个构造方法。

B. Helol类的int Hello()方法是错误的方法。 C. Hello类没有构造方法。

D. Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。 class Hello{

Hello(int m){}

int Hello(){return 20;}

hello(){}}

(4)对于下列Dog类,哪个叙述是错误的?

A. Dog(int m)与Dog(double m)是互为重载的构造方法。

B. int Dog(int m)与void Dog(double m)是互为重载的非构造方法。 C. Dog类只有两个构造方法,而且没有无参数的构造方法。 D. Dog类有3个构造方法。 class Dog{

Dog(int m){} Dog(double m){} int Dog(int m){ return 23; }

void Dog(double m){}

}

(5)下列哪些类声明是错误的?

A .class A B .public class A C .protected class A (6)下列A类中【代码1】~【代码5】哪些是错误的? class Tom{

private int x=120; protected int y=20; int z=11;

private void f(){ x=200;

System.out.println (x);} void g(){ x== 200;

System.out.println(x);}

}

public class A{

public static void main(String args[]){ Tom tom=new Tom(); tom.x=22;//【代码1】 tom.y=33;//【代码2】 tom.z=55;//【代码3】 tom.f();//【代码4】 tom.g();/【代码5】 }

}

(7)下列E类的类体中哪些【代码】是错误的。 class E{

int x; //【代码1】 long y=x; //【代码2】 public void f (int n){

int m; //【代码3】 int t=n+m; //【代码4】 }

D .private class A }

第五章.选择题

(1)下列哪个叙述是正确的?

A.子类继承父类的构造方法

B. abstract类的子类必须是非abstract类

C.子类继承的方法只能操作子类继承和隐藏的成员变量

D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量. (2)下列哪个叙述是正确的? A .final类可以有子类

B. abstract类中只可以有abstract方法

C. abstract类中可以有非abstract方法,但该方法不可以用final修饰 D.不可以同时用final和abstract修饰同一个方法 E.允许使用static修饰abstract方法

(3)下列程序中注释的哪两个代码(A, B, C, D)是错误的(无法通过编译)? class Father

{private int money =12; float height;

int seeMoney(){return money; //A } }

class Son extends Father { int height;

int lookMoney(){

int m=seeMoney(); //B return m; } }

class E

{public static void main(String args[]) { Son erzi=new Son(); erzi.money=300; //C erzi.height=1 .78F;//D} }

(4)假设C是B的子类,B是A的子类,cat是C类的一个对象,bird是B类的一个 对象,下列哪个叙述是错误的?

A. cat instanceof B的值是true B. B. bird instanceof A的值是true

C. cat instanceof A的值是true D. bird instanceof C的值是true

(5)下列程序中注释的哪个代码(A, B, C, D)是错误的(无法通过编译)? class A

{static int m; static void f() {m=20; //A}

}

class B extends A { void f() //B { m=222; //C} }

class E

{ public static void main(String args[]){ A .f(); //D } }

(6)下列代码中标注的(A, B, C, D)中,哪一个是错误的? abstract class Takecare

{ protected void speakHello(){}//A public abstract static void cry();//B statis intf(){return 0;}//C abstrac七float g();//D }

(7)下列程序中注释的哪个代码(A, B, C, D)是错误的(无法通过编译)? abstract class A {

abstract float getFloat(); //A void f() {} //B } public class B extends A

{ private float m=1.Of; //C

private float getFloat()//D { return m;} }

(8)将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误? A. public float getNum() {return 4.0f;} B .public void getNum(){}

C. public void getNum(double d){}

D .public double getNum(float d) {return 4.0d; } class A{

public float getNum(){ return 3.0f; }

}

public class B extends A {【代码】}

(9)对于下列代码,下列哪个叙述是正确的?

A. 程序提示编译错误(原因是A类没有不带参数的构造方法)。 B. 编译无错误,[代码]输出结果是0。 C. 编译无错误,[代码]输出结果是1。 D. 编译无错误,[代码]输出结果是2。 class A

{ public int i=0;

A(int m) { i=1; } }

public class B extends A { B(int m){ i=2; }

public static void main(String args[]){

B b=new B(100);

System.out.println(b.i);//【代码】.} }

第六章选择题

(1)下列哪个叙述是正确的?

A.一个类最多可以实现两个接口。

B.如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法。 C.如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法。 D.允许接口中只有一个抽象方法。

(2)下列接口中标注的(A, B, C, D)中,哪两个是错误的? interface Takecare {

protected void speakHello();//A public abstract static void cry();//B int f();//C

abstract float g();//D }

(3)将下列(A,B,C,D )哪个代码替换下列程序中的【代码】不会导致编译错误。 A. public int f(){return 100+M;} B .int f() {return 100;}

C .public double f() {return 2.6;}。 D .public abstract int f(); interface Com{ int M=200; int f(); }

class ImpCom implements Com{【代码】}

第七章选择题

(1)下列代码标注(A,B,C,D)中哪一个是错误的? class OutClass { int m=1;

Statis float x ; //A

class InnerClass{ int m =12;//B

static float n=20 .89f;//C InnerClass(){} void f(){m=100; }

}

void cry()

{ InnerClass tom=new InnerClass(); //D } }

(2)下列哪一个叙述是正确的?

A.和接口有关的匿名类可以是抽象类。

B.和类有关的匿名类还可以额外地实现某个指定的接口。

C.和类有关的匿名类一定是该类的一个非抽象子类。

D.和接口有关的匿名类的类体中可以有static成员变量。

第八章选择题

(1)下列哪个叙述是正确的?

A. String类是final类,不可以有子类 B. String类在java.util包中

C. \的值是false D. \的值是true

(2)下列哪个表达式是正确的(无编译错误)?

A.int m =Float.parseFloat(\ B .int m =Short.parseShort(\

C .byte m =Integer. parseInt(\ D .float m =Float.parseDouble(\(3)对于如下代码,下列哪个叙述是正确的?

A.程序编译出现错误。 B.程序标注的【代码】的输出结果是bird。

C.程序标注的【代码】的输出结果是fly。 D.程序标注的【代码】的输出结果是null。 public class E

{ public static void main(String[]args){ String strOne=\ String strTwo=strOne; strOne=”fly”;

System.out.println(strTwo);//代码 } }

(4)对于如下代码,下列哪个叙述是正确的? A.程序出现编译错误

B.无编译错误,在命令行执行程序”java E I love this game\,程序输出this C.无编译错误,在命令行执行程序”Java E let us go\,程序无运行异常 D.无编译错误,在命令行执行程序”javaE0123456789\,程序输出3 public class E{

public statis void main (String args[]){ String sl=args[1]; String s2=args[2]; String s3=args[3];

System.out.println(s3); } }

(5)下列哪个叙述是错误的?

A. \的值是true

B. \返回的字符串是@hello@ C. new Date(1000)对象含有的时间是公元后1000小时的时间

D. \”是正确的字符串常量

第九章选择题

(1)下列哪个叙述是不正确的?

A.一个应用程序中最多只能有一个窗口。 B. JFrame创建的窗口默认是不可见的。

C.不可以向JFrame窗口中添加JFame窗口。

D.窗口可以调用setTitle(String s)方法设置窗口的标题。 (2)下列哪个叙述是不正确的?

A.JButton对象可以使用addActionLister (ActionListener 1)方法将没有实现 ActionListener接口的类的实例注册为自己的监视器

B.对于有监视器的JTextField文本框,如果该文本框处于活动状态(有输入焦点) 时,用户即使不输入文本,只要按回车(Enter)键也可以触发ActionEvent事件 C.监视KeyEvent事件的监视器必须实现KeyListener接口

D.监视WindowEvent事件的监视器必须实现WindowListener接口 (3)下列哪个叙述是不正确的?

A.使用FlowLayout布局的容器最多可以添加5个组件 h.使用BorderLayout布局的容器被划分成5个区域 C. JPanel的默认布局是FlowLayout布局

D. JDialog的默认布局是BorderLayout布局

第十章选择题

(1)下列哪个叙述是正确的?

A.创建File对象可能发生异常。

B. BufferedRead流可以指向FilelnputStream流。 C. BufferedWrite流可以指向FileWrite流。

D. RandomAccessFile流一旦指向文件,就会刷新该文件。

(2)为了向文件hello.txt尾加数据,下列哪个是正确创建指向hello.txt的流? A.try { OutputStream out=new FileOutputStream(\”);} catch(IOException e){}

B. try { OutputStream out=new FileOutputStream(\”,true);} catch(IOException e){}

C. try{OutputStream out== new FileOutputStream(\,false);} catch(IOException e){}

D. try{ OutputStream out== new OutputStream(”hello.txt”,true);} catch(IOException e){}

第十二章选择题

(1)下列哪个叙述是错误的?

A.线程新建后,不调用start方法也有机会获得CPU资源。

B.如果两个线程需要调用同一个同步方法,那么一个线程调用该同步方法时 另一个线程必须等待。

C.目标对象中的run方法可能不启动多次。 D.默认情况下,所有线程的优先级都是5级。 (2)对于下列程序,哪个叙述是正确的?

A. JVM认为这个应用程序共有两个线程。 B. JVM认为这个应用程序只有一个主线程。 C. JVM认为这个应用程序只有一个thread线程。 D. thread的优先级是10级。 public class E

{ public static void main(String args[]){ Target target =new Target();

Thread thread =new Thread(target); thread .start(); } }

class Target implements Runnable{ public void run(){

System.out .println(“ok”);} }

(3)对于下列程序,哪个叙述是正确的?

A. JVM认为这个应用程序共有两个线程。 B . JVM认为这个应用程序只有一个主线程。 C. JVM认为这个应用程序只有一个thread线程。 D.程序有编译错误,无法运行。 public class E{

public static void main(String args[]){ Target target=new Target();

Thread thread =new Thread(target); target.run(); }

}

class Target implements Runnable { public void run()

{System.out.println(“ok);} }

本文来源:https://www.bwwdw.com/article/pzd7.html

Top