qq_万恶的菜刀_0
2017-09-25 17:05
这个sum前面为什么必须加int?直接写成sum=a+b为什么不行
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!
这里呢,是这样的,a,b,sum 是三个变量,你要用他们进行加减运算,就要分别申明,int a;int b;int sum;或者 int a,b,sum; 计算机会给他们分配相应大小的空间。然后给a,b赋值,值就会放到空间里。sum = a+b;先a+b得到一个值,然后把这个值放到sum的空间 表示sum值为多少。你不分别申明,值就没地方放。
在编译器里面因为你不声明他编译器事先是无法知道到底预留多大的空间给你。例如在java虚拟机里面,你事先声明了int sum;在没有给变量赋值之前,虚拟机预先不给你空间,但是会预留一个4个字节长度。但是你一旦创建就会有sum指向这个内存区域。
在这里sum是一个变量,用于存储a+b的结果,在变量使用之前必须要对变量进行申明,而int的作用就是申明变量
因为sum也是个变量,定义变量当然要给它个类型,不然怎么把a+b赋值给它
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题