Java2实用教程试题综合

更新时间:2024-05-03 09:24:01 阅读量: 综合文库 文档下载

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

可选试题

判断题

×1.Java是低级语言

√2.Java是面向对象的程序设计语言 ×3.Java是编译型的计算机语言 √5.Java源程序文件的后缀是.java

×10.一个Java源程序文件中可以有多个public类 √11.一个Java源程序中可以有多个类

×12.一个Java Applet源程序的主类可以有多个父类 √13.Java应用程序的入口方法是main

√14.Java应用程序(Application)的主类中一定要有主方法(main) √16.Java小程序(Applet)的主类的父类必须是类Applet ×17.Java语言中的逻辑变量可以和整型变量相互强制转换 ×18.在程序中可对用final修饰的变量的值进行更改

×27.双精度数强制转换成单精度数后,其数值精度提高 ×11.方法可以有多个返回值

×5.重载的方法可以通过它们的返回值类型的不同来区分 √16.定义在方法体中的变量能与定义在方法体外的变量同名 √6.一个对象一定要属于某个类

×7.构造函数的方法名可由编程人员任意命名 √8.类的构造函数名必须和类名相同 √10.构造函数可以重载

×11.如果一个类定义中没有定义构造函数,该类就没有构造函数

√12.如果一个类定义中已经定义了构造函数,java不会再给它提供默认的构造函数

×11.静态属性和静态方法属于类的一个具体对象 √12.static 变量能是 private 变量 ×14.static方法能处理非static成员 √15.非static方法能处理static成员 ×16.static方法中能有this引用

×18.类的私有属性和私有方法能被其子类直接访问 √12.子类的成员变量能与其父类的成员变量同名

×14.子类可以重新定义从父类继承来的同名方法,并且允许它们有不同类型的返回值

√15.接口支持多继承(extends)

√15.一个接口能够继承(extends)多个接口 ×7.抽象类只能做为父类 ×8.可以定义抽象类的对象 √9.抽象方法能被继承

√10.抽象方法只能存在于抽象类或接口中

×11.声明为final的方法能在子类中重新定义 ×13.终结类能做为父类 ×14.终结方法能被继承

×15.终结方法只能存在于终结类中 √17.接口中所有方法均为抽象方法 √18.接口中所有方法均为public的

×19.abstract 和 final能同时修饰一个类 基本语法

√1.Java中的字符使用的是16位的Unicode 编码。 √6.False 是合法的Java标识符。

√12.应用程序一定要有main()方法,小程序一定要继承于Applet 类。 √15.Java 源程序的文件名必须和公共类的类名相同。

×2、while与do_while语句的区别在于while无论如何要执行一次

×3、数组是连续存储区域的命名集合,这些存储区域可以存放着不相同类型的数据项。

×4、任何简单数据类型都可以作为数组的下标。

√5、Java源程序在转换为机器语言执行过程中既有编译也有解释。 ×7、// 是java的多行注释符。 √8、/** */ 是java的文档注释符。 面向对象

√3.Java 仅支持类间的单重继承。

×17.方法可以没有返回值,或有一个返回值,也可以有多个返回值。 √5.一个类的定义包括定义类头和定义类体两个部分。 ×7.类的私有属性和私有方法可以被其子类访问。 √13.子类不能继承父类的构造函数。

×14.重载的方法可以通过它们的返回值类型的不同来区分。

√16.在 Applet 的坐标系中,(0,0) 代表输出窗口左上角的象素点。 ×18.构造函数的方法名可由编程人员任意命名。 ×19.构造函数能继承,也能被重载。 √20.类的构造函数名必须和类名相同。

√1、Java中所有的类都是java.lang.Object类的直接或间接子类。 √5、只有抽象类或接口中才能包含抽象方法。

×9、两个类同在一个包中,那么在一个类可以访问另一个类的private成员变量。 √10、方法形式参数的作用域是该方法的方法体。 √1、String abc[ ];是合法的Java语句。 ×2、在Java里,允许多重继承。

√3、在Java语言里,do-while语句是先执行循环体,然后再判断的循环条件。

其他

×8、StringBuffer类的对象包含的字符串不可以被修改。 ×8.字符串 ”\\?a\\?” 的长度是5。 √9.Java 支持多线程机制。

填空题 基本语法

17.Java中的的字符使用( )编码unicode

18.在Java语言中,将源代码翻译成____________时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。字节码

13.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为哪两种具体类型,各占二进制的多少位? 16.字符串 ”\\?a\\?” 的长度是( )3 17.Java源程序首先要被编译为( ),即中间代码。 13.float 32位、double 64位

24.表达式2*5/2.5、1.0/2*5、1/2*3、5/3的计算结果分别是_________。

25.当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是_______ 。

26.执行以下程序段后:x = ________, y = ________ 。 int x = 5, y=5; y = ++x * - -y;

29.关系运算的运算结果应是( )类型

30.逻辑运算的运算对象应是( )类型,运算结果应是( )类型

33.下面的语句是声明一个逻辑变量并赋值,请将它补充完整: ______ b1=5!=6;

逻辑变量b1的取值是______。

34.下面的语句是声明某类型变量s,并通过三目条件运算符的结果给变量s赋值,请将该语句补充完整,s的初值是什么? ______ s=(9999%2= =1) ? ”奇数” : ”偶数”;

24.4.0; 2.5; 0; 1 25.(n= =0 26.6 ;24 29.boolean型30.boolean型;boolean型 33.boolean true 34.String ”奇数”

18.阅读下面的程序段,回答问题。 if ( x < 5 )

System.out.print(\else

{

if ( y < 5 )

System.out.print(\else

System.out.println(\

}

问题:

1)若执行前 x=6, y=8,该程序段输出是什么? 2)若执行前 x=1, y=8,该程序段输出是什么? 18.1)three 2)one

