还是概念不清楚,望牛人路过此处一解!

fpwcs 2008-03-05 03:37:44
 int a;
  a=0; 和  int a=0;有区别吗?

   还有那a是变量呢还是对象啊?
...全文
217 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenghongx 2008-03-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 healer_kx 的回复:]
有区别,而且区别相当本质。
第一个称为初始化,第二个称为赋值。

。。。 。。。
并非无理取闹,这个区别在于此处。
[/Quote]
同意~~变量声明初始化~~赋值~~
nevgip 2008-03-05
  • 打赏
  • 举报
回复
应该是不同的意思,不过a肯定是变量
Spencer1987 2008-03-05
  • 打赏
  • 举报
回复
无论是
int a;
a=0;

还是 int a=0;

都是一样的.只不过前者是先声明变量,然后在赋值.
后者是声明变量后,直接赋值.
zapdos 2008-03-05
  • 打赏
  • 举报
回复
public class test{
public static void main(String args[]){
int j;
int i=4;
//System.out.println(i); 未初始化j
}
}

0: iconst_4
1: istore_2 //直接放入2号位了
2: return

so...
fpwcs 2008-03-05
  • 打赏
  • 举报
回复
上面的是什么意思?

不懂呵呵,
wks5211314 2008-03-05
  • 打赏
  • 举报
回复
int 就是定义变量的` 所以 a就是变量啊!`
zapdos 2008-03-05
  • 打赏
  • 举报
回复
这样看会清楚一点:
public class test{
public static void main(String args[]){
int j;
int i=4;
}
}

C:\java>javap -c test
Compiled from "test.java"
public class test extends java.lang.Object{
public test();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return

public static void main(java.lang.String[]);
Code:
0: iconst_4
1: istore_2
2: return

}
约翰羊 2008-03-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 healer_kx 的回复:]
有区别,而且区别相当本质。
第一个称为初始化,第二个称为赋值。

。。。 。。。
并非无理取闹,这个区别在于此处。


to:火龙果,
这种东西不可以字节码作为判断的。是不是初始化是语法层面的,字节码是实现层面的。
有时候实现上采用了同样的实现方式,但是确未必是同一种东西。


[/Quote]
O....我有印象,在哪本书里也是这么写的
  • 打赏
  • 举报
回复
healer_kx 2008-03-05
  • 打赏
  • 举报
回复
有区别,而且区别相当本质。
第一个称为初始化,第二个称为赋值。

。。。 。。。
并非无理取闹,这个区别在于此处。


to:火龙果,
这种东西不可以字节码作为判断的。是不是初始化是语法层面的,字节码是实现层面的。
有时候实现上采用了同样的实现方式,但是确未必是同一种东西。

sunjiyun2007 2008-03-05
  • 打赏
  • 举报
回复
都是变量
  • 打赏
  • 举报
回复
a是仅有的八个基本类型之一,怎么会是对象呢。
int a;
a = 0;

的虚拟机指令:

0: iconst_0
1: istore_1
2: return

而 int a = 0; 的指令为:

0: iconst_0
1: istore_1
2: return

看到了吧,一点区别都没有,只不过后者把两句变成了一句。
zapdos 2008-03-05
  • 打赏
  • 举报
回复
目前看起来暂时还没有什么区别
但是一般定义类变量用前一个(会初始化为默认值)
在方法内定义变量用后一个(若没有手工初始化,那在域内使用会说你还没有初始化变量)
a是一个引用
约翰羊 2008-03-05
  • 打赏
  • 举报
回复
Integer a;
a才是对象吧?
dxlove 2008-03-05
  • 打赏
  • 举报
回复
要看我把a放在那里咯!

如果搞成成员变量的时候 两种都可以啦

如果搞成局部变量的时候 前面的那种就不可以了

paradoxchao 2008-03-05
  • 打赏
  • 举报
回复
没区别,a是变量。
yami251139 2008-03-05
  • 打赏
  • 举报
回复
int a;對象
a=0;變量
int a=0;對象
大概哦。。。概念完全忘記光了
- -|、下

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