java试卷A

试卷A

班级________                     姓名__毛佑福__                      分数_________
一、选择题(每小题3分,共60分) (115为单选,1620为多选)

1、在创建某类的对象时 应该( C
A、先声明对象,然后才能使用对象
B、先声明对象,为对象分配内存空间,然后才能使用对象
C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D、以上述说法都不
2Java应用程序经过编译后会产生一个以(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<num.length;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 + "\t"); 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!=1*2*…*n。(n!表示n的阶乘)
 System.out.print("输入一个正整数:");
Scanner input = new Scanner(System.in);//省略导入包
int number = input.nextInt();
int result = 1;
for (_________________) {
__________________
}

3int 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方法(程序框架要完整)

2、编写一个加密器,对6位密码进行加密,对应两头的数字进行交换位置(第1位和第6位,第2位和第5位,第3位和第4位交换)。要求:加密器用带参数方法的实现,并编写一个测试类。

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值