25.下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符”\\t”,请完成程序填空。 public _____ Class1 {

public static void main( String args[] ) {

char c='a';

for (int i=1;i<=26;i++)

{ System.out.print(______); } } }

26.下面是一个java应用程序(Application),它的功能是计算 s=1+2+3+...+10 ,请完成程序填空。 public _____ Class1 {

public static void main( String args[] ) {

int s=0;

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

s+=______; }

System.out.println(\ } }

27.下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。 import java.io.*; public class MyClass {

public static void main(String[] args) {

int j=1;

for(int i=1; _______; i++) {

System.out.println(i+\ } } }

25.class (c++)+\或(char)(C+i-1)+”\\t” 26.class i 27.i<=9 j*i

1.结构化程序设计的三种基本流程控制结构是:_______、_______、________。 10.下面程序的功能是求2 到100 之间的素数,请将程序补充完整。 public class Class1 {

public static void main( String args[] ) {

Label1: for(int i=2;i<100;i++) {

for(int j=2;j

if( i%j==_____) _________; }

System.out.print(i+\ } } }

11.阅读程序后回答问题 。 public class ContinueTest {

public static void main( String args[]) {

char c='i';

for (int n=6; n < 11; n++ ) {

if ( n == 8 ) continue;

System.out.print(\ } } }

问题:1)程序的输出结果是什么?

2)若将if中的continue语句替换为break语句,输出结果是什么? 13.阅读程序,回答问题。 public class ContinueTest

{

public static void main( String args[]) {

for (char c='a';c<= 'd'; c++ ) {

if ( c == 'c' ) continue; System.out.print(\ } } }

问题:1)程序的输出结果是什么?

2) 若将if中的continue语句替换为break语句,输出结果是什么? 10.0 continue

11.1)i j k l 2)i j

13.1)a b d 2)a b

6.以下方法fun的功能是求两参数之积。

int fun ( int a, int b ) { __________________; } 7.以下方法fun的功能是求两参数之积。

float fun ( int a, double b ) { __________________; } 8.以下方法fun的功能是求两参数的最大值。

int fun ( int a, int b ) { __________________; } 9.以下方法m的功能是求两参数之积的整数部分。

int m ( float x, float y ) { __________________; }

12.一个方法如果没有返回值,方法头定义中的返回值类型是( ) 15.采用_______的程序设计原则,使程序结构清晰简单,设计容易,有助于软件可靠性的提高。

16.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。 public ________ isEven(int a) { if(a%2==0)

return _____; else

return false;

}

6.return a*b 7.return (float)(a*b)

8.(return a>b?a:b) 9.return (int)(a*b)12.void

15.模块化 16. boolean true

1.同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。

1.参数列表

9.设有整型数组的定义:int a[ ]=new int[8]; ,则a.length的值为_____。 10.定义数组,需要完成以下三个步骤,即:________、_______和________ 。 11.在Java语言中,所有的数组都有一个_________属性,这个属性存储了该数组的元素的个数(数组长度)。

12.若有定义 int[ ] a=new int[8]; 则a的数组元素中第7个元素和第8个元素的下标分别是____和____。

13.定义一个整型数组y,它有5个元素分别是1,2,3,4,5。用一个语句实现对数组y的声明、创建和赋值:__________________;。

15.下面程序的功能为计算数组各元素的和,完成程序填空。 import java.awt.Graphics; import java.applet.Applet;

public class SumArray extends Applet {

int a[] = { 1, 3, 5, 7, 9, 10 }; int total;

public void init() {

total = 0;

for ( int i = 0; ___________; i++ ) total=______________; }

public void paint( Graphics g ) {

g.drawString( \otal of array elements: \ } } 9.8 10.声明数组;创建数组空间;初始化11.length 12.6和713.int y[]={1,2,3,4,5}; 15.i

1、开发与运行Java程序需要经过的三个主要步骤为 、 和 。

2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 类的子类并且存储该源程序文件的文件名为 。

3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译 器 编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。

4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用 字节内存空间,这样,无论是中文字符还是英文字符,都是占

用 字节内存空间。

5、设 x = 2 ,则表达式 ( x + + )/3 的值是 。

6、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为 和 。 1、编辑源程序、编译生成字节码、解释运行字节码 2、Applet、MyApplet

3、javac.exe、3、 .class 4、2 、2 5、0

6、true 、 false

2.设x = 2 ,则表达式 ( x + + ) * 3 的值是 。 答:6 6.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。 答:4、class

8.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 类的子类并且存储该源程序文件的文件名必须为 。 答:Applet、MyApplet.java

20.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 }; 则执行以下几个语句后的输出结果是 。 int s = 0 ;

for ( int i = 0 ; i < MyIntArray.length ; i + + ) s += MyIntArray[i] ; System.out.println( s ); 答:550

1 java 源程序编译命令是______________

2 java 应用程序中有一个main()方法,它前面有三个修饰符是_______ ________ ________

3 java语言数据类型可分为两大类,一类称为__________,另一类称为____________ 5设x为float型变量, y为 double型变量, a为 int型变量,已知 x=2.5f, a=7 ,y=4.22 则表达式x+a%3*(int)x%(int)y的值为___________________

6设x为float型变量, y为 double型变量, a为 int型变量,b 为long 型变量,c为char 型,则表达式x+y*a/x+b/y+c 的值为__________类型

