Java面向对象编程练习题 下载本文

Java面向对象编程 练习题

专题1 初识Java 一、填空题

1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是(SE)、( EE )、( ME )。 2.环境变量的设置,若JDK安装在“D:\\JDK”,则应设置Path为( )、classpath为( )。 3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展名为()。

4.如果Java源文件中有多个类,那么只能有一个类是()类。 5.Java程序可以分成两类,即()和()。

二、选择题

1.作为Java应用程序入口的main方法,其声明格式是(B )

A.public static int main(String args[]) B.public static void main(String args[]) C.public void main(String args[]) D.public int main(String args[]) 2.下面命令正确的是(B)

A.java AppFirst.java B.java AppFirst C.java appfirst.class D.javac AppFirst

3.设有一个Java小程序,源程序名为FirstApplet.java,其class文件为FirstApplet.calss,则运行该小程序的命令为(B)

A.java FirstApplet B.javac FirstApplet.java C.appletviewer FirstApplet.java D.appletviewer FirstApplet.html 4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下。 A.bin B.jre C.include D.doc 5.Java语言是一种 D 语言。 A.机器

B.汇编

C.面向过程的

D.面向对象的

6、Java程序的最基本组成单位是 D 。 A.函数

B.过程

C.变量

D.类

三、简答题(十分重要)

1.Java语言有哪些特点?

跨平台、一种简单、面向对象、分布式、半编译半解释、健壮、安全、多线程 2.JDK安装完成后,如何设置环境变量? Path 配置:

1)我的电脑—属性—高级—环境变量—系统变量

2)新建 变量名:path 变量值: jdk中bin的路径 配置 Class Path :

1)我的电脑—属性—高级—环境变量—系统变量

2)新建 变量名:classpath 变量值: .;jdk中lib的路径; 3.简述Java应用程序和小应用程序的区别。 4.简述Java应用程序的开发过程

专题2 标识符、表达式、数据类型 一、填空题

1.Java逻辑常量有两个:(true )和( false )。 2.写出下列表达式的运算结果,设a=2,b=-4,c=true。 (1)-a%b++ -2 (2)a>=1 && a <= 10 ? a : b true (3)c^(a>b) (4)(-a)<

false -8

(5)(double)(a+b)/5+a/b -0.4

3、比较两个数相等的运算符是: == 。

4、Java中的八种基本数据类型分别是:char、 int 、 long 、 short 、 boolean 、 float 、 double 和 byte 。

二、选择题

1.下面这些标识符哪个是错误的(C )

A.Javaworld B._sum C.2Java Program D.$abc 2.下列哪一组运算符的优先级顺序是从高到低排列的(B )

A.|、&、! B.&、^、|| C.!、%、++ D.<、<<、++ 3、下面哪个赋值语句不会产生编译错误(D )

A.char a=’abc’; B.byte b=152; C.float c=2.0; D.double d=2.0; 4.下面哪个单词是Java语言的关键字(D )

A.False B.FOR C.For D.for 5.执行下面程序后,哪个结论是正确的(A ) int a, b, c;

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

A.a的值为2,b的值为3,c的值为1 B.a的值为2,b的值为4,c的值为2 C.a的值为2,b的值为4,c的值为1 D.a的值为2,b的值为3,c的值为2 6.设各个变量的定义如下,哪些选项的值为true ( C) int a=3, b=3; boolean flag=true;

A.++a = = b B.++a= = b++ C.(++a = = b) || flag D.(++a= =b) & flag 7.表达式(int)6.5/7.5*3的值的类型为(B )?

A.short B.int C.double D.float

8.设a, b, x, y, z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是(D ) A.x>y && bx-y C.y = = ++x D.y+x*x++ 9.下面语句输出的结果为(B ) 2); //二进制比较 0101^0010=0111

A.6 B.7 C.10 D.25 10.对下面的语句执行完后正确是:(D )

int c=’c’/3;

