当前位置:文档之家› JAVA程序设计习题

JAVA程序设计习题

JAVA程序设计习题1一、单选题1.编译Java Application源程序文件将产生相应的字节码文件,扩展名为哪一个?A.javaB.classC.htmlD.exe2.下面哪一个特性不是面向对象编程主要体现的?A.封装性B.继承C.多态D.类3.设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x的值是哪一个?A.3B.3.5C.4D.54.以下标识符中,哪个是无效的标识符?A.IDoLikeTheLongNameClassB.$byteC.okD. const5.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?A.安全性B.多线性C.跨平台D.可移植6.Applet可以做下列哪些操作?A.读取客户端文件B.在客户端主机上创建新文件C.在客户端装载程序库D.读取客户端部分系统变量7.以下声明合法的是哪一个?A.default String s;B.public final static int w( )C.abstract double d;D.abstract final double hyperbolicCosine( )8.以下选项中循环结构合法的是哪一个?A. while (int i<7){ i++;System.out.println(“i is “+i);}B. int j=3;while(j){ System.out.println(“ j is “+j);}C. int j=0;for(int k=0; j + k !=10; j++,k++){ System.out.println(“ j is “+ j + “k is”+ k);}D. int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}} while (j<10);9.下列关于Java语言的特点,描述错误的是哪一个?A.Java是跨平台的编程语言B.Java支持分布式计算C.Java是面向过程的编程语言D.Java支持多线程10.下述概念中不属于面向对象方法的是哪一组?A.对象.消息B.继承.多态C.类.封装D.过程调用11.结构化程序设计所规定的三种基本控制结构是哪一组?A.输入.处理.输出B.树形.网形.环形C.顺序.选择.循环D.主程序.子程序.函数12.下列关于for循环和while循环的说法中哪个是正确的?A.while循环能实现的操作,for循环也都能实现B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换D.两种循环结构中都必须有循环体,循环体不能为空13.编译运行以下程序后,关于输出结果的说明正确的是哪一个?public class Conditional{public static void main(String args[ ]){int x=4;System.out.println(“value is “+ ((x>4) ? 99.9 :9));}}A.输出结果为:value is 99.99 B.输出结果为:value is 9C.输出结果为:value is 9.0 D.编译错误14.下面代码执行后,正确的输出结果是哪一个?public class Excmple{public static void main(String args[] ){int i=0;do{System.out.println("Doing it for i is:"+i);} while(--i>0);System.out.println("Finish");}}A.Doing it for i is 3B.Doing it for i is 1C.Doing it for i is 2D.Doing it for i is 015.开发与运行Java程序需要经过的三个主要步骤,以下选项中哪个不是其中的步骤?A. 编辑源程序B. 编译生成字节码C. 解释运行字节码D. 反编译字节码16.下面代码执行后,正确的输出结果是多少?String s1="You are hired!";System.out.println(s1.replace('h','f'));//用f把字串中的h替换了System.out.println(s1);A. You are fired!You are hired!B. You are fired!You are fired!C. You are hired!You are hired!D. You are hired!You are fired!17.不是访问控制修饰符的是哪一个?A.publicB.privateC.staticD.protected18.下列选项中哪一个是表达式1+2+"aa"+3的值?A."12aa3"B. "3aa3" C . “12aa" D. "aa3"19.以下程序运行时,哪一行会产生编译错误?1) public void modify() {2) int i, j, k;3) i = 100;4) while ( i > 0 ) {5) j = i * 2;6) System.out.println (" The value of j is " + j );7) k = k + 1;8) i--;9) }10) }A. line 4B. line 6C. line 7D. line 820.关于Java基本语法机制,以下选项中哪个与C++相同?A. 数据类型.表达式B. 程序流控制C. 结构化D. 异常处理E.以上全是21.关于Java基本语法机制,以下选项中哪个与与C++不同?A. 类B. 接口(interface)C. 程序包(package)D. 自动内存回收E. 多线程F. 以上全是22下面哪些是short型的取值范围。

A. -27 -- 27-1B. 0 -- 216-1C. -215 -- 215-1D. -231 -- 231-123.下面哪些是合法的标识符。

A. $personsB. constC. *pointD. this24.下列选项中哪些是将一个十六进制值赋值给一个long型变量。

A. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long number = 0x345L25.下面选项中哪些答案可以用来表示八进制值8。

A. 010B. 0x10C. 08D. 0x826.main()方法的返回类型是什么?A. intB. voidC. booleanD. static27.给出下面的代码:if (x>0) { System.out.println("first"); }else if (x>-3) { System.out.println("second"); } else { System.out.println("third"); }x的取值在什么范围内时将打印字符串"second"。

A. x > 0B. x > -3C. x <= -3D. x <= 0 & x > -328.下面的哪些赋值语句是不对的()。