1 javac 2 public static void 3 简单数据类型 ,引用数据类型 5 4.5 6 double

3、一个类实现一个接口使用的关键字是( )。

4、在面向对象概念中,每个对象都是由( )和( )两个最基本的部分组成的。

6、如果一个方法没有返回值,则该方法类型为( )。

1、安装完JDK后一般要设置的两个环境变量是( )和( )。 2、如果定义了一个名称为persons、长度为100的数组,则其第一个元素表示为( ),第36个元素表示为( )。

5、一个if语句可以跟随( )个else if语句,但是只能有一个( )语句。

面向对象

10.一般地,一个类的类体应由( )和( )两部分组成

11.面向对象的软件开发方法用( )把数据和基于数据的操作封装在一起。

14.在一个类定义中,用( )描述对象的属性 用( )描述对象的行为

17.面向对象程序设计方法最重要的三大特性是( )、( )和( )

10.变量定义和方法定义11.类 14.变量或成员;方法或函数 17.封装、继承和多态

7.一个对象的三个生命周期是_______、________、________。 8.使用一个对象前,必须声明并___________它。

9.创建类对象的运算符是___________。创建的目的是_____。

11.通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现: _______________________________。

12.通过_______运算符与类的对象连接,可以访问此类的成员。 7.创建;使用;清除8.创建 9.new 给对象分配内存空间 11.MyClass obj=new MyClass( ); 12.圆点操作符“.”

6._______是一个特殊的方法,用于对类的变量进行初始化。 13.下面是一个类的定义,请完成程序填空。 public class ____________ {

int x, y;

Myclass ( int i, _______) // 构造函数 {

x=i; y=j; } }

14.下面是一个类的定义,请将其补充完整。 class _____ { String name; int age; Student( _____ s, int i) { name=s; age=i;

} }

6.构造函数或构造方法

13.Myclass int j 14.Student String

5.final关键字能修饰_____、_____、_____。 6.abstract关键字能修饰_____、_____。 7.static能修饰_____、_____。

10.用_____修饰符修饰的方法称为静态方法;用_____修饰符修饰的变量称为静态变量

19.下面是一个类的定义,请将其补充完整。 class ____________ // 定义名为myclass的类 {

__________ int var=666; static int getvar()

{ return var; } }

20.下面程序的功能是通过调用方法max()求给定的三个数的最大值, 请将其补充完整。 public class Class1 {

public static void main( String args[] ) {

int i1=1234,i2=456,i3=-987; int MaxValue;

MaxValue=____________;

System.out.println(\三个数的最大值:\ }

public ______ int max(int x,int y,int z) { int temp1,max_value; temp1=x>y?x:y;

max_value=temp1>z?temp1:z; return max_value; } }

21.下面是一个类的定义,请将其补充完整。 ___________ A { String s;

_____ int a=666;

A(String s1) { s=s1; }

static int geta( ) { return a; } }

5.类、方法、属性6.类、方法 7.方法、属性10.static

19.myclass static 20.max(i1,i2,i3) static 21.class static

5.子类可以继承父类的__________成员。构造函数也能被重载。

6.如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量________了父类的同名变量。

7.属性的隐藏是指子类重新定义从父类继承来的__________。

8.如果子类中的某个方法的名字、返回值类型和________与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。

15.子类对象使用( )关键字引用被它隐藏了的父类的属性和调用被它覆盖了的父类的方法

17.Java语言中定义接口的关键字是( );

20.下面是一个小程序的主类myprogram的定义, 其中A、B是该主类所在源程序中已定义的另两个类的类名,完成程序填空。 import java awt.*; import java applet.*;

public class myprogram extends Applet //定义小程序的主类 {

A a; B b; public ________ init( )

{ a=new A( ); b=_____ B( ); } }

21.下面是一个类的定义,完成程序填空。 public class Youwrite {

int x;

_______( ) {x=0;} Youwrite ( int x) { _____; } }

23.现有一个类定义如下,请回答问题: class Employee {

String name; int age;

double wage; static int No=0;

Employee(String a1,int a2,double a3) {

name=a1; age=a2; wage=a3; No++;

} }

在使用该类时,已使用下面语句生成了该类的对象: Employee e1,e2; e1=new Employee(\王劲\ e2=new Employee(\张山\问题:

1)e2.name,e2.age,e2.wage的值各是什么?

2)生成对象e1、e2后,e1.No值为多少?能否通过类名做前缀引用属性No? 24.有如下源程序,请回答问题: import java.awt.*; import java.applet.*;

public class Javaapplet extends Applet {

B b;

public void init( )

{ b=new B( 'f', 87.6f, 69.1f); } public void paint(Graphics g) {

g.drawString(\序号 \性别 \

+\成绩1 \成绩2 b.print(g); } }

class A {

static int n=100; char ch; A( ) { n++; }

A( char c){ this( ); ch=c; } void print(Graphics g)

{ g.drawString(\ \ } }

class B extends A {

float s1, s2;

B(float r1,float r2){ s1=r1; s2=r2; } B( char c, float r1, float r2)

{ super(c); s1=r1; s2=r2; } void print(Graphics g) {

super.print(g);

g.drawString(\ \ }

\\ }

问题: 该程序的输出是什么? 25.阅读程序,回答问题。 public class InheritTest1 {

public static void main (String[] args) {

A aa; B bb;

aa=new A( ); bb=new B( ); aa.show( ); bb.show(); } }

class A {

int a=1;

double d=2.0; void show( )

{ System.out.println(\ } }

class B extends A {

float a=3.0f;

String d=\.\ int b=4;

void show( ) {

System.out.println(\.a +\.d); super.show( );

System.out.println(\ } }

问题:1)这是哪一类java程序?(java应用程序)

2)类A和类B是什么关系?(类B是类A的子类) 3)按程序输出的格式写出程序运行后的结果. 27.有如下源程序,请回答问题: class A { String s=\ } class B extends A { String s=\ } public class TypeConvert { public static void main(String args[]) { B b1,b2=new B();

A a1,a2; a1=(A)b2; a2=b2; System.out.println(a1.s); System.out.println(a2.s); b1=(B)a1; System.out.println(b1.s); System.out.println(b2.s); } }

问题: 该程序的四行输出各是什么?

5.非私有6.隐藏7.同名变量或属性8.参数列表15 super 17.interface 20.void new 21.Youwrite this.x=x 23.1)张山;30;3800.0 2)2; 能

