都有答案,但不知道为什么,大家帮忙解释下!多谢!编译和运行下面代码后显示的结果是( )。
public class Inc{
public static void main(String argv[]){
Inc inc = new Inc();
int i =0;
inc.fermin(i);
i = i++;
System.out.println(i);
}
void fermin(int i){
i++;
}
}
A、编译报错误
B、2
C、1
D、0
解答:D
++++++++++++++++++++++++++++++++++++++++++++
47、下面语句操作的输出结果是( )。
System.out.println(4 | 3);
A、6
B、0
C、1
D、7
解答:D
++++++++++++++++++++++++++++++++++++++++++++++
3、根据下面代码定义:
Integer i = new Integer (42);
Long 1 = new Long (42);
Double d = new Double (42.0);
下列表达式结果为真的有( )。
A、(i ==1)
B、(i == d)
C、(d == 1)
D、(i.equals (d))
E、(d.equals (i))
F、(i.equals (42))
解答:D,E
++++++++++++++++++++++++++++++++++++++++++++++++
9、下列表达式等价的有( )。
A. 3/2
B. 3<2
C. 3*4
D. 3<<2
E. 3*2^2
F. 3<<<2
解答:C,D
++++++++++++++++++++++++++++++++++++++++++++++++
20、根据理解,填充下面代码中第3行的内部类描述,下列选项正确的有( )。
public class OuterClass {
private double d1 = 1.0;
//在此处插入代码
}
A. class InnerOne{
public static double methoda() {return d1;}
}
B. public class InnerOne{
static double methoda() {return d1;}
}
C. private class InnerOne{
double methoda() {return d1;}
}
D. static class InnerOne{
protected double methoda() {return d1;}
}
E. abstract class InnerOne{
public abstract double methoda();
}
解答
C、E谢谢!
public class Inc{
public static void main(String argv[]){
Inc inc = new Inc();
int i =0;
inc.fermin(i);
i = i++;
System.out.println(i);
}
void fermin(int i){
i++;
}
}
A、编译报错误
B、2
C、1
D、0
解答:D
++++++++++++++++++++++++++++++++++++++++++++
47、下面语句操作的输出结果是( )。
System.out.println(4 | 3);
A、6
B、0
C、1
D、7
解答:D
++++++++++++++++++++++++++++++++++++++++++++++
3、根据下面代码定义:
Integer i = new Integer (42);
Long 1 = new Long (42);
Double d = new Double (42.0);
下列表达式结果为真的有( )。
A、(i ==1)
B、(i == d)
C、(d == 1)
D、(i.equals (d))
E、(d.equals (i))
F、(i.equals (42))
解答:D,E
++++++++++++++++++++++++++++++++++++++++++++++++
9、下列表达式等价的有( )。
A. 3/2
B. 3<2
C. 3*4
D. 3<<2
E. 3*2^2
F. 3<<<2
解答:C,D
++++++++++++++++++++++++++++++++++++++++++++++++
20、根据理解,填充下面代码中第3行的内部类描述,下列选项正确的有( )。
public class OuterClass {
private double d1 = 1.0;
//在此处插入代码
}
A. class InnerOne{
public static double methoda() {return d1;}
}
B. public class InnerOne{
static double methoda() {return d1;}
}
C. private class InnerOne{
double methoda() {return d1;}
}
D. static class InnerOne{
protected double methoda() {return d1;}
}
E. abstract class InnerOne{
public abstract double methoda();
}
解答
C、E谢谢!
System.out.println(4 | 3);
A、6
B、0
C、1
D、7
解答:D这个 100或11是111就是7
B. 3<2 3*2
C. 3*4 3*4
D. 3<<2 3*4
E. 3*2^2 6^2 =4
F. 3<<<2 3*8
所以 c d
public static void main(String argv[]){
Inc inc = new Inc();
int i =0;
inc.fermin(i);
i = i++;
System.out.println(i);
}
void fermin(int i){
i++;
}
}
第一题,你画一下内存图就明白了,执行好inc.fermin(i);
这句话后虽然i=1了,但是这里i是一个局部变量啊,运行好inc.fermin(i);后,方法fermin()里的i就没有了呀,所以最后i的值仍为0,然后执行i=i++,语句
这是因为:i++是按如下方式进行处理的:
第一步:t=i;
第二步:i=i+1;
第三步:需要表达式i++的值的地方,用t来代替。
因此:你的代码: i=i++;
其实就是:
t=i; //对应第一步
i=i+1; //对应第二步
i=t; //对应第三步
System.out.println(4 | 3);
A、6
B、0
C、1
D、7
解答:D
按位与运算(&):二元运算符。当被运算的两个值都为1时,运算结果为1;否则为0。
按位或运算(|):二元运算符。当被运算的两个值都为0时,运算结果为0;否则为1。
按位异或运算(^):二元运算符。当被运算的两个值中任意一个为1,另一个为0时,运算结果为1;否则为0。
按位非运算(~):一元运算符。当被运算的值为1时,运算结果为0;当被运算的值为0时,运算结果为1。 这里不像我们看到的逻辑运算符(与运算&&、或运算||、非运算!)操作的是布尔值true或false,或者是一个能产生布尔值的表达式;“按位运算符”所指的“位”就是二进制位,因此它操作的是二进制的0和1。
所以只要把4和3分别转换为8位二进制数,再按位或一下就得到了7
因为其他都使用了 PUBLIC关键字或STATIC关键字 内部类不允许使用这两个关键字。
Long 1 = new Long (42);
Double d = new Double (42.0);
下列表达式结果为真的有( )。
A、(i ==1)
B、(i == d)
C、(d == 1)
D、(i.equals (d))
E、(d.equals (i))
F、(i.equals (42))
解答:D,E
你这道题目有没有去运行看过啊,D,E的返回类型是false呀,只有选项F是真的呀
public static void main(String argv[]){
Inc inc = new Inc();
int i =0;
inc.fermin(i);
i = i++;
System.out.println(i);
}
void fermin(int i){
i++;
}
}
输出结果位:0
执行inc.fermin(i);这句话后虽然i=1了,但是这里i是一个局部变量啊,运行好inc.fermin(i);后,方法fermin()里的i就没有了呀,所以最后i的值仍为0,然后执行i=i++,语句
System.out.println(4 | 3);输出结果位:7
运算过程:
4的二进制是00000100;
3的二进制是00000011;
3和4的二进制按照位相异或即可得到的二进制为:00000111;
而00000111的十进制就是7,所以结果打印出来就是7了
Integer i = new Integer (42);
Long 1 = new Long (42);
Double d = new Double (42.0);
下列表达式结果为真的有( )。
A、(i ==1)
B、(i == d)
C、(d == 1)
D、(i.equals (d))
E、(d.equals (i))
F、(i.equals (42))
解答:D,E
这个题的答案就是F其他都是false;
f答案正确的原因为;因为在-128到+128之间的int 类型和他的包装类型的存储结构是一样的;