java程序设计练习题(二)附答案(java程序设计试题含答案)
一、单项选择题
1、下列关于注释语句的描述中,正确的一项是( C )。
A、以//开始的是多行注释语句
B、以/*开始,*/结束的是单行注释语句
C、以/**开始,*/结束的是可以用于生成帮助文档的注释语句
D、以/**开始,*/结束的是单行注释语句
2、对下面的语句序列正确的说法是( B )
int c=’A’/3; c+=’1’%5; System.out.println(c);
A、产生编译错误 B、输出结果25 C、输出结果21 D、输出结果2
3、算术表达式1+2/3—4*5的值为 ( B )
A、1 B、-19 C、-5 D、0
4、运行下列代码中的方法divide(int a, int b) ,传递4,0,结果是:( A )
public void divide(int a, int b) {
try {
int c = a / b;
} catch (Exception e) {
System.out.print("Exception ");
} finally {
System.out.println("Finally");
}
A、打印输出: Exception Finally B、打印输出: Finally
C、打印输出: Exception D、没有任何输出
5、Applet使用下列哪一项布局管理器?( B )
A、BorderLayout B、FlowLayout C、BoxLayout D、GridLayout
6、main()方法是Java Application程序执行的入口点,关于main()方法的方法头下面哪一项是合法的?( B )
A、public static void main( ) B、public static void main(String args[ ])
C、public static int main(Stnng[ ]arg) D、public Void main(Stnng arg[ ])
7、下列哪个是正确的字符常量?( D )
A、 “DA” B、 ‘da’ C、 ‘字” D、 ‘\t’
8、下列标识符中,正确的是( B )。
A、1_Back B、$_Money C、$-money D、2-Foward
9、构造方法何时被调用:( A )
A、创建对象时 B、类定义时 C、使用对象的方法是 D、使用对象的属性时
10、public void add(int a) {…}方法的重写方法返回类型为:( A )
A、void B、int C、任何需要的类型 D、public
11、下列语句序列执行后,r的值是( C )
int x=5,y=10,r=5;
switch(x+y)
{
case 15:r+=x;
case 20:r-=y;
case 25:r*=x/y;
default:r+=r;
}
A、15 B、10 C、0 D、20
12、编译并运行下面的程序,运行结果为( C )
public class A {
public static void main(String[] args){
A a=new A();
a.method(8);
}
void method (int i) { System.out.println("int: "+i); }
void method (long i) { System.out.println("long: "+i); }
A、程序有编译错误,不能运行 B、可以运行,输出结果为long:8
C、可以运行,输出结果为int:8 D、可以运行,但没有输出
13、下列关于类、包和源文件的说法中,错误的一项是( D )。
A、一个文件可以属于一个包 B、一个包可包含多个文件
C、一个类可以属于一个包 D、一个包只能含有一个类
14、一个处于运行过程中的Java Application在系统中是作为一项( C )。
A、代码 B、程序 C、进程 D、线程
15、设有定义int a=12;则执行以下语句后,a的值为( A )。
a*=12;
A、144 B、12 C、24 D、0
16、下列属于Java语言的特点的一项是( D )。
A、运算符重载 B、类间多重继承 C、指针操作 D、垃圾回收
17、该类中若要处理ActionEvent事件,则该类需要实现的接口是( A )。
A、ActionListener B、Runnable C、Serializable D、Event
18、以下的选项中能正确表示Java语言中的一个整型常量的是( A )。
A、435 B、 -34+3 C、34,000 D、4 5 6
19、下列关于浮点型数据的说法中,不正确的一个是( C )。
A、浮点型数据属于实型数据 B、浮点型数据由数据和小数组成
C、浮点型数据小数位数越少越精确 D、浮点数据包括实型常量和实变量
20、下列情况中,哪一项不需要异常机制。( B )
A、当方法因为自身无法控制的原因而不能完成其任务时 B、编译出错时
C、处理在方法、类库、类中抛出的异常时 D、使系统从故障中恢复时
二、简答题
1、在Java中对于异常的处理除了默认的异常处理程序(只能处理运行时异常)外,还提供了哪两种方式来处理程序中可能存在的异常?简述这两种方法。
答案:
一是利用try-catch-finally结构来捕获处理异常,try块:用来包含可能抛出异常的程序段,可以是方法的调用,也可以是复杂的语句序列。catch块:用来捕获指定的异常,并进行相应处理。finally块:finally块是可选的,它为异常处理提供了一个统一的出口,无论程序中是否出现异常,也不论出现什么异常,finally块中的语句均要被执行一遍。
二是利用throws语句来声明抛出异常。这样就不需要在方法中处理该异常,而是留给了方法的调用者。
2、简述JAVA标识符命名规则。
Java中的标识符必须以字母(a~z、A~Z)、下划线(_)或美元符号($)为开头,其后可以是字母、下划线、美元符号和数字(0~9)。Java中的标识符严格区分大小写。Java中的标识符没有长度限制。
三、程序结果题
1、public class test1{
public static void main(String[ ]args){
int al=3;
int a2=4;
int xl=5;
if(++al xl=xl+1; System.out.println(xl); } } 答案:5 2、public class test1{ public static void main(String[]args) { for(int cnt=0;cnt<10;cnt++) { if (cnt==5) break; System.out.print(cnt); } } } 答案:01234 四、编程题 设一字符串中包含有大写字母的字符,也有小写字母的字符,编写一程序,将其中的大小写字母的字符分别输出。 [解答]: public class test1 { public static void main(String[] args) { String s="sdQfEKJsfjEKjhjsjQHdFfKjSDFsdf"; String s1="",s2="",s3; for(int i=0;i s3="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; if(s3.indexOf(s.charAt(i))!=-1){ s1=s1+s.charAt(i); }else{ s2=s2+s.charAt(i); } } System.out.println("大写字母 :"); System.out.println(s1); System.out.println("小写字母 :"); System.out.println(s2); } } 编写一段Java程序,查找1~100之间的素数并将运行结果输出。 [解答]: public class Test_14 { public static void main(String[] args) { int m, k, i, n = 0; boolean flag; for (m = 1; m <= 100; m=m+2) { flag = true; k = (int)Math.sqrt(m); for (i = 2; i <= k; i++) if (m % i == 0) { flag = false; break; } if (flag) { System.out.print(m + " "); n = n + 1; } if (n % 10 == 0) System.out.println(); } } } 3、编写程序,打印三角形状的九九乘法表,要求使用break或continue语句。 [解答]: public class ContinueFor99 {//使用continue语句打印出三角形状的九九乘法口诀表。 public static void main(String[] args) { int i,j,num; System.out.println("九九乘法表"); a: for(i=1;i<=9;i++) {for(j=1;j<=9;j++) { num=i*j; System.out.print((int)i+"*"+(int)j+"="+(int)num );//输出:i*j=num System.out.print(" ");//调整两个输出字符串间的距离 if(i==j) System.out.println(""); if(i==j) continue a ; //当i=j时,换行并结束本次循环 } } } } public class BreakFor99 { //使用break语句打印出三角形状的九九乘法口诀表。 public static void main(String[] args) { int i,j,num; System.out.println("九九乘法表"); for(i=1;i<=9;i++) {for(j=1;j<=9;j++) { num=i*j; System.out.print((int)i+"*"+(int)j+"="+(int)num );//输出:i*j=num System.out.print(" ");//调整两个输出字符串间的距离 if(i==j) System.out.println(""); if(i==j) break; //当i=j时,换行并结束本次循环 } } } }