黑马程序员技术交流社区
标题:
java 变量初始化
[打印本页]
作者:
914360849
时间:
2015-5-24 11:06
标题:
java 变量初始化
1. 变量
Java语言中,有两种变量:原始类型变量和引用类型变量。
在方法内定义的变量被称为局部(local)变量,有时也作为自动(automatic)、临时(temporary)或栈(stack)变量使用。在方法外定义的变量是在使用 new Xxxx()调用构造一个对象时被创建。在构造一个对象时,可创建两种变量:一是类变量,它是用static关键字来声明的,只要需要对象,类变量就存在;二是实例变量,它不需要用static关键字来声明,只要对象呗当做引用,实例变量就将存在。实例变量有时也被用作成员变量,因为它们是类的成员。
2. 变量初始化
在Java程序中,任何变量都必须初始化后才能被使用。
在Java里一切都被视为对象,但操纵的标识符实际上是一个对象的一个“引用”。引用可以单独存在,不与一个对象关联。
如:
String sname;
在这里所创建的只是一个引用,并不是对象。此时 sname 没有与任何事物相关联。因此,安全的做法是创建一个引用的同时进行初始化。如:
String sname = “阿尔维斯”;
这里用到了Java语言的一个特性,那就是字符串可以用带引号的文本初始化。
一旦创建了一个引用,就希望它能与一个新的对象相连接。通常用 new 关键字来实现这一目的。 new 关键字的意思是“给我一个新对象”。如:
String sname = new String("阿尔维斯");
这里的语句创建了两个对象:一个是 "xyz",一个是指向 "xyz" 的引用对象 s。
基本数据类型: 基本类型 默认值
boolean false
char '\u0000' (null)
byte (byte) 0
short (short) 0
int 0
long 0L
float 0.0f
double 0.0d
当变量作为一个类的成员使用时,Java才确保给定其默认值,以确保哪些是基本类型的成员变量得到初始化(C++没有此功能),防止产生错误。如果在某个方法中有这样定义:
int x;
那么变量 x 的值可能是任意值(与C/C++一样),而不会自动初始化为零。Java会在此时返回一个错误(C++会给予警告)。
3. 运算符
运算符指明操作数所进行的运算。按功能来分:
(1)算术运算符 +,-,*,/,%,++,--
(2)关系运算符 >,<,>=,<=,==,!=
(3)布尔逻辑运算符 !,&&,||
(4)位运算符 >>,<<,>>>,&,|,^,~
(5)赋值运算符 =,及其扩展赋值运算符如+=
(6)条件运算符 ?:
注:-7%2 结果是-1 7%-2 结果是1
当 byte、short和char类型参与算术运算时,首先会将它们转换为 int 类型。将求余运算%应用到浮点值。如 20.4%5.3 的结果是 4.5 。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2