Java题目
1. add方法的参数值为5时的效果为:
2.
public class Test {
public void add(int a) {
loop: for (int i = 1; i < 3; i++){
for (int j = 1; j < 3; j++) {
if (a == 5) {
break loop;
}
System.out.println(i * j);
}
}
}
}
A) 产生运行错误
B) 抛出 ArrayIndexOutOfBoundsException异常 C) 输出: 1, 2, 2, 4
D) 无输出
答案: 学生解答: D A 2.以下标识符中哪项是不合法的( )
A、BigMeaninglessName
B、$int
C、1st
D、$1
标准答案: 学生解答: C 3.若定义了一个类:
public class Lion extends Mammal{.....}
但该类一个构造方法都没有提供,当创建Lion类的对象时,系统将自动产生
默认的构造方法是()
A.Lion() {空} B.public Lion() {空}
C.protected Lion() {空} D.private Lion() {空} 标准答案: 学生解答: B 4.设有类型定义 int x=24;long y=25;下列赋值语句不正确的是, A(y=x; B. x=y; C. x=(int)y; D. y=x+2; 标准答案: 学生解答: B 5.下列符号中不能作为Java标识符的是( )。
(A) abc (B) $str1 (C) _pore (D) 45six 标准答案: 学生解答: D 6.在JAVA 中_____
A. 一个子类可以有多个父类,一个父类也可以有多个子类
B. 一个子类可以有多个父类,但一个父类只可以有一个子类 C. 一个子类可以有一个父类,但一个父类可以有多个子类 D. 上述说法都不对
标准答案: 学生解答: C 7.考虑如下类:
1. class Test{
2. void test(int i) {
3. System.out.println("I am an int."); 4. }
5. void test(String s) {
6. System.out.println("I am a string."); 7. }
8.
9. public static void main(String args[]) { 10. Test t=new Test();
11. char ch='y';
12. t.test(ch);
13. }
14. }
以下那条为真,
A. 行 5 不能通过编译,方法不能被覆盖.
B. 行 12 不能通过编译, 因为没有一个test()方法含字符参数.
C. 代码可以编译但在12行将出现异常.
D. 代码可以编译且产生如下输出: I am an int.
E. 代码可以编译且产生如下输出: I am a String. 标准答案: 学生解答: D 8.若a的值为3时,下列程序段被执行后,c的值是多少,( )
c = 1;
if ( a>0 )
if ( a>3 ) c = 2;
else c = 3;
else c = 4;
A、1 B、2 C、3 D、4
标准答案: 学生解答: C 9.当 a为5时,方法add的执行效果为:
public class Test {
public void add(int a) {
for (int i = 1; i < 3; i++) {
for (int j = 1; j < 3; j++) {
if (a ==5) { break; }
System.out.println(i * j);
}
}
}
}
(A) 产生运行错误
(B) 抛出出界异常
(C) 输出:
1
2
2
4
(D) 不产生输出
标准答案: 学生解答: D
10.下列构造方法的调用方式中,正确的是 A)按照一般方法调用
B)由用户直接调用
C)只能通过new自动调用
D)被系统调用
标准答案: 学生解答: C
11.设有如下代码
1) public class Test {
2) int m, n;
3) public Test() { }
4) public Test(int a) { m=a; } 5) public static void main(String arg[]) {
6) Test t1,t2;
7) int j,k;
8) j=0; k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
哪行导致编译错误?
A. 第3行
B. 第5行
C. 第6行
D. 第10行
标准答案: 学生解答: D
12.设有如下程序,其调试结果为: class Q2 {
public static void main(String[] args) {
int[] seeds = {1,2,3,4,6,8};
int n= seeds.length;
for (int i = 0; i < 3; i++)
for (int k = 0; k< n-1; k++)
seeds[k]= seeds[k+1];
for (int i = 0; i
0) x*=x;
C( int x=6; if(x!=0) x--;
D( int x=5,y=6; if (x==y) x=x+y;
标准答案: 学生解答: A
二. 多选题
1.设有如下代码:
int[] x = new int[25];
执行后,以下哪个说法正确,
A. x[24] is 0
B. x[24] is undefined.
C. x[25] is 0.
D. x[0] is null.
E. x.length is 25.
标准答案: 学生解答: AE
2.测试如下从单一源文件提取的代码:
class A{
protected Integer doSomething () {
return new Integer(2);
}
}
public class B extends A{ }
下列哪些方法对类B合法?
A( protected Integer doSomething() {
return new Integer(3);
}
B. public Integer doSomething(){
return new Integer(3);
}
C( Integer doSomething() {
return new Integer(3);
}
D. protected Object doSomething(){
return new Integer(3);
}
E( protected Number doSomething() {
return new Integer(3);
}
标准答案: 学生解答: AB
3.以下哪个是合法的标识符,
A. BigOlLongStringWithMeaninglessName B. $int
C. bytes
D. $1
E. finalist
标准答案: 学生解答: ABCDE
4.给出下面的代码:
public class Test {
void printValue(int m){
do { System.out.println("The value is"+m);
} while( --m > 10 ) ;
}
public static void main(String arg[]) {
int i=10;
Test t= new Test();
t.printValue(i);
}
}
输出将是什么,
A. The value is 8
B. The value is 9
C. The value is 10
D. The value is 11
标准答案: 学生解答: C
5.设有如下代码
switch (x) {
case 1 :
System.out.println("Test1");
case 2 :
case 3 :
System.out.println("Test2");
break;
}
System.out.println("Test3"); }
x为哪些数时将输出 "Test2" ?
A. 0
B. 1
C. 2
D. 3
E. 4
标准答案: 学生解答: BCD
6.哪些可以创建5个空串的数组?
A. String a [] = new String [5]; for (int i = 0; i < 5; a[i++] =
"");
B. String a [] = {"", "", "", "", "", ""};
C. String a [5];
D. String [5] a;
E. String [] a = new String[5]; for (int i = 0; i < 5; a[i++] =
null);
标准答案: 学生解答: AB
7.有如下代码段:
switch(m){
case 0: System.out.println("case 0");
case 1: System.out.println("case 1"); break;
case 2:
default: System.out.println("default"); }
当变量m的取值是下列的哪些时,程序将输出 "default" ?
A. 0
B. 1
C. 2
D. 3
标准答案: 学生解答: CD 8.以下哪个达式是合法的,
A. int x = 6; x = !x;
B. int x = 6; if (!(x > 3)) {}
C. int x = 6; x = -x;
标准答案: 学生解答: BC 9. 设有如下代码:
class Base{}
public class MyCast extends Base{
static boolean b1=false;
static int i = -1;
static double d = 10.1;
public static void main(String argv[]){
MyCast m = new MyCast();
Base b = new Base();
//Here
}
}
则在 //Here处插入哪个代码将不出现编译和运行错误。 A(b=m; B(m=b; C(d =i; D(b1 =i; 标准答案: 学生解答: AC 10.下列哪些代码段能正确编译?
(A).
int i=0;
if(i),
System.out.println("Hi");
,
(B).
boolean b=true;
boolean b2=true;
if(b==b2) ,
System.out.println("So true");
,
(C).
int i=1;
int j=2;
if(i==1‖j==2)
System.out.println("OK");
(D).
int i=1;
int j=2;
if(i=1&&j=2)
System.out.println("OK");
标准答案: 学生解答: BC
三. 填空题
1.将程序补充完整
//程序的功能是求以命令行参数指定的整数的阶乘,没提供参数则求5~。
public class Java_3{
public static void main(String[] args){
String num;
if(args.length > 0)
num = _____________;
else
num = "5";
int input = Integer.parseInt(__________);
double result = factorial(input);
System.out.println(input+ " 的阶乘是 "+ result);
}
public static double factorial(int x){
if( x < 0 )
return 0.0;
double fact = 1.0;
while(x > 1){
fact = ________ *x;
x = x-1;
}
return fact;
}
}
标准答案: 学生解答: args[0]
num
fact
2.写出程序运行结果
public class ex2{
public static void main(String args[]) {
int f=1;
int k;
for (k=2;k<5;k++)
f*=k;
System.out.println("f="+f);
System.out.println("k="+k);
}
}
标准答案: 学生解答: f=24 k=5
3.以下程序计算1/1~+1/2~„+1/10!。补充完整
public class Test2 {
public static void main(String args[]) {
double sum = ____【1】____ ;
for (int k=1;k<=10; k++)
sum = sum + 1.0/f(k);
System.out.println(“结果为:”+sum);
}
public static long f(int n) {
long x= ____【2】____ ;
for (int a=2 ; a<=n; a++)
x = x* _____【3】____ ;
return x ;
}
}
标准答案: 学生解答: 0
1
a
4.写出程序运行结果
public class test {
public static void main(String args[]) {
int i, j=1;
i = (j>1)? 2 : 1;
switch(i) {
case 0: System.out.println(0); break;
case 1: System.out.println(1);
case 2: System.out.println(2); break;
case 3: System.out.println(3); break;
}
}
}
标准答案: 学生解答: 1 2
5.写出以下程序的运行结果
public class test {
public static void main(String a[]) {
int k=0;
for (int k=1;k<2;k++){
System.out.println("k="+k);
System.out.println(k);
}
}
标准答案: 学生解答: k=1 2
四. 编程题
1.编写一个程序封装学生的信息。属性有:姓名、年龄、性别、体重;
方法有:
void inc(): 给年龄增加1岁;
void setWeight(double v):修改体重。 创建5个学生,将其存放到一个数组中;并进行如下操作:
(1)输出所有学生信息;
(2)给所有学生年龄增加1岁;
(3)用随机数修改所有学生体重。
(4)输出修改后的所有学生信息。
标准答案: 学生解答: public class Student {
String name; //姓名
int age; //年龄
String sex; // 性别;
double weight; //体重;
public void inc() {
@age++;@
}
public void setWeight(d
ouble weight) {
//注意参数名和属性名0
相同,怎么办?
@this.weight=weight;
@
}
public String toString
() {
return "Student [姓名
=" + name + ", 年龄=" + ag
e+ ", 性别=" +sex + ", 体
重=" + weight+ "]";
}
public Student(String name, int age, String sex, double weight) {
this.name =name;
this.age=age;
@this.sex=sex;
this.weight=weight;@
}
// 输出学生数组的所有
学生
public static void output(Student x[]){
for(int i=0;i,x.le
ngth;i++)
@System.out.println(x[i]);@
}
public static void main(String args[]){
Student a1=new Student("张三",21,"男",105);
Student a2=new Student("李四",20,"男",120);
Student a3=new Student("玛丽",20,"女",100);
Student a4=new Student("小红",18,"女",95);
Student a5=new Student("小明",19,"男",115);
Student a[]=@{a1,a2,a3,a4,a5};@
System.out.println("班级学生名单如下.");
output(a); //输出
所有学生
for(int i=0;i,a.le
ngth;i++) {
//调用inc方法给
第i学生年龄增加1岁
@a[i].inc();@
a[i].setWeight
(Math.random()*120);
}
System.out.println
("一年后....");
// 再输出所有学生
@output(a);@
}
}
2.编写一个程序从命令行参数获取一个整数n,求该整数的各位数字之和.
标准答案: 学生解答: public class test {
public static void main
(String args[]){
int n=Integer.@pars
eInt@(args[0]);
int sum=0;
while (n>0) {
//将n的最低位加
到和sum上
sum=sum+@n%10@; 0
//将n的最低位删
除
n=@n/10;@
}
System.out.println
(args[0]+"各位数字之和="+@
sum@);
}
}
一. 单选题
1.以下代码的调试结果为?
Integer ten=new Integer(10);
Long nine=new Long (9);
System.out.println(ten + nine);
int i=1;
System.out.println(i + ten);
A) 19 后跟 20
B) 19 后跟 11
C) 编译错误:运算符+ 不能用于java.lang.Integer,java.lang.Long D) 10 后跟 1
标准答案: 学生解答: C A
2.以下代码的调试结果为?
1: public class Q10
2: {
3: public static void main(String[] args) 4: {
5: int i = 10;
6: int j = 10;
7: boolean b = false;
8:
9: if( b = i == j)
10: System.out.println("True"); 11: else
12: System.out.println("False"); 13: }
14: }
A) 在第9行出现编译错误.
B) 在第9行出现运行异常.
C) 输出 "True".
D) 输出 "Fasle".
标准答案: 学生解答: C B
3.设有如下类组织:
class Parent {}
class DerivedOne extends Parent {} class DerivedTwo extends Parent {} 关于如下表达,哪个叙述正确?
Parent p = new Parent();
DerivedOne d1 = new DerivedOne();
DerivedTwo d2 = new DerivedTwo();
p = (Parent)d1;
A. 编译和运行均非法.
B. 编译正确,运行出错.
C. 编译和运行均合法.
标准答案: 学生解答: C C
4.以下程序的运行结果为
public class test {
public static void main(String args[]) {
int i = 1;
do {
i--;
} while (i > 2);
System.out.println(i);
}
}
A. 0
B. 1
C. 2
D. -1
标准答案: 学生解答: A
5.下面各项中定义变量及赋值不正确的是: A)int i = 32;
B)float f = 45.0;
C)double d = 45.0;
标准答案: 学生解答: B C
6.有如下代码:
int m[] = {0, 1, 2, 3, 4, 5, 6 }; 下列表达式的结果与该数组的元素个数相同的是: A. m.length()
B. m.length
C. m.length()+1
D. m.length+1
标准答案: 学生解答: B B
7.以下程序运行结果为:
public class Q {
public static void main(String argv[]) {
int anar[]= new int[5];
System.out.println(anar[0]);
}
}
A) 出错: anar在未初始化前被引用; B) null
C) 0
D) 5
标准答案: 学生解答: C A
8.以下程序调试结果为?
public class Scope{
private int i;
public static void main(String argv[]){
Scope s = new Scope();
s.amethod();
}
public static void amethod(){
System.out.println(i);
}
}
A) 输出 0
B) 无任何输出
C) 编译错误
D) 编译指示变量i超出使用范围.
标准答案: 学生解答: C B 9.测试如下代码:
public class Quiz4 2{
private static final double A=5.6;
private double b;
Quiz4_2(double z1,double z2) {
b = z1 * z2;
}
Quiz4_2{double z) {
if ( z > 0(0 ) {
this(z,2(0);
}else {
this(z, 1.0);
}
}
public static void main (String[] args) {
System(out(println(new Quiz4_2(4.0,3.0));
}
public String toString() {
return( "b= " + b );
}
}
下列哪条语句正确描述了程序被编译及运行时的行为?
A( 编译器拒绝表达式new Quiz4_2(4.0,3(0),因为这样不可能创建一个
没有名字的对象
B. 编译成功,输出为“b=12.0”
C( 编译器拒绝表达式this(z,2(0),因为它不是方法中的第一条语句
D( 编译器拒绝方法Quiz4_2的第二个定义,因为它的名字已经被定义过了
标准答案: 学生解答: B C 10.给出如下类定义:
public class test {
test(int k) { }
}
如果要创建一个该类的对象,正确的语句是:
A( test obj1=new test();
B( test obj1=new test(5);
C( test obj1=new test("5 ");
D( test obj1=new test(3.4);
标准答案: 学生解答: B D 11.以下程序的输出结果为:
public class example {
public static void main(String args[]) {
int i=0;
for (i=0;i<4;i++) {
if (i==3)
break;
System.out.print(i);
}
System.out.println(i);
}
}
A.0123 B.0122 C.123 D.234 标准答案: 学生解答: A C 12.以下程序的调试结果为:
class Car {
int milesPerGallon;
int index;
Car(int mpg) {
milesPerGallon = mpg;
index = 0;
}
Car() {
}
public static void main(String[] args) {
int index;
Car c = new Car(25);
if (args.length > 0)
if (args[index].equals("Hiway"))
milesPerGallon*= 2; System.out.println("mpg: " + milesPer
Gallon);
}
}
A.如果命令行参数为"Hiway",则显示 "mpg: 50",否则显示"mpg: 25".
B. 如果命令行参数为"Hiway",则显示 "mpg: 50",否则抛出数组出界异常.
C. 编译指示局部变量index未初始化. D. 编译指示milesPerGallon 未初始化.
E. 编译错误,因为无参构造方法未正确书写.
标准答案: 学生解答: C B 13.执行 java test
程序的输出为
class test {
public static void main(String args[]) {
if(args.length > 0)
System.out.println(args.length);
}
}
(A) 无输出.
(B) 输出 0
(C) 输出 1
(D) 输出 2
(E) 编译有错.
标准答案: 学生解答: A A 14.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( )
A.public
B.private
C.protected
D.transient
标准答案: 学生解答: A B 15.以下哪个是应用程序的main方法头.
A. public static int main(char args[])
B. public static void main(String args[]) C. public static void MAIN(String args[]) D. public static void main(String args)
E. public static void main(char args[])
标准答案: 学生解答: B C 16.以下代码段执行后的输出结果为
int x=3; int y=10;
System.out.println(y%x);
A、0 B、1 C、2 D、3
标准答案: 学生解答: B D 17. 如果在字符串中找出某个字符的位置,例如:串"Java"中找字符v,结果为
2,可用哪个方法,
A) mid(2,s);
B) charAt(2);
C) s.indexOf('v');
D) indexOf(s,'v');
标准答案: 学生解答: C C
18.给出下面的类:
public class Sample{
long length;
public Sample(long l){ length = l; }
public static void main(String arg[]){
Sample s1, s2, s3;
s1 = new Sample(21L);
s2 = new Sample(21L);
s3 = s2;
long m = 21L;
}
}
哪个表达式返回true?
A. s1 == s2;
B. s2 == s3;
C. m == s1;
D. s1.equals(m).
标准答案: 学生解答: B B
19.阅读下列代码后
public class Person{
int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}
正确的说法是
A) 编译时将产生错误
B) 编译时正确,运行时将产生错误 C) 输出零
D) 输出空
标准答案: 学生解答: A A
20.设有如下代码:
class Test{
private int m;
public static void fun() {
// some code...
}
}
成员变量 m 如何在方法fun()中直接访问?
A). 将 private int m 改为 protected int m B). 将 private int m 改为 public int m C). 将 private int m 改为 static int m D). 将 private int m 改为 int m 标准答案: 学生解答: C B
二. 多选题
1.已知如下定义:
String s = "story";
下列哪些表达式是合法的?
A. s += "books";
B. char c = s[1];
C. int len = s.length;
D. String t = s.toLowerCase();
标准答案: 学生解答: AD BC
2.在Test.java 文件中,以下哪个是正确的类定义?
A. public test {
public int x = 0;
public test(int x)
{
this.x = x;
}
}
B. public class Test{
public int x=0;
public Test(int x) {
this.x = x;
}
}
C. public class Test extends T1, T2 {
public int x = 0;
public Test (int x) {
this.x = x;
}
}
D. public class Test extends T1{
public int x=0;
public Test(int x){
this.x = x;
}
}
E. protected class Test extends T2{
public int x=0;
public Test(int x){
this.x=x;
}
}
标准答案: 学生解答: BD AC
3.定义一个1维整型数组,正确的是: (A) int a[]= new int [10]; (B) int a[10] = new int []; (C) int a[10] = new int [10]; (D) int[] a = new int [10];
标准答案: 学生解答: AD CD
4.设有如下代码
class StringTest {
public static void main (String [] args){
String a,b;
StringBuffer c,d;
c = new StringBuffer ("Hello");
a = new String("Hello");
b = a;
d = c;
if (<<>>) {}
}
}
在<<>>行以下哪个返回真?
A. b.equals(a)
B. b==a
C. d==c
D. d.equals( c)
E. a==c
标准答案: 学生解答: ABCD BC
5.已知如下代码:
String f = null;
下面哪些表达式将产生异常?
A. f == null && f.length()>10 B. f != null && f.length()>10 C. f == null || f.length()>10 D. f != null || f.length()>10 标准答案: 学生解答: AD CD
6.属于java 保留字的是:
(A) run (B) default
(C) implements (D) import
标准答案: 学生解答: BCD BD 7.以下哪些标识符是合法的
A. $Fred
B. this
C. _this
D. instance
E. 2for
标准答案: 学生解答: ACD AB 8.哪些为合法标识符?
A. %fred
B. *fred
C. thisfred
D. 2fred
E. fred
标准答案: 学生解答: CE BD 9.下面的是关于类及其修饰符的一些描述,正确的是? A、abstract类只能用来派生子类,不能用来创建abstract类的对象。 B、final类不但可以用来派生子类,也可以用来创建final类的对象。 C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有
abstract方法
标准答案: 学生解答: ACD AD 10.测试如下变量声明:
String s =" ";
float f= OF ;
int i = 0;
下述哪些语句是合法的?
A( s+=f;
B( f+=s;
C. i+=f;
D( i=f;
E( f=i;
标准答案: 学生解答: AB AC
三. 填空题
1.写出以下程序的运行结果
public class test {
public static void main(String a[]) {
for (int k=2;k<6;k++){
System.out.println("k="+k);
}
}
}
标准答案: 学生解答: k=2
k=3 k=4
k=5
2.写出程序运行结果
public class test {
public static void main(String a[]) {
int x;
for (x=2;x<5;x++)
System.out.println(x);
}
}
标准答案: 学生解答: 2
3
4
3.计算3个整数之积.
import javax.swing.JOptionPane;
public class Java_1{
public static void main( String args[] ){
int x, y, z, result;
String xVal, yVal, zVal;
//*********Found**********
xVal = JOptionPane._____________________(
"输入第1个整数:" );
yVal = JOptionPane.showInputDialog(
"输入第2个整数:" );
zVal = JOptionPane.showInputDialog(
"输入第3个整数:" ); //*********Found**********
x = Integer.___________________( xVal );
y = Integer.parseInt( yVal );
z = Integer.parseInt( zVal );
result = x * y * z;
//*********Found**********
____________________.showMessageDialog( null,
"三个整数之积是" + result );
System.exit( 0 );
}
}
标准答案: 学生解答: showInputDialog
parseInt
JOptionPane
4.将程序补充完整
import javax.swing.JOptionPane;
public class Java_1{
public static void main( String args[] ){
String s1, s2, s3, s4, output;
s1 = new String( "hello" );
s2 = new String( "good bye" );
s3 = new String( "Happy Birthday" );
s4 = new String( "happy birthday" );
output = "s1 = " + s1 + "\ns2 = " + s2 +
"\ns3 = " + s3 + "\ns4 = " + s4 + "\n\n";
//测试字符串相等
if ( s1.equals( "hello" ) )
//*********Found**********
output = output + "_________________________";
else
output = output + "s1 does not equal \"hello\"\n";
//用==测试相等
if ( s1 == "hello" )
output += "s1 equals \"hello\"\n";
else
output += "s1 does not equal \"hello\"\n";
//忽略字符格式测试相等
if ( s3.equalsIgnoreCase( s4 ) )
output += "s3 equals s4\n";
else
output += "s3 does not equal s4\n";
//比较
output +=
"\ns1.compareTo( s2 ) is " + s1.compareTo( s2 ) +
"\ns2.compareTo( s1 ) is " + s2.compareTo( s1 ) +
"\ns1.compareTo( s1 ) is " + s1.compareTo( s1 ) +
"\ns3.compareTo( s4 ) is " + s3.compareTo( s4 ) +
"\ns4.compareTo( s3 ) is " + s4.compareTo( s3 ) +
"\n\n";
//测试包含字符格式的域匹配
if ( s3.regionMatches( 0, s4, 0, 5 ) )
output += "First 5 characters of s3 and s4 match\n";
else
output +=
"First 5 characters of s3 and s4 do not match\n";
//忽略字符格式的域匹配
if ( s3.regionMatches( true, 0, s4, 0, 5 ) )
output += "First 5 characters of s3 and s4 match";
else
output +=
"First 5 characters of s3 and s4 do not match";
//*********Found**********
JOptionPane.______________________( null, output,
"字符串构造方法示例",
JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );
}
}
标准答案: 学生解答: s1 equal \"hello\"\n showMessageDialog
5.写出程序运行结果:
public class test {
public static void main(String args[]) {
int a[] = new int[4];
for (int m=0;m 10)) {
3) System.out.println("more than 10");
4) }
5) else if ((str != null) & (str.length() < 5)) {
6) System.out.println("less than 5");
7) }
8) else { System.out.println("end"); } 哪一行会出错,
A. 第1行
B. 第2行
C. 第5行
D. 第8行
标准答案: 学生解答: C 19.以下程序的编译和运行结果为,
abstract class Base{
abstract public void myfunc();
public void another(){
System.out.println("Another method");
}
}
public class Abs extends Base{
public static void main(String argv[]){
Abs a = new Abs();
a.amethod();
}
public void myfunc(){
System.out.println("My Func");
}
public void amethod(){
myfunc();
}
}
A(输出结果为 My Func
B(编译指示 Base 类中无抽象方法
C(编译通过,但运行时指示Base 类中无抽象方法 D(编译指示Base 类中的myfunc方法无方法体,没谁会喜欢该方法。
标准答案: 学生解答: A 20. 以下哪个正确定义抽象类,
A) class Animal { abstract void growl(); }
B) abstract Animal {abstract void growl();}
C) class abstract Animal {abstract void growl();}
D) abstract class Animal {abstract void growl();}
E) abstract class Animal {
abstract void growl() {
System.out.println("growl");
}
}
标准答案: 学生解答: D
二. 多选题
1.以下代码的输出结果为;
public class test02
{
public static void main(String args[])
{
Integer i1 = new Integer(9);
Integer i2 = new Integer(9);
Long l1 = new Long(9L);
if ( i1 == i2)
System.out.println("Test1");
if ( i1.equals(i2))
System.out.println( " Test2");
if ( i1.equals(new Integer(9)) )
System.out.println("Test3");
}
}
A. Test1
B. Test2,Test3
C. Test1,Test2
D. Test2,Test3
标准答案: 学生解答: BD 2.以下哪些是正确标识符,
A. %abcd
B. $abcd
C. 1abcd
D. package
E. _a_long_name
标准答案: 学生解答: BE 3.哪些可以创建5个空串的数组?
A. String a [] = new String [5]; for (int i = 0; i < 5; a[i++] =
"");
B. String a [] = {"", "", "", "", "", ""}; C. String a [5];
D. String [5] a;
E. String [] a = new String[5]; for (int i = 0; i < 5; a[i++] =
null);
标准答案: 学生解答: AB 4.有如下代码段:
switch(m){
case 0: System.out.println("case 0");
case 1: System.out.println("case 1"); break;
case 2:
default: System.out.println("default"); }
当变量m的取值是下列的哪些时,程序将输出 "default" ? A. 0
B. 1
C. 2
D. 3
标准答案: 学生解答: CD 5.设有如下代码
switch (x) {
case 1 :
System.out.println("Test1");
case 2 :
case 3 :
System.out.println("Test2");
break;
}
System.out.println("Test3");
}
x为哪些数时将输出 "Test2" ?
A. 0
B. 1
C. 2
D. 3
E. 4
标准答案: 学生解答: BCD 6.下列哪些选项将产生编译错误,
A) float F=4096.0;
B) double D=4096.0;
C) byte B=4096;
D) char C=4096;
标准答案: 学生解答: AC 7.定义一个java类,该类保存在文件 "MyClass.java"中, 要使该类能被整个
程序中的其他类访问,则对该类的正确定义是: A.private class MyClass extends Object
B. class myclass extends Object
C. public class MyClass
D. public class MyClass extends Object
标准答案: 学生解答: CD 8.指出下列哪个方法与方法public void add(int a){}为合理的重载方法。
A. public int add(int a)
B. public void add(long a)
C. public void add(int a,int b)
D. public void add(float a)
标准答案: 学生解答: BCD 9.有如下代码段:
switch(m){
case 0: System.out.println("case 0");
case 1: System.out.println("case 1"); break;
case 2:
default: System.out.println("default"); }
当变量m的取值是下列的哪些时,程序将输出 "default" ? A. 0
B. 1
C. 2
D. 3
标准答案: 学生解答: CD 10.下列哪些是java中有效的整数表示形式,
A. 22
B. 0x22
C. 022
D. 22H
标准答案: 学生解答: ABC
三. 填空题
1.写出以下程序运行结果
public class Parent {
int v=100;
public int m() {
return v;
}
public static void main(String a[]){
Parent x=new Child();
System.out.println(x.v);
System.out.println(x.m());
}
}
class Child extends Parent {
int v=200;
public int m(){
return v;
}
}
标准答案: 学生解答: 100 200
2.写出以下程序运行结果
public class Parent {
public int m() {
return 100;
}
public static void main(String a[]){
Child x=new Child();
System.out.println(x.m());
}
}
class Child extends Parent {
public int m(){
return 200;
}
}
标准答案: 学生解答: 200
3.import java.text.*;
public class Java_3{
public static void main(String[] args){
Person p = new Student("王甜甜", "计算机科学");
System.out.println(p.getName() + ", "+ p.getDescription());
}
}
abstract class Person{
public Person(String n){
name = n;
}
//*********Found********
public _______________ String getDescription();
public String getName(){
return name;
}
private String name;
}
//*********Found********
class Student ___________ Person{
public Student(String n, String m){
super(n);
major = m;
}
//*********Found********
public String ____________________(){
return "学生专业是:" + major;
}
private String major;
}
标准答案: 学生解答: abstract
extends
getDescription
4.写出程序运行结果
public class test {
public static void main(String args[]) {
int i, j=1;
i = (j>1)? 2 : 1;
switch(i) {
case 0: System.out.println(0); break;
case 1: System.out.println(1);
case 2: System.out.println(2); break;
case 3: System.out.println(3); break;
}
}
}
标准答案: 学生解答: 1 2
5.import java.io.*;
public class Java_1
{
public static void main(String args[])
{
//*********Found********
______ double TQ_IN=8.88; //定义常量
byte b;
int i;
//*********Found********
______ c;
double d=2.79994;
b=011;
i=234;
c='q';
System.out.println("TQ_IN= "+TQ_IN);
System.out.println("b= "+b);
System.out.println("i= "+i);
System.out.println("c= "+c);
System.out.println("d= "+d);
}
}
标准答案: 学生解答: final char
四. 编程题
1.利用随机函数产生20个5,20之间的整数给一个数组赋值,输出该数组的
所有元素,
统计其中有多少个元素的值小于或等于10. 标准答案: 学生解答: public class Test2 {
public static void main
(String args[]) {
//定义数组a 0
@int a[]=new int[2
0];@
//统计变量count赋初
值
@int count=0;@
//循环访问数组元素
for (int k=0;k<=20; k++ ) {
//给下标为k的数组
元素赋值
@a[k]=5+(int)(Math.random()*15);@
//输出数组元素
System.out.print(“\t”+a[k]);
//如果元素小于或
等于10,则计数变量加1
@if (a[k]<=10)
count++;
}@
//输出计数值
System.out.println("小于或等于10元素个数="+
@count);
}
}@
2.将一批单词存入一个字符串数组中,例如:{"good","word","work","bad",
"thank","me","you","or","and"}
进行如下处理:
(1)统计单词中以W或w开头的单词个数;
(2)统计长度大于等于3的单词个数;
(3)统计含or的单词个数.
标准答案: 学生解答: public class test {
public static void main(String args[]) {
String x[]={"good","w
ord","work","bad","thank",
"me","you","or","and"};
int count1=0,count2=0,count3=0; 0
for (int k=0;k,x.len
gth;k++){
if (x[k].charAt(0)=='W'|| x[k].charAt(0)==@'
w'@)
count1++;
if (@x[k].length
()>@=3) count2++;
if (@x[k].indexOf("or")!=-1)@ count3++;
}
System.out.println("以W打头单词个数="+count1);
System.out.println("长度大于3单词个数="+count
2);
System.out.println("含or单词个数="+count3);
}
}