课程
/后端开发
/Java
/Java入门第一季(IDEA工具)升级版
这个sum前面为什么必须加int?直接写成sum=a+b为什么不行
2017-09-25
源自:Java入门第一季(IDEA工具)升级版 3-1
正在回答
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的作用就是申明变量
qq_万恶的菜刀_0 提问者
amok 回复 qq_万恶的菜刀_0 提问者
慕先生6569582 回复 qq_万恶的菜刀_0 提问者
摘星楼主 回复 qq_万恶的菜刀_0 提问者
因为sum也是个变量,定义变量当然要给它个类型,不然怎么把a+b赋值给它
举报
0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始
4 回答int a=5 int b=a++ 输出为什么a=6 b=5
2 回答int sum
4 回答int sum=(int)age1+(int)age2+(int)age3+(int)age4;这个为什么不要这样写啊 前面怎么不加int
1 回答为什么是int sum 不是double sum
4 回答int age1=24; int age2=18; int age3=36; int age4=27; int sum=age1+age2+age3+age4; double avg=sum/4;