Java中数据的声明,各种不同方式的声明和赋值的区别?

Stringa;a="张三";Stringa="";a="张三";Stringa=null;a="张三";Stringa="张三";以上四种的区别或是int类型的intb... String a;
a ="张三" ;

String a ="";
a ="张三";

String a =null;
a ="张三";

String a = "张三";

以上四种的区别

或是int 类型的
int b ;
b =1;

int b=0;
b= 89;

int b = 89;
以上三种的区别。。 均为Java中的声明和赋值的区别?
1 楼的回答不是正确的 。我测试过。。但是答案并不是很知道区别。。忘高手指导
展开
 我来答
我今天上课了
2010-08-23 · TA获得超过1410个赞
知道小有建树答主
回答量:844
采纳率:0%
帮助的人:676万
展开全部
String:
1是定义变量,但没有初始化,就是内存中还没开辟一段存放对象(字符串对象)a;
第3中,初始对象为null空值,再赋值;

而2和4在定义是就初始化了,其中2先初始化为“”空字符串,即使a里放的是指向“”的地址,同理4是指向“张三”的。2在初始化后又重新赋值,也指向“张三”,此时“”对象就不被引用,系统会根据垃圾回收机制确定何时回收该对象内存。并且“张三”是同一个对象,hashcode一样。

对于int等8中基本数据类型,存放的是值不是地址;
3种方式差别不大,它们的复制就是直接改的自己存放的值,只是第一个开始没初始化

注意String是对象,不是基本数据类型
Jseven_jy
2010-08-21 · TA获得超过8122个赞
知道大有可为答主
回答量:2499
采纳率:100%
帮助的人:1136万
展开全部
String a;//定义一个String引用a
a ="张三" ;//为a引用赋值

String a ="";//定义一个String引用a并初始为""
a ="张三";//为a引用赋值

String a =null;//定义一个String引用并初始为null
a ="张三";//为a赋值

String a = "张三";定义一个String 引用并初始为"张三"

int b ;
b =1;

int b=0;
b= 89;

int b = 89;

跟String一样..定义与赋值..
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ll_0924
2010-08-22 · 超过25用户采纳过TA的回答
知道答主
回答量:161
采纳率:0%
帮助的人:82万
展开全部
String a;和String a =null只创建了一个String Object;
String a ="";和String a = "张三";创建了两个
但是它们都有相同的hash code;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Google干掉摆渡
2010-08-21 · TA获得超过580个赞
知道答主
回答量:121
采纳率:0%
帮助的人:153万
展开全部
基本上都是一样的,只是编程风格的不同而已。

不用关心他们的区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式