全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
下列关于 Java 中类与对象关系的说法,正确的是: A. 类是对象的模板,对象是类的实例 B. 一个类只能创建一个对象 C. 由同一个类创建的多个对象,其成员变量必须始终相同 D. 对象在类定义之前就可以直接使用
登录后查看答案
有如下声明:int[][] a = new int[2][]; a[0] = new int[3]; a[1] = new int[5]; 则 a.length 与 a[1].length 的值分别是多少? A. 2 和 5 B. 5 和 2 C. 2 和 3 D. 5 和 5
已知 int temp = 32; 执行语句 String msg = (temp >= 35) ? "高温" : (temp >= 30 ? "偏热" : "舒适"); System.out.println(msg); 后,输出的结果是( ) A. 高温 B. 偏热 C. 舒适 D. 编译错误
在 Java 循环语句中,break 与 continue 均可改变循环的执行流程。下列关于二者区别的描述,正确的是( ) A. break 只跳过本次迭代,继续执行下一次循环 B. continue 会立即终止整个循环,转去执行循环后的语句 C. break 会立即终止所在循环,转去执行循环后的语句;continue 只结束本次迭代,进入下一次条件判断 D. 二者作用完全相同,均终止整个循环
下列关于 JDK 与 JRE 关系的描述中,正确的是( ) A. JRE 包含 JDK,JDK 包含 JVM B. JDK 包含 JRE 及编译、调试等开发工具,JRE 包含 JVM 与核心类库 C. JDK 与 JRE 是两个相互独立、互不包含的环境 D. 只需安装 JRE 就能对 Java 源程序进行编译
有如下C程序: #define COL 5 void fill(int b[][COL], int m){ int i, j; for(i=0;i<m;i++) for(j=0;j<COL;j++) b[i][j] = i*COL + j; } int main(){ int a[4][COL]; fill(a, 4); printf("%d", a[3][1]); return 0; } 程序输出为:A. 11 B. 16 C. 15 D. 程序编译错误,因为二维数组作形参不能只写行数而省略列数
某系统需要描述一批图形对象:一方面所有图形都有共同的名称与绘制规则(但具体实现各不相同),另一方面其中部分图形还需支持统一的「可缩放」能力,该能力以方法契约形式定义、并允许不同类各自实现。关于用抽象类还是接口来建模,下列说法正确的是: A. 「图形」这一共同血统应定义为抽象类,「可缩放」能力应定义为接口 B. 「图形」这一共同血统应定义为接口,「可缩放」能力应定义为抽象类 C. 两者都应定义为抽象类,因为抽象类支持多继承 D. 两者都应定义为接口,因为接口可以包含构造器
下列关于 Java 中方法重写与方法重载的表述,正确的是: A. 重写发生在同一个类中,方法名相同但参数列表必须不同 B. 重载发生在子类与父类之间,方法签名必须完全相同 C. 重写在编译期按引用类型静态绑定,重载在运行期按对象动态绑定 D. 重载在编译期按参数列表静态绑定,重写在运行期按实际对象动态绑定
阅读如下代码片段:int[] a = new int[5]; a[0] = 4; a[4] = 9; a[5] = 1; System.out.println(a[4]); 若按顺序执行,其运行结果是( )。注意:数组 a 由 new int[5] 创建,长度为 5。 A. 输出 4 B. 输出 9 C. 输出 1 D. 运行时抛出数组下标越界异常,无任何输出
某 Java 类中,属性 balance 已声明为 private。下列说法正确的是:A. 属性用 private 修饰后即完成封装,外部任何情况下都无法影响其值 B. 封装只需把属性设为 public,即可由类外部自由读写 C. 规范做法是提供公有的 getBalance() 与 setBalance(double b),并在 set 方法中校验 b 合法后再赋值 D. 存取方法必须同时命名为 get 和 set,缺一不可,否则程序编译报错
下列关于 Java 中类与对象关系的说法,正确的是: A. 一个类只能创建一个对象 B. 对象是类的模板,类是对象的实例 C. 由同一个类创建的多个对象,其成员变量相互独立、互不影响 D. 类在创建对象之前就已经拥有了具体的成员变量取值
有如下代码片段: int[][] a = new int[3][]; a[0] = new int[2]; a[1] = new int[4]; a[2] = new int[3]; 执行后,下列哪个访问会抛出 ArrayIndexOutOfBoundsException? A. a[1][3] B. a[2][2] C. a[0][2] D. a[2][0]
有如下声明:int[][] a = new int[3][]; a[0] = new int[4]; a[1] = new int[2]; a[2] = new int[5]; 关于数组 a 的结构,下列说法正确的是: A. a 是一个 3 行 5 列的矩形二维数组,每个元素初值为 0 B. a 是一个长度为 3 的一维数组,每个元素是对另一 int 数组的引用,各行长度可不同 C. 该代码编译报错,因为 Java 的二维数组各行长度必须相同 D. a.length 的值为 11,表示元素总个数
在 Java 八种基本数据类型中,设 s 为 short 与 int 两个字节数之和,p 为 char 与 byte 两个字节数之积,则数值 s+p 恰好等于下列哪种基本数据类型所占的字节数? A. char B. float C. int D. long
某程序中有如下语句:int a = -17 / 5; int b = -17 % 5; int s = a * 10 + b; 请问执行后变量 s 的值是多少? A. -32 B. -28 C. 32 D. -33
某程序中变量 code 的值为 5,执行以下代码后,程序输出的内容是: switch (code) { case 3: System.out.print("甲"); case 5: System.out.print("乙"); case 7: System.out.print("丙"); break; case 9: System.out.print("丁"); } A. 乙 B. 乙丙 C. 乙丙丁 D. 丙丁
已知函数 void swap(int *p,int *q){int *t=p;p=q;q=t;} 在主函数中有 int m=5,n=7; 执行 swap(&m,&n); 后 m、n 的值分别是? A. 7,5 B. 5,7 C. 7,7 D. 5,5
在一次课程实验中,学生甲将编写好的 Java 源文件交给某个工具处理后,磁盘上生成了可由 JVM 直接加载执行的文件。逆向推断:若学生乙拿到的是扩展名为 .class 的文件,则下列关于该文件来历与用途的说法正确的是: A. 它是程序员直接手写的源文件,需经编译器处理后才能被 JVM 执行 B. 它是编译器对源文件编译后生成的字节码文件,可由 JVM 加载执行 C. 它是 JVM 执行源文件时自动生成的临时文档文件 D. 它是编译器执行后产生的可执行机器码文件,可直接在 CPU 上运行而无需 JVM
有以下定义:typedef struct { char id[8]; int score; } Rec; 及语句 Rec a = {"T01", 90}, b = {"T02", 75}, *p = &a; 下列关于结构体使用的说法正确的是:A. 语句 if (a == b) 可直接判断两个结构体变量是否相等 B. p->score 与 (*p).score 的含义相同 C. p.score 可访问成员 score D. b = a; 非法,结构体变量不能整体赋值
已有文件 note.txt,其中原有内容为 "hello"。执行语句 fp = fopen("note.txt", "w"); 之后,下列说法正确的是: A. 打开失败,fp 的值为 NULL B. 文件原有内容 "hello" 被清空,文件以只写方式打开 C. 文件原有内容 "hello" 保留,可在文件末尾追加写入 D. 文件以只读方式打开,只能读取不能写入