java应用程序经过编译后会产生一个以_Java基础班试卷

这是一份Java基础知识的测试题目,涵盖了类的创建、字节码文件扩展名、数组操作、switch语句、字符串处理、异常处理、循环结构、字符串比较等内容,旨在考察Java程序员的基础功底。
摘要由CSDN通过智能技术生成

一、选择题(每小题3分,共60分) (1到15为单选,16到20为多选)

1、在创建某类的对象时 应该( C)

A、先声明对象,然后才能使用对象

B、先声明对象,为对象分配内存空间,然后才能使用对象

C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象

D、以上述说法都不对

2、Java应用程序经过编译后会产生一个以(B)为扩展名的字节码文件

A、.java B、.class C、.exe D、.html

3、已知有数组定义:int MyArray[] = {10,20,30,40,50,60,70,80,90,100},则以下程序段:

int s = 0 ;

for ( int i = 0 ; i < MyArray.length ; i + + )

if ( i % 2 = = 1 )

s =s+ MyArray[i] ;

System.out.println( s );

执行后s的值是(C)

A、200 B、250 C、300 D、350 E、程序编译出错

4、给定以下程序段,如下:

int i=0,j=-1;

switch(i){

case 0:j=1;

case 2:j=2;

default:j=5;

}

System.out.print("j="+j);

编译运行,正确的是( D)

A、j=-1 B、j=1 C、j=2 D、j=5

5、有如下程序段:

String unset=null;

if(unset!=null && unset.length()>5){

System.out.println("Hello Pido! ");

}

则执行以上程序段后,以下选项描述正确的是( D)

A、运行时出现错误 B、编译正确但运行时空指针异常

C、编译时出现空指针异常 D、没有任何错误出现

6、有以下程序段:

int i = 0;

for(;i<100;i++){

if(i==10){break;}

}

System.out.println("i="+i);

则执行后程序的输出结果为( B)

A、i=10 B、10 C、9 D、i=9

7、如下Java程序片段

String a = "abcdefg"; String b = "abcdefg";

System.out.println(a==b);

运行后,该程序段的输出结果是(B )

A、true B、false C、0 D、编译出错

8、分析下面的Java程序段:

class testException{

int sum=0;

public static void main(String args[]){

int n[]={0,1,2,3,4};

for(int i=1;i<=4;i++){

sum=sum+n[i];

}

System.out.println("sum="+sum);

}

}

输出结果将是(D )

A、10 B、sum=10 C、运行时报错 D、编译出错

9、有如下Java程序声明

String s1=new String(“pido”);

String s2=new String(“online”);

String s3=new String("0");

以下选项中能够通过编译的是( A)

A、s3=s1+s2 B、s3=s1&s2 C、s3=s1||s2 D、s3=s1&&s2

10、在单一文件中import、class和package的正确出现顺序是( A)

A、package, import, class B、class, import, package

C、import, package, class D、package, class, import

11、下面的Java变量名既符合规则又符合规范的是( D)。

A、myString B、ab C、$mystring D、MyString

12、阅读下面代码片段,输出结果是(A)。

StringBuffer sb = new StringBuffer("Hello");

String t = " MY";

t = t + " FRIEND";

sb.append(t);

System.out.println(sb.toString().toLowerCase().toLowerCase());

A. my friend hello

B. Hello MY FRIEND

C. 程序报错

D. hello my friend

13、声明s1; String s1 = new String("phenobarbital");

经过下面代码之后,

String s2 = s1.substring(3, s1.indexOf("p"));

s2的值是(D)。

A、null B、"phen" C、"nobarbital" D、程序报错

14、代码执行如下的程序输出的结果是( C)

int num[] ={1,2,3,4,5,6};

int sum=0;

for(int i=0;i

if(num[i]%2=0){

sum=sum+num[i];

}

}

System.out.println(sum);

A、12 B、22 C、编译出错 D、20

15、运行下面这段代码,输出结果是(B)。

public class MyTest {

int x = 30;

public static void main(String args[]){

int x = 20;

MyTest ta = new MyTest();

ta.Method(x);

System.out.print(x);

}

public void Method(int z){

int y = z*z+x;

System.out.print(y);

}

}

A、93030 B、 43020 C、92030 D、 42030

16、以下代码第(BC)行有错误

int[] list = new int[10]; 第1行

