黑马程序员技术交流社区

标题: 关于string初始化值 [打印本页]

作者: 黑旋风唔够威    时间: 2016-7-7 11:49
标题: 关于string初始化值
string初始化值是“”,但为什么新建对象的string类型的变量的初始化值是null呢
作者: ImKing    时间: 2016-7-7 12:39
本帖最后由 ImKing 于 2016-7-7 12:41 编辑

(1)首先你应该明白什么是局部变量(方法声明、方法体内部)、成员变量(对象)的相关概念
(2)局部变量需要手动初始化,下面两种方式都可以完成局部变量(str)的初始化,进行输出等操作时,才不会产生异常
  1. String str = "";
  2. String str = null;
复制代码

(3)对象中的有String修饰的属性,由于类属于引用类型,字符串(引用类型)的默认初始化值为null
(4)希望有所帮助 {:2_36:}
作者: 黑旋风唔够威    时间: 2016-7-7 13:36
ImKing 发表于 2016-7-7 12:39
(1)首先你应该明白什么是局部变量(方法声明、方法体内部)、成员变量(对象)的相关概念
(2)局部变量 ...

原来string是类来的。所以属于引用类型。懂了。谢谢啊
作者: ImKing    时间: 2016-7-7 15:03
补充:
(1)如果在定义变量后没有给它们赋初始值,那么java会给于一个默认的初始化值,但只有类的成员变量才被初始化(与对象中的字符串,默认初始化为null对应),而局部变量不会被初始化。
(2)如果没有被初始化的局部变量被操作,java在编译器就会给予错误警告,
(3)如果没有被赋予初值的局部变量,一直没被操作,则编译通过,java不会给予错误警告。

(4)基本数据类型 8 种
byte、short、int、long、float、double、boolean、char
(5)引用数据类型:
数组 类 接口 枚举
作者: 他的好    时间: 2016-7-7 20:10
string是一个对象
作者: gjtdxjd    时间: 2016-7-7 20:14
ImKing 发表于 2016-7-7 15:03
补充:
(1)如果在定义变量后没有给它们赋初始值,那么java会给于一个默认的初始化值,但只有类的成员变量 ...

又复习一次,感谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2