为了账号安全,请及时绑定邮箱和手机立即绑定

int a=1;int b=2;求sum=a+b时为什么sum前必须加int

这个sum前面为什么必须加int?直接写成sum=a+b为什么不行

正在回答

5 回答

public class Demo3 {


public static void main(String[] args) {

int a=1;

int b=2;

int sum;

sum= a + b;

System.out.println(sum);


}


}

可以的,运行结果也是3!

0 回复 有任何疑惑可以回复我~

这里呢,是这样的,a,b,sum 是三个变量,你要用他们进行加减运算,就要分别申明,int a;int b;int sum;或者 int a,b,sum; 计算机会给他们分配相应大小的空间。然后给a,b赋值,值就会放到空间里。sum = a+b;先a+b得到一个值,然后把这个值放到sum的空间 表示sum值为多少。你不分别申明,值就没地方放。

0 回复 有任何疑惑可以回复我~

在编译器里面因为你不声明他编译器事先是无法知道到底预留多大的空间给你。例如在java虚拟机里面,你事先声明了int sum;在没有给变量赋值之前,虚拟机预先不给你空间,但是会预留一个4个字节长度。但是你一旦创建就会有sum指向这个内存区域。

0 回复 有任何疑惑可以回复我~

在这里sum是一个变量,用于存储a+b的结果,在变量使用之前必须要对变量进行申明,而int的作用就是申明变量

0 回复 有任何疑惑可以回复我~
#1

qq_万恶的菜刀_0 提问者

那我先int sum 然后再运行sum=a+b为什么不行呢
2017-09-25 回复 有任何疑惑可以回复我~
#2

amok 回复 qq_万恶的菜刀_0 提问者

整个代码粘出来
2017-09-25 回复 有任何疑惑可以回复我~
#3

慕先生6569582 回复 qq_万恶的菜刀_0 提问者

我觉得应该是先对sum变量作初始化才能做相关运算。 新手勿喷!!!
2017-09-25 回复 有任何疑惑可以回复我~
#4

摘星楼主 回复 qq_万恶的菜刀_0 提问者

怎么不行?可以的啊,你先int sum;意思是给sum了一个类型,在这同时,sum也初始化了,下一行写上sum=a+b;这个就是赋值了,可以运行的啊,是不是你少写了分号,注意,英文分号。同新手,看看书上写的,了解一下~
2018-05-17 回复 有任何疑惑可以回复我~
查看1条回复

因为sum也是个变量,定义变量当然要给它个类型,不然怎么把a+b赋值给它

1 回复 有任何疑惑可以回复我~
#1

qq_万恶的菜刀_0 提问者

那我先int sum 然后再运行sum=a+b为什么不行呢
2017-09-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

int a=1;int b=2;求sum=a+b时为什么sum前必须加int

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信