基本类变量的java算术运算
找不到对正在发生的事情的明确描述,所以我想我会把这件事告诉社区
public class Temp {
static int i;
int j;
int sum = i+j;
}
public class Main{
public static void main(String[] args){
Temp obj = new Temp();
obj.i = 1;
obj.j = 2;
System.out.println(obj.sum); //returns '0'
}}
“sum”变量是空的,是因为在实例化期间整数i和j都是空的吗
提前谢谢
# 1 楼答案
这里,数据成员
i
、j
和sum
被初始化为0注意,Temp对象
obj
的数据成员sum
的值仍然是0
要生成
sum = i + j
,需要在初始化i
和j
时将其初始化为i + j
只需编写
obj.setSum()
方法来设置sum
的值,然后obj.getSum()
来检索更新后的值# 2 楼答案
当您创建另一个将由main方法使用的类时
数字数据字段设置为零
字符字段设置为Unicode
\u0000
布尔字段设置为
false
作为对象引用的字段被设置为
null
或(空),例如String data fields
# 3 楼答案
是的,当对象被实例化时,
i+j
被分配给“sum”。默认情况下,当您不赋值时,java会将0赋值给int
值您需要通过直接为
sum
变量赋值来更新它解决方法是在Temp类中创建一个getter方法,而不是变量
sum
:然后要打印总数: