提示:内容已经过期谨慎付费,点击上方查看最新答案

程序设计基础

  1. 下列语句的执行结果为( )

    public class Method {

    public String mySelf() {

    String name="Tom";

    String mySelf="我的英文名字叫"+name;

    return mySelf;

    }

    public static void main(String[] args) {

    Method method = new Method();

    method.mySelf();

    }

    }



  2. A:什么都不输出 B:运行异常 C:运行错误 D:我的英文名字叫Tom
    答案:10AI参考:执行结果为:D:我的英文名字叫Tom。解析:在方法mySelf()中,首先创建了一个String类型的变量name并赋值为"Tom",然后创建了一个新的String变量mySelf,通过拼接语句"我的英文名字叫"和name的值,将mySelf赋值为"我的英文名字叫Tom"。最后返回mySelf的值,即"我的英文名字叫Tom"。在main方法中,通过Method对象调用mySelf方法,所以输出结果为"我的英文名字叫Tom"。所以正确选项为D:我的英文名字叫Tom。'
  3. 下列代码的运行结果为( )。

    public class Method {

    public String show(String name) {

    String oneSelf=name+"今年7岁了";

    return oneSelf;

    }

    public static void main(String[] args) {

    Method method = new Method();

    System.out.println(method.show("小明"));

    }

    }



  4. A:没有任何输出 B:编译错误 C:小明今年7岁了 D:小明
    答案:hello throwit caught finally afterAI参考:正确答案是C:小明今年7岁了。代码中定义了一个名为show的方法,该方法接收一个字符串参数name,并返回一个字符串,该字符串是name加上“今年7岁了”的结果。在main方法中,创建了一个Method对象,并调用了show方法,传入的参数为“小明”。因此,返回的结果是“小明今年7岁了”。所以,正确答案是C。'
  5. 请看下面的程序段,下面说法正确的是(   )。

    public class Person{

    static int arr[] = new int[10];

    public static void main(String a[]) {

    System .out .println(arr);}}



  6. A:当编译时会发生错误 B:不会输出结果 C:输出结果为0 D:编译不会发生错误但执行时会发生错误
    答案:D.正确执行并且输出0AI参考:正确选项是C:输出结果为0。程序段中定义了一个静态数组arr[],并在main方法中通过System.out.println()打印该数组。由于数组arr是静态的,所以在main方法之外也可以访问到它,因此可以打印出数组的内容。但是,由于数组arr是初始化为0的,所以输出结果为0。因此,选项C是正确的。选项A和D都是错误的,因为编译和执行时都不会发生错误。选项B也是错误的,因为程序段会输出结果。'
  7. 关于switch结构,以下说法正确的是( )。

  8. A:default语句后的语句总是会被执行 B:break语句在switch结构中是必需的 C:JDK1.7后switch小括号中的表达式可以是字符串类型 D:default语句在switch结构中是必需的
    答案:switch选择结构中的default可选AI参考:关于switch结构,以下说法正确的是C:JDK1.7后switch小括号中的表达式可以是字符串类型。在Java中,从JDK 1.7开始,switch表达式可以接受字符串类型的值,而在之前的版本中,switch表达式只能接受整数或字符类型。因此,选项C是正确的。其他选项A、B、D都是错误的。A选项中,default语句后面的语句不是总是会被执行,需要看具体的代码逻辑;B选项中,break语句在switch结构中不是必需的,可以根据需要使用;D选项中,default语句在switch结构中也不是必需的,可以根据具体需求添加。'
  9. 下列关于foreach循环的说法中,正确的是( )。

  10. A:若有一个ArrayList<String>类型的对象obj,则正确的foreach循环语句为for(String item : obj){} B:foreach循环仅可用于遍历集合 C:foreach循环可以修改集合中的元素 D:foreach循环的循环次数由循环变量决定
    答案:foreach循环的语法格式为foreach(varitemin collection){};foreach循环遍历集合时,无需获得集合的长度AI参考:正确选项是A:若有一个ArrayList<String>类型的对象obj,则正确的foreach循环语句为for(String item : obj){}。解释:B选项不正确,因为foreach循环不仅可用于遍历集合,还可用于数组、数组列表等数据结构。C选项也不正确,因为foreach循环不能修改集合中的元素。D选项也是不正确的,因为foreach循环的循环次数由集合中的元素数量决定。在Java中,对于List类型的数据结构,其元素的数量是在初始化时确定的,所以循环次数也是确定的。所以,只有A选项是正确的,它描述了一个正确的foreach循环的使用方式。'
  11. 在Java中,方法main()的返回值是( )。



  12. A:String B:int C:void D:char
    AI参考:正确选项是 B:int。在Java中,方法main()的返回类型是int,表示该方法返回一个整数。这是Java程序的入口方法,它的返回值决定了Java虚拟机的执行结果。如果main()方法返回一个非零的整数,则表示程序执行成功;如果返回零,则表示程序执行失败。因此,正确选项是B,即int。'
  13. 关于以下程序段,正确的说法是 ( )。

    1. String s1="Hello";

    2. String s2="Hello";

    3. if(s1= =s2)

    4. System.out.println("s1= =s2");

    5. if (s1.equals(s2))

    6. System.out.println("s1.equals(s2) ");





  14. A:行4执行,行6不执行 B:行4与行6都将执行 C:行4、行6都不执行 D:行6执行,行4不执行

  15. 对于下列代码:
    String str1="java"; String str2="java";
    String str3=new String("java");
    StringBuffer str4=new StringBuffer("java");
    以下表达式的值为true的是( )。

  16. A:str1= =str4; B:str3= =str4; C:str1= =str2; D:str2= =str3;

  17. switch(n){

    case 0: Syste.out.println(“first”);

    case 1:

    case 2: Syste.out.println(“second”); break;

    default: Syste.out.println(“end”);

    }

    通过观看这段程序代码,当n为(  )时,程序段会输出字符串”second”。




  18. A:2 B:1 C:都可以 D:0
    AI参考:正确选项是【B:1】。根据程序代码,当n为1或2时,程序段会输出字符串"second"。因此,选项B是正确答案。'
  19. 下列哪个是java中main()函数的合法参数( )。

  20. A:String args[] B:String args C:char args[][] D:char args[]
    AI参考:正确答案是A:String args[]。在Java中,main()函数的合法参数是String args[],表示从命令行接收参数,因此选项A是正确的。其他选项中,B、C、D都不符合Java中main()函数的参数规范。'
  21. 通过观看以下程序片段,其输出的是( )。

    int a=3, b=1;

    if(a==b) 

    Syste.out.println(“a=”+a);




  22. A:编译错误,没有输出 B:正常运行,但没有输出 C:a=1 D:a=3
    AI参考:输出结果为“a=3”。程序片段中,变量a和b被声明并初始化为3和1。接下来,程序检查变量a是否等于变量b。由于a和b的值不同,所以if条件不满足,因此不会执行System.out.println()语句,也就不会输出任何内容。因此,答案是D:a=3。'
  23. 用abstract定义的类( )。

  24. A:不能被继承 B:不能派生子类 C:只能被继承 D:可以被实例化

  25. 若有 a=3,则执行下列语句a的值为( )。

     a+=a*=a;



  26. A:18 B:9 C:3 D:12


  27. 139、在类设计中,类的成员变量要求仅仅能够被同一package下的类访问,请问应该使用的访问控制符 是( )。


  28. A:private B:protected C:public D:默认default
    AI参考:在类设计中,类的成员变量要求仅仅能够被同一package下的类访问,应该使用的访问控制符是private。private访问控制符表示该成员变量只能在该类内部访问,其他类无法直接访问。protected访问控制符表示该成员变量可以被同一包下的类和子类访问,但是不能被其他包下的类访问。public访问控制符表示该成员变量可以被任何类访问,不受包限制。默认访问控制符(即没有显式指定访问控制符)的成员变量在Java中默认为public,但是可以通过在编译时加上-source选项来设置为默认访问控制符。因此,正确答案是A:private。'
  29. 下列语句的输出结果是:( )。

    public class X3 {

      public static void main(String[] args) {

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

          if(i==5) break;

          System.out.print(i);

        }

      }

    }



  30. A:1234 B:编译错误 C:12345 D:01234

  31. 下列哪一项不能作为标识符的开始( )。

  32. A:数字 B:字符 C:美元 D:下划线
    AI参考:正确答案是A:数字。在Python中,标识符的开始不能是数字,而应该是字母或下划线。因此选项A不能作为标识符的开始。其他选项B、C、D都可以作为标识符的开始。'
  33. 下列有关类声明的代码片段,正确的是( )。

  34. A:package school;import java.sql.*;private String name;class Student{} B:import java.sql.*;package school;class Student{} C:package school;import java.sql.*;class Student{} D:package school;class Student{}import java.sql.*;

  35. 以下哪项不是合法的标识符( )。

  36. A:x3x; B:de1$f C:STRING D:void

  37. 现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是( )。

  38. A:int类型 B:float类型 C:long类型 D:double类型

  39. 下面关于这段程序的描述正确的是( )。

    public static void main(String[] args){

    int k=10;

    while(k==0){

    k=k-1;

    }


  40. A:循环体语句值执行一次 B:while循环执行10次 C:循环体语句一次也不执行 D:循环是无限循环
    AI参考:正确选项是C:循环体语句一次也不执行。程序中的while循环条件是k==0,这意味着只要k的值为0,循环就会一直执行。然而,在循环体中,k的值被减去了1,所以无论循环多少次,k的值都不会变为非零,因此循环体语句一次也不执行。因此,选项C是正确的描述。选项A、B和D都与程序的实际行为不符。'
  41. 下列语句输出的结果是:( 

    public class Lx3 {

     public static void main(String[] args) {

       int a=0, b=1;

         do{

          if(b%2==0)

           a += b;

          b++;

         }while(b <= 10);

         System.out.print(a);

     }

    }




  42. A:25 B:编译错误 C:55 D:30
    AI参考:答案:D解析:选项A:应该是打印的整数结果,25;但这里是输出的,打印应为System.out.println()选项B:语句有问题,应该有输出结果的地方;选项C:该程序结果应该为25,但由于语法错误和错误输出导致得到错误的结果。正确的结果是选项D:30,其中,首先在循环中执行到b%2==0时,a += b,b=1+1=2,进入下一次循环;循环继续执行到b%2==0时,a += b,b=2+2=4,再执行一次循环后b=4+4=8,以此类推,当b大于等于10时停止循环,输出a的值为a+19(第一次循环结束后为25+9),由于后面所有循环并未再次进入执行(当b>=10时退出循环),因此输出a的值为最终值,为a+30(即为原值为25后添加3个后继数3),输出为30。因此选项D是正确的。'
  43. 下面是有关子类调用父类构造方法的描述正确的是( )。

  44. A:子类定义了自己的构造方法,就不会调用父类的构造方法 B:创建子类对象时,先调用子类自己的构造函数,然后调用父类的构造函数 C:子类必须通过super关键字调用父类没有参数的构造方法 D:如果子类的构造方法没有通过super调用父类构造方法,那么子类会先调用父类不含参数的构造方法,再调用子类自己的构造方法
    AI参考:正确选项是D:如果子类的构造方法没有通过super调用父类构造方法,那么子类会先调用父类不含参数的构造方法,再调用子类自己的构造方法。在Java中,子类在创建对象时会首先调用自身的构造函数进行初始化,然后调用父类的构造函数。如果子类的构造函数没有显式地通过super关键字调用父类的构造函数,那么子类会先调用父类的不带参数的构造函数,然后再调用子类自己的构造函数。A选项错误,因为即使子类定义了自己的构造函数,仍然可以调用父类的构造函数;B选项描述不够准确;C选项也过于绝对,因为在某些情况下,子类可以选择不调用父类的无参数构造函数,而是直接调用其他带有参数的构造函数。因此,只有选项D是正确的描述。'
  45. 下列语句序列执行后,k 的值是( )。

    int m=3,n=6,k=0;

    while (m<n){

    ++k;m++;--n;

    }




  46. A:0 B:3 C:1 D:2

  47. 执行下列程序段后,ch,x,y的值正确的是( )。

    int x=3, y=4;

    boolean ch;

    ch=x<y || ++x = = --y;



  48. A:false,3,4  B: false,4,3 C:true,3,4  D:true,4,3

  49. 下面的程序段执行后输出的结果是 (  )。

    public class Test {

    public static void main(String args[]){ 

    String str="ABCDE"; 

    str.substring(3); 

    str.concat("XYZ"); 

    System.out.print(str); 

    }

    }




  50. A:DE B:CDEXYZ C:ABCDE D:DEXYZ

  51. 对于已经被定义过可能抛出异常的语句,在编程时( )。

  52. A:只能使用try/catch语句处理。 B:必须使用try/catch语句处理异常,或用throw将其抛出。 C:可以置之不理。 D:如果程序错误,必须使用 try/catch语句处理异常。

  53. 下面程序的输出结果是:( )。

    public class Test{

    void printValue(int m){

            do { 

            System .out .print(m);

            }while(- - m>10);

    }

    public static void main(String arg[]){

             int i=10;

             Test t= new Test();

             t.printValue(i);

             }}




  54. A:8 B:10 C:9 8 D:10 9

  55. 下列有关抽象方法叙述正确的是( )。

  56. A:抽象方法没有方法体 B:抽象方法和普通方法一样,只是前面多加一个修饰符asbtract C:包含抽象方法的类的具体子类必须提供具体的覆盖方法 D:抽象方法可以包含在任何类中

  57. 下列关于一个类的静态成员的描述中,正确的是( )。

  58. A:该类的静态方法能访问该类的静态成员变量 B:该类的静态数据成员变量的值不可修改 C:该类的对象共享其静态成员变量的值 D:静态成员变量可被该类的所有方法访问

  59. 下列说法正确的是( )。

  60. A:Java 语言一个类允许实现多个接口 B:Java 语言只允许单一继承 C:Java 语言只允许实现一个接口 D:Java 语言不允许同时继承一个类并实现一个接口
    AI参考:正确选项是:ACJava语言允许一个类实现多个接口,同时Java语言也允许一个类继承一个类,所以选项B和D是错误的。在Java中,一个类只能实现一个接口,如果一个类需要实现多个接口,需要使用接口的继承关系来实现,这种情况下通常被称为“桥接模式”。因此选项C也是错误的。综上所述,正确答案是A和C。'
  61. 数组可以声明为任何数据类型。( )

  62. A:对 B:错

  63. 一个子类可以从多个超类中派生出来。( )

  64. A:错 B:对

  65. 一个类可以实现多个接口,一个接口可以继承多个父接口。( )

  66. A:错 B:对

  67. Java的每个子类的构造方法都要显式的调用它的直接超类的构造方法。( )

  68. A:对 B:错

  69. 数组元素所占的内存单元是连续的。( )

  70. A:对 B:错
    AI参考:答案是A:对。数组元素所占的内存单元是连续的。在计算机内存中,数组的元素是连续存储的,因为数组在内存中是连续的块,每个元素的大小加上数组结束的标记决定了数组所占用的内存空间大小。这个连续存储的空间方便了对数组进行操作,例如快速访问和修改元素等。'
  71. 子类要调用父类的构造方法可以使用super关键字。( )

  72. A:对 B:错

  73. HashSet和TreeSet是Set的实现类( )。

  74. A:错 B:对
    AI参考:答案是B:对。HashSet和TreeSet确实是Java中的Set接口的实现类。HashSet基于哈希表实现,而TreeSet基于红黑树实现,它们都提供了存储和检索集合中元素的方法。'
  75. 构造方法没有任何返回类型,所以用void修饰。( )

  76. A:错 B:对
    AI参考:答案:B。构造方法没有返回类型,所以用void修饰是正确的。'
  77. 当一个超类成员不适合子类时,子类可以恰当的方式重新定义它。( )

  78. A:对 B:错
    AI参考:答案是B:错。当一个超类成员不适合子类时,子类不能直接重新定义它,因为超类成员是所有子类共享的公共接口。如果子类想要改变超类成员的行为,应该使用继承来继承超类的成员,并在子类中重新定义该成员。如果子类直接重新定义超类成员,可能会导致代码不一致和难以维护。因此,这个说法是错误的。'
  79. 声明变量时必须指定一个类型。( )

  80. A:对 B:错

  81. 类体中private修饰的变量在本类中能访问,也能通过类生成的对象直接访问。( )

  82. A:错 B:对

  83. 在类定义中,成员访问权限修饰符不能多次出现。( )

  84. A:对 B:错

  85. Set集合类不允许有重复的元素。( )

  86. A:错 B:对
    AI参考:答案:B。Set集合类不允许有重复的元素,所以题目表述是正确的。'
  87. 调用System.gc()会让Java虚拟机立即进行垃圾回收。( )

  88. A:错 B:对
    AI参考:选项B是正确的。System.gc()是一个建议性的方法,它告诉Java虚拟机执行一次垃圾回收。虽然调用System.gc()可能会引起虚拟机立即进行垃圾回收,但是这种行为并不是强制的,因为垃圾回收是由Java虚拟机自动管理的。因此,不能完全依赖System.gc()来确保垃圾回收的执行。总的来说,调用System.gc()可以提高垃圾回收的频率,但并不能保证每次调用都会立即进行垃圾回收。因此,这个问题的正确答案是B:调用System.gc()会让Java虚拟机立即进行垃圾回收。'
  89. 在类的一个构造方法中可以使用super调用重载的另一个构造方法。( )

  90. A:对 B:错
    AI参考:答案是A:对。在Java中,可以在类的一个构造方法中使用super关键字调用同类的另一个重载构造方法。这样可以确保在创建对象时,按照预期的方式初始化对象的成员变量。因此,选项B是错误的。'
  91. 数组元素的类型必须一致。( )

  92. A:对 B:错
    AI参考:正确答案是B:错。在编程中,数组元素的类型不必一致。例如,在Python中,一个数组可以包含整数、浮点数、字符串等多种类型的元素。而在Java中,数组的元素必须是相同的数据类型。因此,这个问题的正确答案是B,即“错”。'
  93. 声明为final的类不能是超类。( )

  94. A:对 B:错
    AI参考:答案是B:错。声明为final的类可以不是超类,也可以是超类。final关键字只能用于修饰类,表示该类不能被继承。但是,一个类可以声明为final的同时,也可以是另一个类的超类。因此,这个判断题是错误的。'
  95. this调用语句必须是构造方法中的第一个可执行语句。( )

  96. A:错 B:对

  97. 实例化子类对象,需要调用超类的构造方法进行初始化工作,完成对子类中的超类实例变量的初始化,则子类可以继承超类的构造方法。( )

  98. A:错 B:对
    AI参考:B:对。在面向对象编程中,子类对象实例化时,需要调用超类的构造方法进行初始化工作,以确保子类中的超类实例变量被正确初始化。因此,子类可以继承超类的构造方法,并在需要时调用它来完成初始化工作。'
  99. 在声明数组类型的变量时,必须指定数组的长度。( )

  100. A:错 B:对
    AI参考:答案是B:对。在声明数组类型的变量时,必须指定数组的长度。这是因为数组是一个具有固定大小的集合,需要明确指定长度以避免意外的结果。'

温馨提示支付 ¥1.70 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部