24.输出两行,第一行为:序号 性别 成绩1 成绩2

第二行为: 101 f 87.6 69.1 25.程序运行结果如下:

Class A: a=1 d=2.0 Class A: a=1 d=2.0 Class A: a=1 d=2.0

Class B: a=3.0 d=Java program.b=4 27. class A class A class B class B

3.抽象方法只有方法声明,没有________。

4.Java 语言的接口是特殊的类,其中包含______常量和_______方法。(static(静态) ; abstract(抽象))

5.接口中所有属性均为_________、_________和________的。 6.用( )关键字定义抽象类和抽象方法 12 用( )关键字定义终结类和终结方法

20.下面是定义一个接口ITF的程序,完成程序填空。 public _______ ITF {

public static final double PI=Math.PI;

public ______ double area(double a, double b); }

21.下面是定义一个接口A的程序,完成程序填空。 public interface A

{

public static _______ double PI=3.14159;

public abstract double area(double a, double b)_____ }

3.方法体5.public、static、final 6.abstract 12.final 20.interface abstract 21.final ”;”

阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。

1.下面是一个类的定义。

class ____________ // 定义名为myclass的类 {

__________ var=666; int getvar() { return var; } } 7、 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。

8、创建一个名为 MyPackage 的包的语句是 , 该语句应该放在程序的位置为: 。

9、执行以下几个语句后的输出结果是 。

String s = “This one” , s1=”This two”; int i=5 if (i>10)

System.out.print(s) ; else

System.out.print(s1) ;

10、在Java程序中,通过类的定义只能实现 重继承,但通过接口的定义可以实现 重继承关系。 7、抽象(abstract)方法、最终(final)方法

8、package MyPackage ; 应该在程序第一句。 9、This two 10、单、多

1、在Java程序中,通过类的定义只能实现( )重继承,但通过接口的定义可以实现( )重继承关系。

2、在构造方法中调用本类中别的构造方法的关键字是( )。

int x=6, y=10, k=5; switch( x%y ) {

case 0: k=x*y; case 6: k=x/y; case 12: k=x-y; default: k=x*y-x;

}

A) 60 B) 5 C) 0 D) 54

15.下列语句序列执行后,r 的值是( )。

char ch='A'; int r=6; switch( ch+5 ) {

case 'A': r=r+3; case 'B': r=r+5;

case 'C': r-=6; break; default : r/=2;

}

A) 11 B) 3 C) 2 D) 9

1.C 2.B 3.D 4.B 5.D 6.A 7.B 8.B 9.C 10.C 11.D 12.C 13.B 14.D 15.B

1.以下for循环的执行次数是( )。

for(int x=0;(x==0)&(x>4);x++);

A)无限次 B)一次也不执行 C)执行4次 D)执行3次 2.下列语句序列执行后,j 的值是( )。

int j=1;

for( int i=5; i>0; i-=2 ) j*=i;

A) 15 B) 1 C) 60 D) 0 3.以下for循环的执行次数是( )。

for(int x=0;(x==0)&(x<4);x++);

A)无限次 B)一次 C)执行4次 D)执行3次 4.下列语句序列执行后,j 的值是( )。

int j=2;

for( int i=7; i>0; i-=2 ) j*=2;

A) 15 B) 1 C) 60 D) 32 5.以下for循环的执行次数是( )。

for(int x=0,y=0;(y!=0)&&(x<4);x++);

A)无限次 B)一次也不执行 C)执行4次 D)执行3次 6.下列语句序列执行后,j 的值是( )。

int j=0;

for( int i=3; i>0; i-- ) j+=i;

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

7.以下由 for 语句构成的循环执行的次数是( )。

for ( int i = 0; true ; i++) ;

A)有语法错,不能执行 B)无限次 C)执行1次 D)一次也不执行 8.下面语句执行后,i 的值是( )。

for( int i=0, j=1; j < 5; j+=3 ) i=i+j;

A) 4 B) 5 C) 6 D) 7 9.下列语句序列执行后,k的值是( )。

int j=8, k=15;

for( int i=2; i!=j; i++ ) { j-=2; k++; } A) 18 B) 15 C) 16 D) 17 10.下列语句序列执行后,k 的值是( )。

int m=3, n=6, k=0;

while( (m++) < ( -- n) ) ++k;

A) 0 B) 1 C) 2 D) 3 11.下列语句序列执行后,i 的值是( )。

int s=1,i=1;

while( i<=4 ) {s*=i;i++;}

A) 6 B) 4 C) 24 D) 5

12.下列语句序列执行后,k 的值是( )。

int m=3, n=6, k=0;

while( m < n ) { ++k; m++; --n; }

A) 0 B) 1 C) 2 D) 3 13.下列语句序列执行后,j 的值是( )。

int j=8, i=6; while( --i >4 ) --j;

