新人初次接触Java 还望大神告知 谢谢
package com;
public class Test {
int i1 = 1;
int i2;
public static void main(String[] args){
int i = 3;
Test test = new Test();
System.out.println(i + test.i1 + test.i2);
}
}
为什么int i1 = 1; int i2;要放在前面, 不能和 int i = 3;放在一起 还有答案为什么等于4
答案:3 悬赏:30 手机版
解决时间 2021-04-06 10:10
- 提问者网友:临风不自傲
- 2021-04-05 14:28
最佳答案
- 五星知识达人网友:过活
- 2021-04-05 15:25
package com;
//Test类
public class Test {
int i1 = 1; //类的属性 初始值 = 1 类.属性
int i2; //类的属性 未赋值 类.属性
public static void main(String[] args){
int i = 3; //这是定义在方法内的值
Test test = new Test(); //初始化一个类
System.out.println(i + test.i1 + test.i2); //方法内的值是3,类.属性1 未赋值, 类.属性2 的值是1 所以 3+未赋值+1 =4
}
}
//Test类
public class Test {
int i1 = 1; //类的属性 初始值 = 1 类.属性
int i2; //类的属性 未赋值 类.属性
public static void main(String[] args){
int i = 3; //这是定义在方法内的值
Test test = new Test(); //初始化一个类
System.out.println(i + test.i1 + test.i2); //方法内的值是3,类.属性1 未赋值, 类.属性2 的值是1 所以 3+未赋值+1 =4
}
}
全部回答
- 1楼网友:痴妹与他
- 2021-04-05 16:33
代码不正确
应该是
int main()
{
int i1,i2; //定义
i1=1 i2=2; //由于马上要scanf输入,所以这里的赋值是没什么意义的,可以删除。 留着也不影响结果。
scanf(“%d,%d”,&i1,&i2);//i2也需要加&
printf("%d,%d",i1,i2);//输出输入的值。
}//必须有 main结束的标志。
- 2楼网友:西岸风
- 2021-04-05 16:15
你抄的这个例子其实就是演示变量可以在哪里定义,已经使用范围。
在class里直接定义的称为全局变量,可以在对象直接使用,就是 test.i1,test.i2 。
而定义在方法体里的就是局部变量,只能在方法内使用。 就是 i.
java为了防止代码混乱,建议尽量根据自己的使用范围,定义自己的变量。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