会持续更新…
a*=b+=8+9+3为何
类似栈,其压栈的顺序是a、*= 、b 、+= 、8+9+3;故计算的顺序就是出栈的顺序。如设a=2,b=0则计算顺序为先算8+9+3等于20,再与b相加赋值给b,最后b与a相乘再赋值给a,故结果为40【东软笔试】下面输出
public class Main {
private int i=getValue();//第a行
private int j = 10;
public static void main(String[] args){
System.out.print(new Main().i);//第b行
}
int getValue(){
return j;
}
}
输出:
A 第a行编译错误
B 第b行编译错误
C 输出:10
D 输出:0
解析: 静态先加载,故选D
- String s5 = new String(“Hello World”);创建了几个对象?
可能两个也可能一个,这取决于常量池是否已存在此字符串。java运行时数据区包含后方法区、虚拟机栈、本地方法(native)栈、堆、程序计数器,在hotspot中,方法栈和虚拟机栈合二为一。运行时常量池就是方法区的一部分。方法区里有已被虚拟机加载的类信息、常量、静态变量。此String new使,肯定有新的对象产生,但也会有