复制
收藏
提问
全网

class Test{ private static int j = 0; private static Boolean methodB(int k){ j+=k; return true; } private static void methodA(int i) { Boolean b; b = i < 10 | methodB(4); b = i < 10 || methodB(8); } public static void main(String[] args) { methodA(0); System.out.println(j); } } A.0 B. 4 C. 8 D. 12 E. 不能编译通过

83aebc147
3个月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题class Test{ private static int j = 0; private static Boolean methodB(int k){ j+=k; return true; } private static void methodA(int i) { Boolean b; b = i < 10 | methodB(4); b = i < 10 || methodB(8); } public static void main(String[] args) { methodA(0); System.out.println(j); } } A.0 B. 4 C. 8 D. 12 E. 不能编译通过

已完成理解class Test{ private static int j = 0; private static Boolean methodB(int k){ j+=k; return true; } private static void methodA(int i) { Boolean b; b = i < 10 | methodB(4); b = i < 10 || methodB(8); } public static void main(String[] args) { methodA(0); System.out.println(j); } } A.0 B. 4 C. 8 D. 12 E. 不能编译通过

展开阅读网页

代码分析

  • 静态变量j:初始值为0,由方法methodB修改。
  • 方法methodB:接收一个整数参数,增加到静态变量j上,并返回true
  • 方法methodA:接收一个整数参数,使用位运算符|和逻辑运算符||,但存在逻辑错误。
  • main方法:调用methodA并打印j的值。

代码问题

  • 方法methodB:应返回boolean类型,但使用了Boolean类型,这在Java中是两个不同的类型。
  • 方法methodA:逻辑运算符||的使用是正确的,但位运算符|的使用是错误的,因为methodB返回的是boolean类型,不能与整数进行位运算。

代码修正

class Test{
    private static int j = 0;
    private static boolean methodB(int k){
        j+=k;
        return true;
    }

    private static void methodA(int i) {
        boolean b;
        b = i < 10 || methodB(4);
        b = i < 10 || methodB(8); // 这里应该使用逻辑运算符,而不是赋值
    }

    public static void main(String[] args) {
        methodA(0);
        System.out.println(j);
    }
}

答案

D. 1245

更专业一些
转笔记
专业
class Test{ private static int j = 0; private static Boolean methodB(int k){ j+=k; return true; } private static void methodA(int i) { Boolean b; b = i < 10 | methodB(4); b = i < 10 || methodB(8); } public static void main(String[] args) { methodA(0); System.out.println(j); } } A.0 B. 4 C. 8 D. 12 E. 不能编译通过
不在提醒

更专业内容正在努力生成中
知识树
class Test{ private static int j = 0; private static Boolean methodB(int k){ j+=k; return true; } private static void methodA(int i) { Boolean b; b = i < 10 | methodB(4); b = i < 10 || methodB(8); } public static void main(String[] args) { methodA(0); System.out.println(j); } } A.0 B. 4 C. 8 D. 12 E. 不能编译通过
Java短路逻辑运算符如何工作?
Java中方法调用的返回值是什么?
Java静态变量的作用是什么?
在线客服