A) 5 B) 6 C) 7 D) 8

14.下列语句序列执行后,j 的值是( )。

int j=8, i=6;

while( i >4 ) i-=2; - -j;

A) 5 B) 6 C) 7 D) 8

15.下列语句序列执行后,j 的值是( )。

int j=9, i=6; while( i-- >3 ) --j;

A) 5 B) 6 C) 7 D) 8

16.下列语句序列执行后,j 的值是( )。

int j=3, i=2;

while( --i!=i/j ) j=j+2;

A) 2 B) 4 C) 6 D) 5 17.若有循环:

int x=5,y=20;

do { y-=x; x+=2; }while(x

A) 2次 B) 1次 C) 0次 D) 3次

18.以下由do-while语句构成的循环执行的次数是( )。

int m = 8;

do { ++m; } while ( m < 8 );

A)一次也不执行 B)执行1次

C)8次 D)有语法错,不能执行 19.下列语句序列执行后,i的值是( )。

int i=10;

do { i/=2; } while( i>1 );

A) 1 B) 5 C) 2 D) 0 20.下列语句序列执行后,i的值是( )。

int i=10;

do { i/=2; } while( i--> 1 );

A) 1 B) 5 C) 2 D) -1 21.下列语句序列执行后,i的值是( )。

int i=10;

do { i-=2; } while( i>6 );

A) 10 B) 8 C) 6 D) 4 22.下列语句序列执行后,i的值是( )。

int i=16;

do { i/=2; } while( i > 3 );

A) 16 B) 8 C) 4 D) 2

23.以下由do-while语句构成的循环执行的次数是( )。

int k = 0;

do { ++k; }while ( k < 1 );

A)一次也不执行 B)执行1次 C)无限次 D)有语法错,不能执行 24.若有循环:

int x=5,y=20;

do{ y-=x; x++; } while(++x<--y); 则循环体将被执行( )。

A)0次 B)1次 C)2次 D)3次

1.B 2.A 3.B 4.D 5.B 6.D 7.B.8.B 9.D 10.B 11.D 12.C.13.C 14.C 15.B 16.D

17.A 18.B 19.A 20.D 21.C 22.D 23 B 24.C

3.以下语句中能构成分支的语句是( )。 A) for 语句 B) if 语句

C) continue 语句 D) 方法调用语句 4.以下语句中能构成多分支的语句是( )。 A) for 语句 B) while 语句 C) switch 语句 D) do - while 语句 5.以下语句中能构成多分支的语句是( )。 A)for语句 B)while语句

C)if__else语句的嵌套 D)do__while语句 6.以下语句中是循环语句的是( )。

A)break 语句 B)switch 语句 C)if 语句 D)do - while 语句 7.以下语句中不能构成循环的语句是( )。

A) for 语句 B) while 语句 C) switch 语句 D) do__while 语句 8.能从循环语句的循环体中跳出的语句是( )。

A)for语句 B)break语句 C) continue语句 D)return语句

3.B 4.C 5.C 6.D 7.C 8.B

1.下列方法定义中,正确的是( )。 A) int x( int a,b ) { return (a-b); } B) double x( int a,int b) { int w; w=a-b; } C) double x( a,b ) { return b; } D) int x( int a,int b) { return a-b; } 2.下列方法定义中,正确的是( )。 A) void x( int a,int b ); { return (a-b); } B) x( int a,int b) { return a-b; }

C) double x { return b; } D) int x( int a,int b) { return a+b; }

3.下列方法定义中,不正确的是( )。 A) float x( int a,int b ) { return (a-b); } B) int x( int a,int b) { return a-b; }

C) int x( int a,int b ); { return a*b; } D) int x(int a,int b) { return 1.2*(a+b); } 4.下列方法定义中,正确的是( )。 A) int x( ){ char ch='a'; return (int)ch; } B) void x( ){ ...return true; } C) int x( ){ ...return true; } D) int x( int a, b){ return a+b; }

5.列方法定义中,方法头不正确的是( )。 A)public int x( ){ ...}

B)public static int x( double y ){ ...} C)void x( double d ) { ...}

D)public static x( double a ){ ...}

1.D 2.D 3.D 4.A 5.D

2.在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是( )。

A)public getSort(float x) B)int getSort(int y) C)double getSort(int x,int y) D)void get(int x,int y)

3.在某个类中存在一个方法:void sort(int x),以下不能作为这个方法的重载的声明的是( )。

A)public float sort(float x) B)int sort(int y)

C)double sort(int x,int y) D)void sort(double y) 4.为了区分类中重载的同名的不同方法,要求( )。

A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同

2.C 3.B 4.A

1.在一个应用程序中定义了数组a:int[ ] a={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个数组元素,下面正确的代码是( )。

A) System.out.println(a[10]); B) System.out.println(a[9]); C) System.out.println(a[a.length]); D) System.out.println(a(8)); 2.下面关于数组定义语句不正确的是( )。

A)int[ ] a1,a2; B)int a0[ ]={11,2,30,84,5};

C)double[] d=new double[8]; D)float f[ ]=new {2.0f,3.5f,5.6f,7.8f};

3.设有定义语句int a[ ]={3,9,-9,-2,8}; 则以下对此语句的叙述错误的是( )。 A) a数组有5个元素 B) 数组中的每个元素是整型

C) a的值为3 D) 对数组元素的引用a[a.length-1]是合法的 4.设有定义语句int a[ ]={66,88,99}; 则以下对此语句的叙述错误的是( )。 A) 定义了一个名为a的一维数组 B) a数组有3个元素