StringBuffer sb = new String (""); 第2行

// 产生0-99的随机数 第3行

int num; 第4行

for (int i = 0; i < 10; i++) { 第5行

num = Math.random() * 100; 第6行

list[i] = num; 第7行

sb.append(num + " "); 第8行

} 第9行

A、第1行 B、第2行 C、第6行 D、第8行 E、第5行

17、阅读下面代码,其中说法正确的是(DE)。

public int guessWhat( double arr[ ] ){

double x= 0;

for( int i = 0; i < arr.length; i++ ){

if(x > arr[i]){

x = arr[i];

}

}

return x;

}

A、返回数组最大值的下标

B、返回数组最小值的下标

C、返回数组中的最大值

D、返回数组中的最小值

E、参数可以是int类型的数组

F、参数可以是String类型的数组

18、关于下面代码,说法正确的是(ED)。

public class Test {

int x=10; 第1行

public static void main(String[ ] args1){ 第2行

Test test = new Test(); 第3行

int x = 11; 第4行

if (test.methodA()){ 第5行

x++; 第6行

System.out.println(x); 第7行

} 第8行

} 第9行

public boolean methodA(){ 第10行

System.out.println(x++); 第11行

return true; 第12行

} 第13行

} 第14行

A、第4行有编译错误

B、第5行有编译错误

C、第12行有编译错误

D、运行输出12

E、运行输出10

F、运行输出11

19、关于下面代码,说法正确的是(BD)

String space = " ";

String composite = space +space+ "a" + space +"b"+ space; System.out.println("AB".equalsIgnoreCase(composite.substring(1).trim().toUpperCase()));

A、编译报错

B、输出结果为false

C、输出结果为true

D、其中"AB"是对象

E、其中"AB"不是对象

20、关于类的方法使用下列那些描述是正确的(AEC)

A、在类中调用本类的方法可以直接通过方法名调用。

B、在类中调用本类的方法不可以直接通过方法名调用,必须要通过对象。

C、在类中调用本类的方法可以通过对象.方法名调用。

D、不同类之间方法可以直接通过方法名调用。

E、不同类之间方法可以通过对象.方法名调用。

二、填空题(每空2分,共20分)

1、设x=2.5,a=7,则表达式x+a%3*7的值为_____9.5_____;

2、输入一个正整数,输出该数的阶乘。求整数n的阶乘公式为:n!=12…*n。(n!表示n的阶乘)

System.out.print("输入一个正整数:");

Scanner input = new Scanner(System.in);//省略导入包

int number = input.nextInt();

int result = 1;

for (_________________) {

__________________

}

3、int a[]={1,2},b=2,i=0;则a[i++]+=b;执行后:i=__________ ,a[i]= __________;

4、如下程序段

class A{

int var1=1; int var2;

public static void main(String args[]) {

int var3=3; A a=new A();

System.out.println(a.var1+a.var2+var3);

}

}的运行结果是__________;

5、"mypido".equals(new String("mypido"))的返回结果是__________(填true或false);

6、如下Java程序段

char c=’a’;

switch (c) {

case ’a’: System.out.print("pido");

default: System.out.print(" online");

}的运行结果是__________;

7、程序段int i=1; int j=i++; if((i>++j)&&(i++==j)) i=i+j; 运行后i的值是__________(此空4分);

三、程序分析题(每小题5分,共10分)

1、写出以下程序的运行结果。

public class EqualOrNot{

public static void main(String[] args) {

B b1=new B();

B b2=new B();

b1.c(5);

b2.c(5);

System.out.println(b1==b2);

System.out.println(b1.equals(b2));

System.out.println(b1.x==b2.x);

}

}

class B{

int x;

public void c( int y){ x=y; }

}

2、写出以下程序的运行结果。

int i = 0, j = 0;

while(i<5){

if(j>2){

System.out.println("**");

i++;

j--;

continue;

}

System.out.println("*");

j++;

i++;

}

四、 编程题(共10分)

1、需求:在包myjava.test中创建个类名为People的类 ,属性为年龄(age)默认值20,

在这个类中有个方法myAge其功能是通过参数接收一个数值,与属性age进行比较

如果接受的数值大则返回“你猜我的年龄也太老了吧”否则返回“我可没这么小”,相等则返回“你真厉害,一下就猜中了”。编写测试类调用myAge方法(程序框架要完整)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值