美文网首页
Java基础班试卷

Java基础班试卷

作者: Abest_5729 | 来源:发表于2018-07-17 14:57 被阅读0次

    一、选择题(每小题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<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 + "   "); 第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方法(程序框架要完整)

    相关文章

      网友评论

          本文标题:Java基础班试卷

          本文链接:https://www.haomeiwen.com/subject/tszwpftx.html