C) a数组的元素的下标为1~3 D)数组中的每个元素是整型 5.为了定义三个整型数组a1、a2、a3,下面声明正确的语句是( )。 A)intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5}; B)int [ ] a1,a2; int a3[ ]={1,2,3,4,5}; C)int a1,a2[ ]; int a3={1,2,3,4,5}; D)int [ ] a1,a2; int a3=(1,2,3,4,5); 6.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( A) i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 7.若已定义byte[ ] x={11,22,33,-66};

其中0≤k≤3,则对x数组元素错误的引用是( )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0]

8.设有定义 int[ ] a=new int[4]; ,a的所有数组元素是( )。 A) a0, a1, a2, a3 B) a[0], a[1], a[2], a[3] C) a[1], a[2], a[2], a[4] D) a[0], a[1], a[2], a[3], a[4]

1.B2.D3.C4.C 5.B 6.B 7.C 8.B

1 以下说法不正确的是( )。

A) 类是同种对象的集合和抽象 B) 类是抽象的数据类型 C) 类是复合数据类型 D) 类是一个对象 2 定义类头时,不可能用到的关键字是( )。 A) class B)private C)extends D)public 3.定义类的类头时可以使用的关键字是( )。

)。

A) private B) protected C) final D) static 4.定义类的类头时可以使用的关键字是( )。

A) private B) protected C) abstract D) static 5.定义类头时,不可能用到的关键字是( )。

A) private B)class C)extends D)implements

6.下列选项中,用于在定义子类时声明父类名的关键字是( )。 A)interface B) package C) extends D) class 7.下列类定义中,不正确的是( )。 A) class x { ....} B) class x extends y { ....}

C) static class x implements y1,y2 { ....} D) public class x extends Applet { ....}

8.编写 Java Applet程序时,必须有的 import语句是( )。 A) import java.applet.Applet; B) import java.io.*; C) import java.awt.event; D) import java.lang.*; 9.下列类头定义中,错误的是( )。 A)public x extends y {...} B) public class x extends y {...} C)class x extends y implements y1 {...} D)class x {...}

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

1.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。 A) float A a; B) public A a=A( ); C) A a=new int( ); D) static A a=new A( );

2.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。 A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A; 3.设 X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中正确的是( )。 A) public X x1= new Y( ); B) X x1= X ( ); C) X x1=new X( ); D) int X x1;

4.设X 、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是( )。 A) static X x1; B) public X x1=new X(int 123); C) Y x1; D) X x1= X( ); 1.D 2.A 3.C 4.A

1.设i , j为类X中定义的int型变量名,下列X类的构造函数中不正确的是( )。 A) void X(int k ){ i=k; } B) X(int k ){ i=k; } C) X(int m, int n ){ i=m; j=n; } D) X( ){i=0;j=0; }

2.有一个类A,以下为其构造函数的声明,其中正确的是( )。 A)public A(int x){...} B)static A(int x){...} C)public a(int x){...} D)void A(int x){...}

3.有一个类A,以下为其构造函数的声明,其中正确的是( )。 A)void A(int x){...} B)A(int x){...} C)a(int x){...} D)void a(int x){...}

4.设i、j、k为类X中定义的int型变量名,下列类X的构造函数中不正确的是( )。 A) X( int m){ ...} B) void X( int m){ ...} C) X( int m, int n){ ...} D) X( int h,int m,int n){ ...} 5.设i , j为类X中定义的double型变量名,下列X类的构造函数中不正确的是( )。 A) double X(double k ){ i=k; return i; } C) X( ){i=6;j=8; }

B) X(double m, double n ){ i=m; j=n; } D) X(double k ){ i=k; }

1.A 2.A 3.B 4.B 5.A

1.既能作为类的修饰符, 也能作为类成员的修饰符的是( )。 A) public B) private C) protected D) static 2.用于定义类成员的访问控制权的一组关键字是( )。 A) class, float, double, public B) float, boolean, int, long C) char, extends, float, double D) public, private, protected 1.A 2.D

1.Java语言的类间的继承关系是( )。

A) 多重的 B) 单重的 C) 线程的 D) 不能继承 2.以下关于Java语言继承的说法正确的是( )。

A)Java中的类可以有多个直接父类 B)抽象类不能有子类

C)Java中的接口支持多继承 D)终结类可以作为其它类的父类 3.下面是有关子类继承父类构造函数的描述,其中正确的是( )。 A) 如果子类没有定义构造函数,则子类无构造函数

B) 子类构造函数必须通过super关键字调用父类的构造函数 C)子类必须通过this关键字调用父类的构造函数 D)子类无法继承父类的构造函数

4.现有两个类A、B,以下描述中表示B继承自A的是( )。 A) class A extends B B) class B implements A C) class A implements B D) class B extends A 1.B 2.C 3.B 4.D

1.下列选项中,用于定义接口的关键字是( )。 A)interface B) implements C) abstract D) class 2.下列选项中,用于实现接口的关键字是( )。 A)interface B) implements C) abstract D) class 1.A 2.B

基本语法

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

6.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。 A) switch(a+b); B) switch( a+b*3.0 )

{ ?? } { ?? } C) switch a D) switch ( a%b )

{ ?? } { ?? } 7.下列语句序列执行后,x 的值是( )。 int a=3, b=4, x=5; if( ++a

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

8.下列语句序列执行后,k 的值是( )。 int i=6, j=8, k=10, n=5, m=7; if( i

A) 9 B) 10 C) 11 D) 12 9.下列语句序列执行后,r 的值是( )。 char ch='8'; int r=10; switch( ch+1 )

{ case '7': r=r+3; case '8': r=r+5;

case '9': r=r+6; break; default: ; }

