1、Java 基础练习题 附答案一、简单 Java 程序调试1)以下哪个是 Java 应用程序 main 方法的有效定义 ?A. public static void main();B. public static void main( String args );C. public static void main( String args );D. public static void main( Graphics g );E. public static boolean main( String a );2) 编译和运行以下代码的结果为:public class MyMainpublic s
2、tatic void main(String argv)System.out.println(“Hello cruel world“);A编译错误;B运行输出 “Hello cruel world“;C编译无错,但运行时指示没有定义构造方法。D编译无错,但运行时指示没有正确定义 main 方法。3) 下列选项中不属于 Java 虚拟机的执行特点的一项是:A异常处理 B多线程 C动态链接 D简单易学4) 不属于 Java 语言特点的一项是:A分布式 B. 安全性 C. 编译执行 D.面向对象5) 以下程序的运行结果为:public class Testpublic static void mai
3、n(String argv )System.out.println(“x=“+5);A. 5 B. x=5 C. “x=“+5 D. “x=“56) 以下程序的运行结果为:public class Testpublic static void main(String argv )System.out.println(“good“+“morning“);A. goodmorning B. “good“+“morning“ C. good morning D. good+morning二、Java 符号与表达式1) 现有一个 int 类型的整数和一个 double 类型的数进行加法运算,则得到的结
4、果类型为:Aint 类型 B. double 类型 C. float 类型 D. long 类型 2)下面程序段的输出结果是:int a = 2;System.out.print( a+);System.out.print( a);System.out.print(+a);A333 B334 C234 D233 3) 以下代码的输出结果?public class Testint x=3;public static void main(String argv)int x= 012;System.out.println(x);A12 B012 C10 D3 4) 下列定义语句正确的是:Achar
5、c=“/n“; Bint i=12; Cfloat f=2.8; Dboolean b=null;5)检查如下代码:public class Quiz2_lpublic static void main(String args) int a = 8;int b = -8;System.out.print(a1) );下列哪条语句正确描述了程序在编译和运行时的行为?A编译成功,输出为“32,-4 ”B. 编译成功,输出为“16,4 ”C. 编译成功,输出为“32,2147483644”D. 编译成功,输出为“16,2147483644”E. 编泽器拒绝表达式 b,因为不能对一个负数应用操作符6)
6、以下代码中变量 result 的可能类型有哪些?byte b = 11;short s = 13;result = b * +s;Abyte, short, int, long, float, doubleBboolean, byte, short, char, int, long, float, doubleCbyte, short, char, int, long, float, doubleDbyte, short, charEint, long, float, double7)以下代码的输出结果为:System.out.println(“ “ +2 + 3); System.out.p
7、rintln(2 + 3); System.out.println(2 + 3 +“);System.out.println(2 + “ +3); A第 3 行出现编译错误B输出 23, 5, 5 和 23.C输出 5, 5, 5 和 23.D输出 23, 5, 23 和 23.8)设有如下变量说明:byte myByte;int myInt;long myLong;char myChar;float myFloat;double myDouble; 以下赋值语句哪个需要强制转换。AmyInt = myByte;BmyInt = myLong;CmyByte = 3;DmyInt = myCh
8、ar;EmyFloat = myDouble;FmyFloat = 3;GmyDouble = 3.0;9)考虑如下两语句:1. boolean passingScore = false 2. boolean passingScore = false 表达式 grade = 70 在什么地方被计算A在 1 和 2 中均计算B在 1 和 2 中均未计算C在 1 中计算,在 2 中未计算D在 2 中计算,在 1 中未计算E非法,因为 false 应写 FALSE10)设有一个整数 x 其二进制值为 10011100 (用 1 字节表示),则执行如下语句后 z 的二进制值为: int y = 1 c
9、?a:c;d=d2b? d:b;System.out.println(b);A2 B3 C5 D7三、分支程序设计1)下列语句片段的结果为int result; int a=17,b=6; result=(a%b4)? a%b:a/b ;System.out.println(result); A. 0 B. 1 C. 2 D. 52)以下程序的运行结果为:1. public class Conditional 2. public static void main(String args ) 3. int x = 4;4. System.out.println( “value is “ +(x
10、4) ? 99.99 : 9);5. 6. A. 输出:value is 99.99B. 输出: value is 9C. 输出: value is 9.0D. 在第 4 行出现编译错误3)以下代码段的输出结果为1. int x = 0, y = 4, z = 5;2. if (x 2) 3. if (y 5) 11. System.out.println(“message three“);12. 13. else 14. System.out.println( “message four“);15. A. message oneB. message twoC. message threeD.
11、 message four4) 以下程序的输出结果为:public class test public static void main(String args) int x=1,y=1,z=1;if (x-=1A x=0,y=2,z=1B x=1,y=2,z=1C x=0,y=1,z=1D x=0,y=2,z=25) 编译和运行以下代码结果为:1. public class EqualsTest2. public static void main(String args)3. byte A=(byte)4096;4. if(A=4096) System.out.println(“Equal“
12、);5. else System.out.println(“Not Equal“);6. 7. A在第 3 行出现转换丢失精度的编译错误.B输出 “Not Equal“.C输出 “Equal“.6) 关于以下程序哪条叙述正确?1. int j = 2;2. switch ( j ) 3. case 2:4. System.out.println (“value is two“);5. case 2 + 1:6. System.out.println (“value is three“);7. break;8. default:9. System.out.println(“value is “
13、+ j);10. break;11. A. 第 5 行的表达式不合法;B. 变量 j 是可接受的,switch 中表达式可以是 byte, short, int,或 long 的任何类型;C. 输出为 value is twoD. 输出是 value is two 后跟 value is threeE. 输出是 value is two 后跟 value is 27)以下程序的编译运行结果为:1: public class Q102: 3: public static void main(String args)4: 5: int i = 10;6: int j = 10;7: boolean
14、 b = false;8: 9: if( b = i = j)10: System.out.println(“True“);11: else12: System.out.println(“False“);13: 14: A. 第 9 行出现编译错误;B. 第 9 行出现运行错误;C. 输出 TrueD. 输出 False8)以下程序的编译和运行结果为?class test static boolean check;public static void main(String args) int i;if(check = true)i=1;elsei=2;if(i=2) i=i+2;else i
15、 = i + 4;System.out.println(i);A. 3 B. 4 C. 5 D. 6 E. 语句 if(i=2)编译出错 9) 以下代码: if (a 4)System.out.println(“test1“);else if (a 9)System.out.println(“test2“);elseSystem.out.println(“test3“); a 为何值将有输出结果 test2 ?A. 小于 0 B. 小于 4 C. 4 和 9 之间 D. 大于 9 E. 无任何可能10)有如下代码段:switch ( x )case 1:System.out.println(“
16、One“);break;case 2:case 3:System.out.println(“Two“);break;default:System.out.println(“end“);变量 x 的取值下列哪些情形时,能使程序输出“Two“ 。 A. 1 B. 2 C. 3 D. default11)以下程序的输出结果为public class test public static void main(String agrs) char c1=B,c2=C;if (c1+1 在处插入什么代码可以结束外循环?Acontinue middle;Bbreak outer;Cbreak middle;D
17、continue outer;Enone of these3)以下代码的运行结果为:public class Calc public static void main (String args ) int total = 0;for (int i = 0, j = 10; total 30; +i, -j) System.out.println(“ i = “ + i + “ : j = “ + j);total += (i + j);System.out.println(“Total “ + total);A. 产生运行错误B. 产生编译错误C. 输出 “Total 0“D. 产生如下输出:
18、i = 0 : j = 10i = 1 : j = 9i = 2 : j = 8Total 304)以下程序的运行结果为: public class test public static void main(String args) int i=0, j=2;do i=+i;j-; while(j0);System.out.println(i);A. 0 B. 1 C. 2 .35)以下程序的运行结果为? class xyz public static void main(String args) int i,j,k;for (i = 0; i -j) continue; while(i3*i;j-)s += i*j;System.out.println(s);A. 127 B.136 C. 147 D.1539) 以下程序的输出结果为:public class example public static void main(String args) int i=0;for (i=0;i 4) if(args.length 0)