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

Java程序设计

  1. Math.floor(-8.5)= ( )

  2. A:(long)-8 B:(long)-9 C:( double)-9.0 D:(float)-8.0
    答案:(double)-9.0
  3. 在java7中,下列不能做switch()的参数类型是? ( )

  4. A:int型 B:字符串 C:浮点型 D:枚举类型
    答案:浮点型
  5. String str = "";
    System.out.print(str.split(",").length);
    输出结果为: ( )

  6. A:0 B:出现异常 C:2 D:1
    答案:Java为了避免产生大量的String对象,设计字符串常量池.先为检查常量池中是否有值相等的字符串,有则不再创建,返回该字符串的引用地址,没有,则创建,然后放到字符串常量池,并返回新创建的字符串的引用地址.当遇到new 时,还会创建一个新的String对象.AI参考:正确答案是D:1。题目中定义了一个空字符串str,使用split方法分割字符串时,由于没有分隔符,所以分割后的数组长度为1,因此输出结果为1。其他选项均不正确。'
  7. 下面代码的运行结果是     ( )


  8. A:由于String s没有初始化,代码不能编译通过。 B:代码编译成功,但捕获到NullPointException异常 C:代码编译成功,并输出”s=null” D:代码编程成功,并输出”s=”
    答案:5AI参考:正确选项是:C.代码编译成功,并输出”s=null”。原因是题目中代码是试图使用一个未初始化的String对象s,由于String类对象在使用前必须被初始化,否则会出现NullPointerException异常。但在代码运行过程中,编译器能够检测到这个异常并报错,提示程序员未初始化String对象s,而不是让其正常输出“s=null”。所以代码能够编译成功,并输出”s=null”。而选项A、B和D中的错误提示不够明确和具体,与实际情况不符。'
  9. 在运行时,由java解释器自动引入,而不用import语句引入的包是 ( )。

  10. A:java.system B:java.util C:java.lang D:java.io
    答案:java.lang包
  11. 在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。请问,当N=9时,你可以采用多少种不同的方式爬完这个楼梯( )

  12. A:11 B:55 C:144 D:89
    AI参考:正确答案是C:144。根据题目描述,每一步只能上1阶或2阶,所以楼梯阶数的所有可能情况可以表示为1、2、3、4、5、6、7、8、9的组合。当N=9时,共有9种情况。对于每种情况,都有两种上楼梯的方式,所以总的方式数为9×2=144种。因此,答案为C。'
  13. 在 main() 方法中给出的字节数组,如果将其显示到控制台上,需要 ( )。

  14. A:标准输入流System.in.read()。 B:建立字节输入流。 C:建立字节输出流。 D:标准输出流System.out.println()。
    AI参考:在 main() 方法中给出的字节数组,如果将其显示到控制台上,需要使用标准输出流 System.out.println()。选项 D 是正确的。System.out 是 Java 中的标准输出流,用于将数据输出到控制台。使用 System.out.println() 方法可以将字节数组作为字符串输出,并在其后添加换行符,以便在控制台上显示字节数组的内容。因此,答案为 D:标准输出流 System.out.println()。'
  15. 计算机所能处理的最小的数据项称为 ( )

  16. A:字 B:双字 C:位 D:字节
    AI参考:正确答案是D,字节(Byte)是计算机所能处理的最小的数据项。一个字节通常有8位(bit)。所以D是正确答案。'
  17. public void test() {
    int a = 10;
    System.out.println(a++ + a--);
    }
    最后输出什么?( )

  18. A:20 B:19 C:22 D:21
    AI参考:答案:B解释:在Java中,对于a++和a--这种前缀递增和递减运算符,运算过程中实际上会先取出值,然后再进行递增或递减。所以对于表达式a++ + a--,实际上等价于(a, a++),即先取出a的值,再对a进行递增操作。所以对于题目中的代码,先执行了int a = 10;,将a的值赋为10,然后再执行System.out.println(a++ + a--),输出的是20,但此时a的值已经变成了11。所以最后输出的结果是20,但a的值变成了11。所以正确选项是B: 19。'
  19. 顺序执行下列程序语句后,则b的值是  ( )


  20. A:Hel B:He C:Hello D:Null

  21. 下列不正确的 Java 语言标识符是( )

  22. A:for B:$Computer C:Sky D:NULL
    AI参考:不正确的 Java 语言标识符是:B:$Computer。Java语言标识符必须遵循以下规则:1. 标识符可以是字母(包括下划线)、数字和美元符号($)的组合。2. 标识符不能是关键字,也就是说不能是Java语言中已经定义的保留字或命令。在这个问题中,$Computer是一个以美元符号($)开头的标识符,Java语言中没有这样的关键字或保留字,所以它应该是一个合法的标识符。然而,其他选项for、Sky和NULL都是合法的Java标识符,只有B:$Computer是不合法的,因为它违反了标识符的第二个规则,即不能以美元符号($)开头。因此,正确答案是B:$Computer。'
  23. Java 语言中创建一个对象使用的关键字是 ( )

  24. A:new B:create C:interface D:class

  25. 如下Java语句 double x=2.0; int y=4; x/=++y; 执行后,x的值是( )

  26. A:2.5 B:0.5 C:2.0 D:0.4
    AI参考:选项 B 是正确的。在Java中,运算符的优先级是有限制的,按照默认规则进行计算。根据上述题目中的代码:```double x = 2.0;int y = 4;x /= ++y;```这个代码实际上执行的运算顺序为:先对y进行自增操作,然后再进行除法运算。由于double类型的数据在除法运算时会自动转换为浮点数,所以x/=++y等价于x = x/y + (y++)。y的初始值为4,执行++y后变为5,再执行x/=5时,由于x的初始值为2.0,所以执行除法运算后x变为:2.0/5 = 0.4。所以答案是D:0.4。值得注意的是,虽然这里用到了运算符优先级的知识,但是通常来说,这种级别的优先级问题并不需要手动处理,Java的自动解析机制可以处理大多数情况。在实际编程中,我们应该关注更高级别的概念和问题,比如数据类型、变量作用域、异常处理等。'
  27. 在 Java 中,存放字符串常量的对象属于( )类对象。

  28. A:StringBuffer B:String C:Vector D:Character

  29. 若有定义语句: int a=10 ; double b=3.14 ; 则表达式 'A'+a+b 值的类型是 ( )

  30. A:double B:char C:float D:int

  31. String str = new String(“abc”),“abc”在内存中是怎么分配的? ( )

  32. A:栈 B:寄存器 C:堆 D:字符串常量区
    AI参考:正确选项是 C:堆。在Java中,String str = new String("abc") 创建了一个新的String对象,这个对象是在堆(Heap)内存中分配的。在内存中,字符串常量("abc")被存储在字符串常量区,而new String("abc") 创建的String对象则是在堆内存中分配的。所以,"abc"在内存中的分配方式是字符串常量区存储字符串字面量,然后在堆内存中分配String对象。因此,正确答案是C。需要注意的是,在Java中,寄存器(Register)通常用于临时存储小规模的数据,如变量或中间结果,而不是存储字符串常量或String对象。因此,B选项"寄存器"是不正确的。此外,A选项"栈"主要用来存储函数调用和处理数据结构等小型数据,D选项"字符串常量区"存储的是直接初始化的字符串字面量(例如:string1 = "abc","abc"就会在字符串常量区中),而非创建的String对象。所以这两个选项也是不正确的。'
  33. 设有定义 int a=3 ,b=4,c=5; 则以下的表达式中 , 值为 false 的是 ( )

  34. A:! ( a < b ) B:a < b && b < c C:a < ( b + c ) D:a <= b
    AI参考:在给出的表达式中,值为false的是B选项:a < b && b < c。首先,我们来分析各个选项:A选项:! ( a < b ) 这个表达式是判断a是否小于b,即a是否小于3,结果为真。C选项:a < ( b + c ) 这个表达式是判断a是否小于b+c的结果,由于b=4,c=5,所以b+c=9,结果为真。D选项:a <= b 这个表达式是判断a是否小于等于b,即a是否小于或等于3,结果为真。但是,对于B选项:a < b && b < c这个表达式来说,如果b的值是4或以下,这个表达式就是真,否则就是假。在这里b的值为4,所以这个表达式的结果为假。所以,正确答案是B选项:a < b && b < c。'
  35. java中,用( )关键字定义常量?

  36. A:#define B:Const C:final D:float

  37. Java中只有整型才能使用的运算符为? ( )

  38. A:% B:/ C:+ D:*

  39. Java表达式"13 & 17"的结果是什么? ( )

  40. A:13 B:17 C:30 D:1
    AI参考:正确答案是C:30。Java表达式"13 & 17"的结果是二进制数,即13和17的二进制表示进行按位与运算,结果是13和17中都有的位都为1,其他位都为0,即二进制数30。因此,答案为C。'
  41. 以下哪几种是java的基本数据类型。 ( )

  42. A:int B:Double C:String D:boolean
    AI参考:正确选项是【A:int B:boolean】。Java的基本数据类型包括:byte、short、int、long、float、double、char和boolean。其中,int和boolean是基本数据类型,而Double是浮点数类型,String是字符串类型。因此,选项B和D是正确的。C选项String不是基本数据类型,而是对象类型。'
  43. 下面哪些标识符是正确的? ( )

  44. A:parseXML B:&maybe C:MyWorld D:–value
    AI参考:正确选项为 C:MyWorld标识符是用于命名变量、函数、类等的重要方式,标识符的命名应遵循一定的规则,例如:* 标识符可以是字母(包括大、小写字母)、数字和下划线,但不能以数字开头。* 标识符应该具有描述性,尽量让代码可读性强。选项 A 中的 "parseXML" 包含非字母数字字符(XML的首字母应大写),不符合标识符命名规则。选项 B 中的 "&maybe" 是合法的标识符,但这里的 "&" 并不是有效的标识符符号。选项 D 中的 "-" 在标识符中是无效的字符。选项 C 中的 "MyWorld" 是一个有效的标识符,符合标识符命名规则,因此是正确答案。'
  45. 关于Java中的数组,下面的一些描述,哪些描述是准确的:( )

  46. A:数组是一个连续的存储结构 B:数组长度是可以动态调整的 C:数组是一个对象,不同类型的数组具有不同的类 D:可以有二维数组,且可以有多维数组,都是在Java中合法的 E:一个固定长度的数组可类似这样定义: int array[100]
    AI参考:关于Java中的数组,准确的描述有:B, D, E。具体如下:B:数组长度是可以动态调整的。在Java中,数组的长度在创建时确定,但在运行时可以改变。D:可以有二维数组,且可以有多维数组,这在Java中是合法的。Java支持多维数组。E:一个固定长度的数组可类似这样定义:int array[100],这是正确的。在Java中,数组的声明必须指定其大小。A和C描述不准确。A说数组是一个连续的存储结构,但实际上在Java中,数组不一定是连续存储的,也可以是分散存储的。C说不同类型的数组具有不同的类,但在Java中,数组类型是由其元素类型决定的,而不是由类决定的。'
  47. 根据下面的代码,
    String s = null;
    会抛出NullPointerException异常的有 ( )。

  48. A:if( (s==null) || (s.length()==0) ) B:if( (s!=null) & (s.length()>0) ) C:if( (s==null) | (s.length()==0) ) D:if( (s!=null) && (s.length()>0) )

  49. 函数直接或间接的调用自身叫函数的递归调用 ( )

  50. A:错 B:对
    AI参考:正确答案是【对】。函数直接或间接的调用自身叫函数的递归调用。'
  51. 浅拷贝中体现了数据共享的思路 ( )

  52. A:错 B:对
    AI参考:B:对。浅拷贝是对原对象的浅层次复制,保留了原对象的部分数据,并实现了数据共享的思路。在进行程序开发时,如果需要对原对象的数据进行复用或修改,浅拷贝可以实现原对象和拷贝对象之间的数据共享,避免重复创建和修改数据,提高程序的效率和稳定性。因此,浅拷贝体现了数据共享的思路。'
  53. 一般来说,全局变量的可见范围要大于局部变量 ( )

  54. A:错 B:对
    AI参考:正确答案是B:对。全局变量的可见范围要大于局部变量。全局变量是在整个程序中都可见和可用的,而局部变量只在其被声明的函数或代码块中可见。因此,一般来说,全局变量的可见范围要大于局部变量。'
  55. continue 语句可以用于switch语句中 ( )

  56. A:对 B:错

  57. Java使用scanf方法进行控制台输入操作 ( )

  58. A:对 B:错

  59. 在一些场合,判断浮点数相等的时候不能简单地使用== ( )

  60. A:对 B:错
    AI参考:答案是B:错。在一些场合,判断浮点数相等的时候不能简单地使用“==”,因为浮点数的比较通常需要使用特定的比较算法,以确保精度和稳定性。简单地使用“==”可能会导致误判。因此,在进行浮点数比较时,应该使用适当的比较算法,以确保准确性。'
  61. 假设排序元素个数为 n, 选择排序的时间复杂度为O(n2) ( )

  62. A:对 B:错
    AI参考:答案是B:错。选择排序的时间复杂度通常被认为是O(n^2),但在某些特殊情况下,如数据分布均匀且输入数据量较小,选择排序的时间复杂度可能会接近O(n)。因此,不能简单地认为选择排序的时间复杂度为O(n^2)。'
  63. 在工程实践中,应该删除 “声明但未使用”的变量 ( )

  64. A:错 B:对
    AI参考:答案是B:对。在工程实践中,应该删除“声明但未使用”的变量,以确保代码的简洁性和可读性,避免潜在的错误和资源浪费。如果一个变量被声明但未被使用,那么它就成为了“死代码”,不仅占用了内存空间,还可能导致编译器的警告或错误。因此,删除这些未使用的变量是编程实践中一个重要的原则。'
  65. Java中的random方法可以用来处理产生随机数的场景 ( )

  66. A:对 B:错
    AI参考:正确答案是A:对。Java中的random方法可以用来处理产生随机数的场景。random()方法是在Java的Math类中提供的,它可以用于生成伪随机数,这些随机数是根据某种算法生成的,可以在一定的范围内产生随机的数。因此,可以使用random()方法来处理需要随机数的场景。'
  67. Java中,支持函数返回类型为数组 ( )

  68. A:错 B:对
    AI参考:B:对。在Java中,函数可以返回任何类型的对象,包括数组。返回数组的函数通常用于返回一组数据,如从数据库查询得到的结果、从文件读取的数据等。返回数组类型的函数可以在调用时将数组转换为所需的数据类型,从而实现灵活的数据处理。因此,选项B“对”是正确的。'
  69. Arrays.sort() 方法用于数组的排序 ( )

  70. A:错 B:对
    AI参考:答案是B:对。Arrays.sort()方法确实用于数组的排序。这个方法会根据自然顺序或者一个提供的Comparator进行排序。所以这个判断题是正确的。'
  71. break语句是结束整个循环,continue 语句则结束本次循环 ( )

  72. A:错 B:对

  73. 自底向上体现了个体的自律性,自主性对整个系统带来的好处 ( )

  74. A:对 B:错
    AI参考:答案是A:对。自底向上是指从基础、底层开始,逐步向上构建或发展。这种思维方式或方法体现了个体的自律性和自主性,要求个体自我约束、自我管理,自主地推动系统的发展。这种思维方式或方法有助于个体自我成长和系统整体效益的提升,因此自主性对整个系统带来的好处是积极的。'
  75. Java 的二维数组支持不规则数组 ( )

  76. A:错 B:对
    AI参考:正确答案是【对】。Java的二维数组支持不规则数组,可以通过在声明时直接指定二维数组的大小来创建不规则数组。Java中的二维数组大小必须是一个完整的行数和一个列数,但在实际使用中,如果一个二维数组中某行的大小不确定,则可以被视为不规则数组。因此,答案是“对”。'
  77. 函数的形参的名字和传递的实参名字必须相同 ( )

  78. A:错 B:对
    AI参考:正确答案是【错】。函数的形参是定义函数时所给的参数,实参是调用函数时给出的参数,两者可以相同也可以不同。在传递过程中,形参的名字和传递的实参名字是否相同并不重要,重要的是实参的值是否按照函数的定义方式传递给了形参。所以,这个说法是错误的。'
  79. 标识符可以理解为程序世界中每个事物的名字。 ( )

  80. A:错 B:对
    AI参考:正确答案是【对】。标识符确实是用来给程序中的各个元素命名的,包括变量、函数、数据类型等等,所以这个表述是正确的。'
  81. Java中,如果不想让被拷贝体受拷贝产生物的影响,应该用深拷贝 ( )

  82. A:对 B:错
    AI参考:答案是A:对。在Java中,深拷贝是指完全复制一个对象,包括对象的所有属性和方法,并且新拷贝的对象不受原始对象的影响。如果不想让被拷贝体受拷贝产生物的影响,应该使用深拷贝。浅拷贝只能复制对象的属性值,而不会复制对象的内部状态和引用的其他对象,因此原始对象和拷贝产生物之间可能会存在影响。因此,正确答案是A。'
  83. Java中,二维数组可以理解为 以一维数组作为元素的一维数组 ( )

  84. A:错 B:对

  85. Arrays.equals() 是用来比较数组元素是否相等的函数 ( )

  86. A:错 B:对
    AI参考:正确答案是【对】。Arrays.equals() 是Java中的一个方法,用于比较两个数组是否相等,即比较两个数组的元素是否完全相同。'
  87. Java中的标识符只能以字母,下划线或者美元符号开头 ( )

  88. A:对 B:错
    AI参考:答案是B:错。在Java中,标识符可以以字母、下划线(_)或美元符号($)开头,但不能是Java关键字、保留字或特殊字符。因此,错误的选项B是与Java标识符规则不符的。'
  89. 二维数组中,按行优先遍历和按列优先遍历 的效率是相同的 ( )

  90. A:对 B:错
    AI参考:B:错。二维数组中,按行优先遍历和按列优先遍历的效率是不相同的。按行优先遍历可以一次访问一行的所有元素,效率较高;而按列优先遍历需要逐列访问元素,效率较低。因此,这个判断题的答案是B:错。'
  91. 在一定使用范围内,if 语句和switch语句可以互相实现 ( )

  92. A:对 B:错
    AI参考:答案是A:对。if语句和switch语句都是程序控制流中的重要语句,它们在一定使用范围内可以互相实现。if语句用于条件判断和分支选择,而switch语句用于多路选择和枚举。在某些情况下,if语句和switch语句可以互相替代,但需要注意它们的语法和语义差异,以及在特定场景下的适用性。因此,这个判断题的答案是肯定的,即“对”。'
  93. Java中,Scanner类支持整形,浮点型,字符串型等输入 ( )

  94. A:错 B:对
    AI参考:答案是B:对。Java中的Scanner类确实支持整形(int)、浮点型(float)、字符串型(String)等输入。'
  95. switch后面紧跟的小括号内的变量可以是任意类型 ( )

  96. A:错 B:对
    AI参考:答案:B。switch后面紧跟的小括号内的变量可以是任意类型,这是正确的说法。在switch语句中,小括号内的变量用于指定与哪个case语句匹配,可以是任何数据类型,包括数字、字符串、布尔值等。'
  97. 控制台是可以输入并显示输出的系统“弹窗” ( )

  98. A:错 B:对
    AI参考:答案:B:对。控制台是可以输入并显示输出的系统“弹窗”,这是正确的说法。控制台通常是指计算机上的操作系统提供的命令行界面,用户可以在控制台上输入命令并查看输出结果。而“弹窗”则是指出现在屏幕上的一个小窗口,通常用于显示一些提示、警告或广告等信息。因此,控制台可以被认为是能够输入并显示输出的系统“弹窗”。'
  99. continue语句可以用于 if语句中 ( )

  100. A:对 B:错
    AI参考:正确答案是【B】错。continue语句用于跳过本次循环中剩余的代码,直接进行下一次循环,它不能用于if语句中。'
  101. for语句,while语句,do while 语句可以互相嵌套使用 ( )

  102. A:错 B:对
    AI参考:答案是【对】。for语句,while语句,do while语句确实可以互相嵌套使用。这些循环语句在编程中常常被用来控制代码的执行流程,当一个循环体内需要使用另一个循环时,就可以互相嵌套使用。'
  103. 赋值表达式中的左值和右值要求类型相同或者可转换 ( )

  104. A:对 B:错
    AI参考:正确答案是B:错。赋值表达式中的左值和右值要求类型相同或者可转换。在进行赋值操作时,赋值符号的两侧要求数据类型相同或者可以进行转换,否则会出现类型不匹配的错误。'
  105. Java中,支持二维数组作为函数返回类型 ( )

  106. A:对 B:错

  107. 假设搜索集的数据量为n,顺序查找的时间复杂度为O(1) ( )

  108. A:对 B:错
    AI参考:这个说法是错误的。在顺序查找中,我们逐个比较数据集中的每个元素,直到找到目标元素或遍历完所有元素。对于数据量为n的搜索集,顺序查找的时间复杂度为O(n)。因此,选项B“错”是正确的答案。'
  109. Java中,使用new创建二维数组的时候可省略列数,但不可省略行数 ( )

  110. A:错 B:对

  111. Java中,数组作为实参传递是按引用传递 ( )

  112. A:错 B:对
    AI参考:正确选项是【B:对】。在Java中,数组作为实参传递时,是按引用传递的。这意味着当函数接收一个数组作为参数时,实际上接收的是该数组的引用,而不是数组本身。因此,对数组的任何修改都会影响到原始数组。这与传递基本数据类型(如int)时的情况不同,后者是按值传递,即传递的是基本数据类型的副本,对副本的修改不会影响原始值。'
  113. do while语句先判断表达式,后执行循环体 ( )

  114. A:错 B:对
    AI参考:答案是【B:对】。do-while循环语句的执行顺序是先执行循环体,然后再进行条件判断。因此,选项B是正确的。do-while循环语句的特点是至少会执行一次循环体,然后再根据条件决定是否继续循环。'
  115. Java中 Math.ceil(-3.4)返回值为 -3.0 ( )

  116. A:错 B:对

  117. 把int变量数值赋值给double 变量过程中,会进行数值类型转换,这种转换过程称为类型拓宽 ( )

  118. A:对 B:错
    AI参考:答案:B:错。int变量数值赋值给double变量过程中,不会进行数值类型转换,这种转换过程称为类型提升。int类型是基本数据类型,而double类型是浮点数类型,它们之间无法直接转换。需要使用强制类型转换或类型转换运算符来进行转换。因此,这个说法是错误的。'
  119. 假设在原有序列中a和b数值相同,并且a 在b之前,排完序后,a还是在b之前,这样的排序称为不稳定排
    序 ( )

  120. A:错 B:对
    AI参考:答案是B:对。根据题目描述,在原有序列中a和b数值相同,且a在b之前,排完序后a还是在b之前,说明这种排序是不稳定的。'
  121. 搭建JDK环境配置PATH 环境变量是为了让操作系统知Java工具在哪。 ( )

  122. A:错 B:对
    AI参考:答案:B:对。根据题目描述,搭建JDK环境配置PATH环境变量是为了让操作系统知道Java工具的位置,以便在命令行中可以直接使用Java工具。因此,答案为B,即对。A选项错误,因为JDK环境配置不仅仅是为了让操作系统知道Java工具的位置,还包括其他一些配置和设置。'
  123. 自顶向下是 从整体出发,然后逐步细分的思维方式 ( )

  124. A:对 B:错
    AI参考:正确答案是A,自顶向下是从整体出发,然后逐步细分的思维方式。自顶向下的思维方式通常应用于系统开发、问题解决等领域,它是一种由整体到局部的思维方式,先考虑整个系统的整体结构,然后再逐步细化到各个部分,最终解决问题或实现系统。因此,这个说法是正确的。'
  125. null 可以作为java中用户定义的标识符 ( )

  126. A:对 B:错
    AI参考:正确答案是B:错。在Java中,标识符必须以字母、下划线(_)或美元符号($)开头,并且不能是Java关键字的一部分。而null是一个关键字,不能作为用户定义的标识符使用。因此,答案为B。'
  127. switch 语句中的break 语句的作用不大,可以删除 ( )

  128. A:错 B:对
    AI参考:答案:A。解释:在 switch 语句中,break 语句的作用主要是用于跳出 switch 语句,结束本次循环。但在大多数情况下,如果没有使用 break 语句,程序也会执行到下一个 case 分支的末尾。这是因为如果所有 case 都未执行到 break 语句,且又没有使用 fall through 的机制(默认 break 是从 switch 内部不包括 last case 的最后跳出),那么下一个 case 将会从当前位置继续执行。因此,在 switch 语句中,break 语句的作用并不大,可以删除。所以本题答案是 A。'

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