网站域名到期怎么续费,建电影网站程序,全国十大数字展馆设计公司,温州排名推广题目
选自牛客网
1.下列关于Java中类的构造方法的描述#xff0c;正确的是#xff08;#xff09;
A.构造方法的返回类型为void B.可以定义一个类而在代码中不写构造方法。 C.在同一个类中定义的重载构造方法不可以相互调用。 D.子类不允许调用父类的构造方法。 正确答案…题目
选自牛客网
1.下列关于Java中类的构造方法的描述正确的是
A.构造方法的返回类型为void B.可以定义一个类而在代码中不写构造方法。 C.在同一个类中定义的重载构造方法不可以相互调用。 D.子类不允许调用父类的构造方法。 正确答案B 。 A. 构造方法的返回类型为 void —— 这是错误的。构造方法实际上没有返回类型它的名称与类名相同并且不返回任何值。你不能像普通函数那样给构造方法指定返回类型。 B. 可以定义一个类而在代码中不写构造方法 —— 这是正确的。如果你没有显式地定义构造方法Java 编译器会自动为类生成一个默认的无参构造方法。这个默认构造方法没有任何操作。 C. 在同一个类中定义的重载构造方法不可以相互调用 —— 这是错误的。在同一个类中你可以使用 this 关键字在一个构造方法中调用另一个构造方法但必须作为第一条语句。 D. 子类不允许调用父类的构造方法 —— 这也是错误的。子类可以通过 super 关键字调用父类的构造方法并且通常需要在子类构造方法的第一条语句中进行调用如果子类构造方法没有显式调用父类的构造方法则默认会调用父类的无参数构造方法。 2.执行下面的程序段语句3的执行次数为其中n1
for (i 0; i n-1; i) // (1) for (j n; j i; j– // (2) state; // (3)
A.n(n2)/2 B.(n-1)(n2)/2 C.n(n1)/2 D.(n-1)(n2) 正确答案C 为了确定语句3的执行次数我们需要分析这两个嵌套循环的工作原理。 外部循环第1行从0到(n-1)迭代总共迭代(n)次。 内部循环第2行对于每次外部循环的迭代其迭代次数不同。当外部循环变量(i)取不同的值时内部循环的起始点和终止点也不同。具体来说 当(i0)时内部循环从(jn)迭代到(j1)共迭代(n)次。当(i1)时内部循环从(jn)迭代到(j2)共迭代((n-1))次。…当(in-1)时内部循环只迭代一次即(jn)。 内部循环对于每个(i)值的迭代次数形成一个等差数列(n, n-1, n-2, …, 1)。我们需要计算这个数列的总和这将给出语句3的执行次数。 这对应于选项 C (n(n1)/2)。 3.java中关于继承的描述正确的是
A.一个子类只能继承一个父类 B.子类可以继承父类的构造方法 C.继承具有传递性 D.父类一般具有通用性子类更具体 正确答案ACD 在Java中关于继承的描述正确的是 A. 一个子类只能继承一个父类 —— 这个说法是正确的。Java 不支持多重继承这意味着一个类只能继承一个父类。 B. 子类可以继承父类的构造方法 —— 这个说法是不正确的。子类不会直接继承父类的构造方法。子类可以通过 super 关键字来调用父类的构造方法但这不是继承构造方法的行为。 C. 继承具有传递性 —— 这个说法是正确的。如果类 C 继承自类 B而类 B 继承自类 A那么类 C 间接地继承了类 A 的特性这就体现了继承的传递性。 D. 父类一般具有通用性子类更具体 —— 这个说法是正确的。通常情况下父类提供了一组通用的功能和属性而子类则扩展或细化这些功能使之更加具体化。 4.在Java线程状态转换时下列转换不可能发生的有
A.初始态-运行态 B.就绪态-运行态 C.阻塞态-运行态 D.运行态-就绪态 正确答案AC 在Java中线程的状态转换遵循一定的规则。线程的生命周期中包含五种状态初始态、就绪态、运行态、阻塞态、死亡状态。 A. 初始态 - 运行态 —— 这个转换是不可能直接发生的。线程从初始态即刚刚创建但尚未启动的状态变为运行态中间需要经过就绪态。也就是说当线程被创建并调用 start() 方法后线程进入就绪态等待CPU分配时间片开始执行此时线程才可能进入运行态。 B. 就绪态 - 运行态 —— 这个转换是可能发生的。当线程处于就绪态时它等待CPU调度一旦获得CPU时间片就可以进入运行态。 C. 阻塞态 - 运行态 —— 这个转换是不可能直接发生的。当线程从阻塞态恢复时它应该先回到就绪态然后再由操作系统调度进入运行态。因此从阻塞态直接跳转到运行态是不符合线程状态转换规则的。 D. 运行态 - 就绪态 —— 这个转换是可能发生的。当线程正在运行时如果它的时间片用尽或主动让出CPU如遇到 yield()方法它会从运行态变为就绪态等待下一次被调度。 5.以下代码执行的结果显示是多少
public class Demo{public static void main(String[] args){System.out.print(getNumber(0));System.out.print(getNumber(1));System.out.print(getNumber(2));System.out.print(getNumber(4));}public static int getNumber(int num){try{int result 2 / num;return result;}catch (Exception exception){return 0;}finally{if(num 0){return -1;}if(num 1){return 1;}}}
}A.0110 B.-1110 C.0211 D.-1211 正确答案B public static int getNumber(int num){try{int result 2 / num;return result;}catch (Exception exception){return 0;}finally{if(num 0){return -1;}if(num 1){return 1;}} }对于不同的 num 值我们来分析 getNumber 方法的行为 当 num 0 时 在 try 块中尝试执行 2 / num 会导致除以零异常因此会触发 catch 块。catch 块返回 0。finally 块中有一个针对 num 0 的条件判断会覆盖 catch 块中的返回值返回 -1。 当 num 1 时 在 try 块中2 / num 的结果是 2。return result 返回 2。finally 块中有一个针对 num 1 的条件判断会覆盖 try 块中的返回值返回 1。 当 num 2 时 在 try 块中2 / num 的结果是 1。return result 返回 1。finally 块中没有匹配的条件因此返回值不变仍然是 1。 当 num 4 时 在 try 块中2 / num 的结果是 0。return result 返回 0。finally 块中没有匹配的条件因此返回值不变仍然是 0。 综上所述当分别调用 getNumber(0)、getNumber(1)、getNumber(2) 和getNumber(4) 时返回值分别为 -1、1、1 和 0。 因此程序的输出结果是 -1110。 正确答案是 B. -1110。