A) 13 B) 15 C) 16 D) 10 10.下列语句序列执行后,j 的值是( )。 int j=0;

for( int i=3; i>0; i-- ) j+=i;

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

11.下列语句序列执行后,j 的值是( )。 int j=9, i=6;

while( i-- >3 ) --j;

A) 5 B) 6 C) 7 D) 8

12.下列语句序列执行后,i的值是( )。 int i=10;

do { i-=2; } while( i>6 );

A) 10 B) 8 C) 6 D) 4 17.下列方法定义中,正确的是( )。

A) int x( int a,b ) B) double x( int a,int b) { return (a-b); } { int w; w=a-b; } C) double x( a,b ) D) int x( int a,int b) { return b; } { return a-b; } 18.能构成多分支的语句是( )。

A) for 语句 B) while 语句

C) switch 语句 D) do - while 语句 19.下列程序段执行后t1的结果是( )。 int x1 = 9, x2 = 6, t1; t1 = x1 > x2 ? x1 : x2;

A) 6 B) 9 C) 11 D) 3

20.现有一变量声明为boolean aa;下面赋值语句中正确的是( )。 A)aa=false; B)aa=False; C)aa=\ D)aa=0; 24.下列语句序列执行后,ch1 的值是( )。 char ch1=?A?,ch2=?W?; if(ch1 + 2 < ch2 ) ++ch1;

A) ?A? B) ?B? C) ?C? D) B 25.下列语句序列执行后,i 的值是( )。 int i=8, j=16;

if( i-1 > j ) i--; else j--;

A) 15 B) 16 C) 7 D) 8

26.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。

A) x > y || x > z B) x != y

C) z > ( y + x ) D) x < y & ! ( x < z )

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

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

2、设 x = 1 , y = 2 , z = 3,则表达式 y=x+y+z 的值是( )。 A. 3 B. 6 C. 4 D. 5 3、在Java Applet程序main方法中,正确的参数是: A. main(string args[]) B. main(String ()args ) C. main(String args[]) D. main(string []args ) 6、如下哪些字串是Java中的标识符( )? A、fieldname B、super C、3number D、#number

8、Java中main()函数的返回值是什么( )? A、String B、int C、char D、void

9、如下哪些字串是Java中的标识符( )? A、fieldname B、String C、3number D、#number

10、如下哪些是Java中有效的关键字( )? A、i B、hello

C、false D、good

11、如下哪些是Java中正确的整数表示( )? A、22 B、22.0 C、-22.03 D、22H

1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。 A、java B、class C、html D、exe 答:B

2.main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?

A、public static void main( )

B、public static void main( String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] ) 答:B

4.下列哪个是合法的Java标识符?( )

A、Tree&Glasses B、FirstJavaApplet C、_$theLastOne D、273.5 答:B 、 C

5.Java Application源程序的主类是指包含有( )方法的类。 A、main方法 B、toString方法

C、init方法 D、actionPerfromed方法 答:A

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

A、8 B、16 C、32 D、64 答:B

7.设 a = 8,则表达式 a >>> 2 的值是( )。

A、1 B、2 C、3 D、4 答:B

8.若a的值为3时,下列程序段被执行后,c的值是多少?( ) c = 1;

if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、4 答:C

22.设有下面两个赋值语句:

a = Integer.parseInt(“1024”);

b = Integer.valueOf(“1024”).intValue(); 下述说法正确的是( )。

A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且它们的值相等。 D、a和b都是整数类型变量并且它们的值相等。

答:D

2、若a的值为3时,下列程序段被执行后,c的值是多少?( ) if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;

A、1 B、2 C、3 D、4 3、下面哪一个操作符的优先级最高? ( ) A、&& B、|| C、! D、( )

5、编译Java程序的命令是: ( ) A、appletviewer B、javac C、java D、javadoc

6、编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A、.byte B、.class C、.html D、.exe

7、执行语句int i = 1, j = ++i; 后i与j的值分别为( )。 A、1与1 B、2与1 C、1与2 D、2与2

8、main方法是Java应用程序执行的入口点,关于main方法的方法头以下哪项是合法的?( )

A、public static void main()

B、public static void main( String[] args ) C、public static int main(String [] arg ) D、public void main(String arg[] )

9、下列哪个选项不是Java语言的特点?( ) A、面向对象 B、高安全性 C、平台无关 D、面向过程

10、下列哪个是合法的Java标识符?( )

A、Tree&Glasses B、FirstJavaApplet C、*theLastOne D、273.5 12、下面那一个循环会导致死循环?( )

A、for (int k = 0; k < 0; k++) B、for (int k = 10; k > 0; k--) C、for (int k = 0; k < 10; k--) D、for (int k = 0; k > 0; k++) 13、有如下程序段: int a = b = 5;

String s1 = \祝你今天考出好成绩!\ String s2 = s1;

则表达式a == b与s2 == s1的结果分别是:( )。 A、true与true B、false与true C、true与false D、false与false 17、有如下程序段:

int total = 0;

for ( int i = 0; i < 4; i++ ){ if ( i == 1) continue; if ( i == 2) break; total += i; }

则执行完该程序段后total的值为:( )。 A、0 B、1 C、3 D、6

1 下列不可作为java语言标识符的是() A a1 B $1 C _1 D 11

2 有一段java 应用程序 ,它的主类名是a1,那么保存它的源文件名可以是() A a1.java B a1.class C a1 D都对

5 整型数据类型中,需要内存空间最少的是 A short B long C int D byte dad

