黑马程序员技术交流社区

标题: 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