A.输出结果为21 B.输出结果为22 C.输出结果为32 D.输出结果为33 11.以下选项中变量a已定义类型,合法的赋值语句为(A ) A.a = int(y); B.a= =1; C.a = a+1=3; D.++a; 12.执行下列程序段后,ch,x,y的值正确的是:(D )

int x=3, y=4; boolean ch;

ch=x

A.true,3,4 B.true,4,3 C.false,3,4 D.false,4,3 13.下列标识符中,正确的是 B 。 A、1_Back B、$_Money

C、$-money D、2-Forward

14.现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是 B 。 A、int类型

B、double类型

C、float类型

D、long类型

15、以下程序的运行结果为 A 。

public class A {

public static void main(String a[]) { int x = 2, y = 5; String z = \ }

} A.7 B.7 C.25 D.7 25x+z 7x+z 25x+z 25x+z x+y=25 x+y=25 x+y=7 x+y=25 x+z=25 x+z=7 x+z=25 x+z=7 16、设有定义int a=12;则执行a*=12;语句后,a的值为: A 。 A.144

B.12

C.24

D.0

17、下列标识符中,合法的一个是C。 A.$#@!$

int x=6,y=8;

B.$我们$

C.$22$

D.2$$2

18、执行下列程序段后,b, x, y的值分别是 D 。

boolean b;

b=x>y&&++x==--y; A.true , 6, 8

B.false , 6, 8

C.e, 7, 7

D.false, 7, 7

19、下列程序运行的结果是d 。 public class A { public static void main(String args[]) { int x = 7%3; while(x){ x--; } } } A.0

B.1

C.true

D.编译错误

三、编程题

1.使用Math.pow()方法,求出2的32次方的值。 public class Tip {

public static void main(String[] args){ double i=2; double t=0;

t=Math.pow(2, 32);

System.out.print(t); } }

专题3 流程控制语句 一、填空题

1.在switch语句中的表达式的类型必须是( int )或者( char )。 2.break在循环语句中的作用是(跳出循环 )。 3.分支语句包括(if )和(switch )。

4.while循环语句的循环次数( n ),do-while语句的循环次数(n+1 ),for语句的循环次数(n )。

二、选择题

1.下面程序片段输出的是什么( C) int a=3, b=1;

A.a=1 B.a=3 C.编译错误,没有输出 D.正常运行,但没有输出 2.下面语句执行后,x的值为(C ) int a=4, b=5, x=3; if(++a==b) x=x*a;

A.3 B.12 C.15 D.20 3.请看下面的程序代码:

当程序输出“second”时,x的范围是( )

A.x<=0 B.x<20 && x>=0 C.x>0 D.x>=20 4.请看下面的程序代码: switch(n){ case 0: case 1:

}

当n为何值时,程序段将输出字符串”second”( )

A. 0 B.1 C.2 D.以上都可以 5.下列语句执行后,j的值是( ) int j=3, i=3; while(--i!=i/j) j=j+2;

A. 4 B.5 C.6 D.7 6.下列语句执行后,x的值是(D) int x=2 ;

do{x+=x ; }while(x<17);

A. 4 B.16 C.32 D.256 7.执行下列语句后,i、j的值是( ) int i=1, j=8; do{

if(i++>--j) continue; }while(i<4);

A. i=4, j=5 B.i=5,j=4 C.i=5,j=5 D.i=5,j=6 8.下列语句执行后,k的值是( ) int j=4, i, k=10; for(i=2; i!=j; i++) k=k-i;

A. 4 B.5 C.6 D.7 9.下列语句执行后,c的值是( ) char c=’\\0’;

for(c=’a’; c<’z’; c+=3){

if(c>=’e’) break;

}

A. ‘e’ B.’f’ C.’g’ D.’h’ 10.若变量都已经正确说明,则以下程序段输出为( ) a=10; b=50; c=30; if(a>b) a=b;b=c;