1、下列哪个选项不是Java语言的注释符号() A、// B、/* */ C、/** */ D、! 2、下面符号中,那个符号是Java的“等于号运算符”() A、= B、!= C、= = D、>= 3、下列哪个选项不是Java关键字() A、boolean B、private C、hi D、if 4、下列运算符中,优先级最高的是() A、| B、& C、++ D、() 5、下列哪项不是Java的原子数据类型() A、long B、for C、byte D、char 6、编译Java程序的命令是() A、java B、javadoc C、javac D、cd 7、下列哪个选项中对应的工具可以用来开发Java语言程序() A、Word2003 B、JBuilder C、Outlook D、Excel2000 8、下列哪个选项是Java的输出语句() A、System.out.println(); B、Out.system.print(); C、System.println.out(); D、print.system.out(); 9、Java语言中的语句是以( )为结尾的。 A、逗号 B、分号 C、单引号 D、句号 10、下列哪个选项是Java的主方法() A、public static main(String args[]) B、private static void main(String args[ ]) C、public static void main(String args[ ]) D、private static main(String [ ] args) 13、定义一个整型变量i的语句是() A、int i; B、double i; C、i int; D、int q; 14、下面定义数组的语句错误的是() A、String [ ] str; B、String str [ ]; C、char [ ] [ ] str; D、char str; 25、数组第一个元素的下标是()

A、0 B、1 C、2 D、-1 16、下列哪项是Java的转义字符() A、|’ B、!” C、\\’ D、&” 17、下列哪项不是Java合法的标识符 A、$wei B、123 C、F117 D、girl_boy 18、下列哪个选项不是正确的for语句的形式() A、for( ; ; ) B、 for(int i=0; i<10; i++) C、 for(int i=0, i<10, i++) D、for(int i=0; ; i++) 19、下列哪个选项是正确的循环语句的形式() A、do{//循环体}while(1= =1); B、while(1=1){//循环体} C、while(){//循环体} D、while{//循环体}()

面向对象

4.为了使包sos在当前程序中可见,可以使用的语句是( )。 A)import sos.*; B)package sos.*; C)sos import; D)sos package;

5.在某个类A中存在一个方法:void GetSort(int x),以下能作为这个方法的重载的声明的是( )。

A)Void GetSort(float x) B)int GetSort(int y) C)double GetSort(int x,int y) D)void Get(int x,int y)

13.为了区分重载多态中同名的不同方法,要求( )。

A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同 14.定义主类的类头时可以使用的访问控制符是( )。

A) private B) protected C) public D) private protected

15.有一个类A,以下为其构造函数的声明,其中正确的是( )。 A)void A(int x){...} B)A(int x){...} C)a(int x){...} D)void a(int x){...}

16.设 x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。 A) public x x1= new y( ); B) x x1=x( ); C) x x1=new x( ); D) int x x1; 21.Java语言的类间的继承关系是( )。

A) 多重的 B) 单重的 C) 线程的 D) 不能继承 22.下列选项中,用于在定义子类时声明父类名的关键字是( )。 A)interface B) package C) extends D) class

23.下列选项中,用于在定义类头时声明父类名的关键字是( )。 A)return B) interface C) extends D) class 27.下列类定义中,不正确的是( )。

A) class x { ....}

B) class x extends y { ....}

C) static class x implements y1,y2 { ....} D) public class x extends Applet { ....} 28.下列方法定义中,不正确的是( )。 A) public int x( ){ ...}

B) public static int x( double y ){ ...} C) void x( double d ) { ...} D) public static x( double a ){ ...}

29.设 i,j 为类 x 中定义的 double 型变量名,下列 x 类的构造函数中不正确的是( )。

A) double x(double k ){ i=k; return i; } B) x(double m, double n ){ i=m; j=n; } C) x( ){i=0;j=0 }

D) x(double k ){ i=k; }

30.设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( )。

A) x( int m){ ...} B) void x( int m){ ...} C) x( int m, int n){ ...} D) x( int h,int m,int n){ ...}

4、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 5 、JAVA对象主要属性有: ( )。

A.状态与行为 B.抽象和封装

C.继承与多态 D.可重用和可扩展

12、下面的代码段中,执行之后count的值是什么( )? int count=1;

for(int i=1;i<=5;i++)

{ count=count+i; System.out.println(count); } A、5 B、1 C、15 D、16

3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 答:A

10.对于构造函数,下列叙述正确的是( )。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。

答:A C D

11.下面的是关于类及其修饰符的一些描述,正确的是:( )。

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。 B、final类不但可以用来派生子类,也可以用来创建final类的对象。 C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没 有abstract方法。 答:A C D

12.若需要定义一个类域或类方法,应使用哪种修饰符?( ) A、static B、package C、private D、public 答:A

13.若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于( )。

A、本地方法 B、终结方法 C、解态方法 D、抽象方法

答:D

14.下列关于静态初始化器的叙述中,哪一个是正确的?( ) A、静态初始化器是在构造函数之前加上static修饰符。 B、静态初始化器是对类自身进行初始化。 C、静态初始化器在同一个类中只能有一个。

D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。 答:B D

15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?( )

A、实例方法可以直接调用父类的实例方法。 B、实例方法可以直接调用父类的类方法。

C、实例方法可以直接调用其他类的实例方法。 D、实例方法可以直接调用本类的类方法。 答:B D

16.设有下面两个类的定义:

class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){

} return score; } } 问:类Person和类Student的关系是( )。

A、包含关系 B、继承关系

C、关联关系 D、无关系,上述类定义有语法错误

答:B、

17.设有下面的两个类定义: class AA {

void Show(){ System.out.println(“我喜欢Java!”);

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

Top