Java面向对象编程 练习题
专题1 初识Java 一、填空题
1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是( JAVA SE )、( JAVA EE )、( JAVA ME )。
2.环境变量的设置,若JDK安装在“D:\\JDK”,则应设置Path为(D:JDK\\bin )、classpath为( D:JDK\\lib )。
3.Java源文件的扩展名为( .java ),用Javac编译Java源文件,得到的字节码文件的扩展名为(.class )。
4.如果Java源文件中有多个类,那么只能有一个类是(public class )类。 5.Java程序可以分成两类,即(Java Application )和(java Applet)。
二、选择题
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,其HTML文件为FirstApplet.html,则运行该小程序的命令为(D)
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安装完成后,如何设置环境变量? 3.简述Java应用程序和小应用程序的区别。 4.简述Java应用程序的开发过程
专题2 标识符、表达式、数据类型 一、填空题
1.Java逻辑常量有两个:(ture )和(flase )。 2.写出下列表达式的运算结果,设a=2,b=-4,c=true。 (1)-a%b++ -2 (2)a>=1 && a <= 10 ? a : b 2 (3)c^(a>b) (4)(-a)<
false -8 -0.4
(5)(double)(a+b)/5+a/b
3、比较两个数相等的运算符是: = = 。
4、Java中的八种基本数据类型分别是:char、 int 、 long 、 shore 、 flaot、 double 、 byte 和 boolean 。
二、选择题
1.下面这些标识符哪个是错误的(C )
A.Javaworld B._sum C.2Java Program D.$abc 2.下列哪一组运算符的优先级顺序是从高到低排列的( B)
A.|、&、! B.&、^、|| C.!、%、++ D.<、<<、++ 3、下面哪个赋值语句不会产生编译错误( C)
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.执行下面程序后,哪个结论是正确的( D) 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的值的类型为(C )?
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) Syste.out.println(5^2);
A.6 B.7 C.10 D.25 10.对下面的语句执行完后正确的说法是:( D)
int c=?c?/3;
System.out.println(c);
A.输出结果为21 B.输出结果为22 C.输出结果为32 D.输出结果为33 11.以下选项中变量a已定义类型,合法的赋值语句为( D) A.a = int(y); B.a= =1; C.a = a+1=3; D.++a; 12.执行下列程序段后,ch,x,y的值正确的是:( A)
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 = \ System.out.println(x + y); System.out.println(x + z + \ System.out.println(\ System.out.println(\ } } 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.$#@!$ B.$我们$ C.$22$ D.2$$2 18、执行下列程序段后,b, x, y的值分别是 B 。 int x=6,y=8; 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--; } System.out.println(x); } } A.0 B.1 C.true D.编译错误 三、编程题 1.使用Math.pow()方法,求出2的32次方的值。 专题3 流程控制语句 一、填空题 1.在switch语句中的表达式的类型必须是( int型 )或者( Boolean )。 2.break在循环语句中的作用是(跳出整个循环 )。 3.分支语句包括( 双重分支)和( 多重分支)。 4.while循环语句的循环次数(不限 ),do-while语句的循环次数( 至少一次 ),for语句的循环次数(不限 )。 二、选择题 1.下面程序片段输出的是什么( C) int a=3, b=1; if(a=b) Syste.out.println(“a=”+a); 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.请看下面的程序代码: if(x<0) {Syste.out.println(“first”);} else if(x<20) {Syste.out.println(“second”);} else {Syste.out.println(“third”);} 当程序输出“second”时,x的范围是( B) A.x<=0 B.x<20 && x>=0 C.x>0 D.x>=20 4.请看下面的程序代码: switch(n){ case 0: Syste.out.println(“first”); case 1: case 2: Syste.out.println(“second”); break; default: Syste.out.println(“end”); }