A. float f = 11.1B. double d = 5.3E12C. double d = 3.14159D. double d = 3.14D29.给出下面的代码:public class Test {void printValue(int m){do { System.out.println("The value is"+m); }while( --m > 8 )}public static void main(String arg[]) {int i=10;Test t= new Test();t.printValue(i);}}输出将是什么?A. The value is 10The value is 8B. The value is 9The value is 8C. The value is 10The value is 9D. The value is 11The value is 1030.下面的哪些声明是合法的?A. long l = 4990;B. int i = 4L;C. float f = 1.1;D. double d = 34.4D;31.以下选项中的变量都已正确定义,不合法的表达式是哪个?A. a >= 4 == b<1B. 'n'-3C. …a‟=8D. 'A'%632.下列程序段执行后c的结果是多少?int a = 9, b = 11, c;c= a != b ? a+b : a-b;A. –2B. 20C. 11D. 933.下列程序段执行后y的结果是哪个?int x1 = 9, x2 = 6, y;y =(++x1 != x2 ++ )? (x1+x2) :(x1- x2);A. 15B. 9C. 17D. 334.有一声明语句为boolean t; 下面赋值语句中t的值为false的是哪个?A. t=5>3;B. t=!false;C. t=(true|false);D. t=(2==3)?true:false;35.设a.b.c.d 为已赋值的int 型变量,下列表达式的结果属于非逻辑值的是哪个?A. a!=b & c%d < aB. a++ = =a+b+c+dC. ++a*b--+dD. a+b>=c+d36.若有定义int a = 2; 则执行完语句a -= a * a; 后,a的值是多少?A. 0B. 4C. -2D. -437.下列程序段执行后b3 的结果是多少?boolean b1=true, b2=true, b3;b3= !b1 ? b1 :!b2;A. 0B. 1C. trueD. false38.设有定义int i=123; long j=456; 下面赋值不正确的语句是哪一个?A. j=i;B. j=(long)i;C. i=(int)j;D.i=j;39.下列程序段执行后t5的结果是多少?int t1 = 9, t2 = 11, t3=8;int t4,t5;t4 = t1 > t2 ? t1 : t2+ t1;t5 = t4 > t3 ? t4 : t3;A. 8B.20C. 11D. 940.执行下面程序段后,b, x, y的值分别是多少?int x=6,y=8;boolean b;b=x>y&&++x==--y;A. true , 6, 8B. false , 7, 7C. true, 7, 7D. false, 6, 841.执行下列程序段后,m,x,y的值分别是多少?int x=2,y=4;boolean m;m=++x>y--;A. true , 2,4B. false , 3, 3C. true, 3, 3D. false, 2,442.下面语句序列执行后,a的值是多少?int a=13; a%=a/5;A. 3B. 13C. 169D. 143.若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是多少?A. -4B. 0C. 4D. 844.下列语句序列执行后,x 的值是多少?int a=3, b=4, x=5;if ( ++a<b ) x=x+1;A. 3B. 4C. 5D. 645.下列语句序列执行后,k 的值是多少?int i=6, j=8, k=10, n=5, m=7;if( i<j&& m<n ) k++; else k--;A. 9B. 10C. 11D. 1246.应用程序的main方法中有以下语句,则输出的结果是哪个?String s1="Abc",s2="abc";boolean b1=s1.equals(s2);System.out.println(b1);A.falseB. trueC. 1D. 047.下面程序段执行后b的值是多少?String str = "java";boolean b = str instanceof String;A. 0B. trueC. 1D. false48.应用程序的main方法中有以下语句,则输出的结果是多少?String s1=new String("AAA");String s2=new String("AAA");boolean b1=s1.equals(s2);boolean b2=(s1==s2);System.out.print(b1+" "+b2);A. true falseB. false trueC. true trueD. false false49.对于一个三位的正整数n,取出它的十位数字k(k为整型)的表达式是哪个?A. k = n / 10 % 10B. k = ( n - n / 100 * 100 )%10C. k = n % 10D. k = n / 1050.下列语句执行后,变量a.c的值分别是多少?int x=182;int a,c;c=x/100;a=x%10;A. 1,2B. 2,1C. 1.82, 2D. 100,8251.下面哪个表达式的值是x和y的最大值?A. x>y?y:xB. x<y?y:xC. x>y?(x+y):(x-y)D. x==y?y:x;52.以下是应用程序中定义的静态方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是哪个?static void printBinary(int i) {System.out.print(i + "的2进制数表示为:\t");for (int j = 31; j >=0; j- -)if(((1 << j) & i) != 0) System.out.print("1");elseSystem.out.print("0");System.out.println();//换行}A. 00000000000000000000000000000001B. 00000000000000000000000000000010C. 00000000000000000000000000001111D. 0000000000000000000000000000000053.应用程序的main方法中有以下语句,则输出的结果是哪个?String s1="0.5",s2="12";double x=Double.parseDouble(s1);int y=Integer.parseInt(s2);System.out.println(x+y);A. 12.5B. 120.5C. 12D. “12.5”54.下面的程序段执行后输出的结果是哪个?StringBuffer buf=new StringBuffer("Beijing2008");buf.insert(7,"@");System.out.println(buf.toString());A.Beijing@2008B. @Beijing2008C. Beijing2008@D. Beijing#200855.以下选项中,合法的赋值语句是哪个?A. a = = 1;B. ++ i;C. a=a + 1= 5;D. y = int ( i );56.若所用变量都已正确定义,以下选项中,非法的表达式是哪个?A. a!= 4||b==1B. 'a' % 3C.'a' = 1/2D. 'A' + 3257.现有一变量声明为boolean aa;下面赋值语句中正确的是哪个?A. aa=false;B. aa=False;C. aa="true";D. aa=0;58.读程序,哪段程序返回false?String s= "hello";String t = "hello";char c[] = {´h´,´e´,´l´,´l´,´o´} ;A. s.equals(t);B. t.equals(c);C. s==t;D. t==c;59.有如下定义:Person p;Teacher t;Student s;其中,类Teacher和Student都是类Person的子类,p,t和s都是非空值。

相关主题