1.变量(variable) 变量是用标识符表示的(拥有名字)用来存储值(拥有内涵)的物体。代码: int X; 就是一个变量声明语句,宣告X是一个int类型的变量。 为了声明一个变量,你必须明确提供这个变量的类型和名称。 变量的类型是用来确定变量可以存储的数据类型和可以对该变量进行的操作。比如上面代码中,X是int类型,即一个整数,只能够把整数赋给这个变量,比如X=0。你也只能对X进行算术运算,比如加、减、乘、除以及取余数等。 Java的变量分为“原始类型(primitive type)”及“引用类型(reference type)”两大类。其中“原始类型”的变量保存的是拥有特定大小和类型的简单数据,比如一个整数、一个字符、一个布尔值(以逻辑学家Geogre Boole命名的变量类型,只有两种值——真或假,属于经典的二值逻辑)等。与“原始类型”不同,“引用类型”是一个参照的概念,指向内存中某个具体对象(的地址)(见图3)(图3+4 左侧为“原始类型”,右侧为“引用类型”,通过对比,我们可以看到它们的不同)。
为什么Java语言中要这么分两种变量类型呢?这是出于对执行效率的考虑。“引用类型”服务于对象,是面向对象的基础设施,用面向对象的方法构架和设计系统很漂亮,但是“引用类型”的执行效率远不及“原始类型”。从而,Java实际上是“原始类型”和“引用类型”结合使用的计算机语言,从这点上讲,Java并非纯粹的面向对象语言。当然,Java提供了与int类型(原始类型)遥相呼应的Java类——Integer类型(引用类型),它们可以互相转换,新版本的Java还提供了自动转换的功能,这是后话了,暂且不提。 Java的原始类型列举如下:
值得一提的是,Java语言明确规定了变量类型的大小,为跨平台铺平道路。 变量名就是变量的名字,你是通过变量名访问实际变量的,所以变量名有严格的规定。在Java中,变量名必须是: ★标识符,即符号开头的字符串。 看起来规矩很多,其实也很合理。比如给小孩起名字,总是以百家姓作为姓氏,如果名字叫做“¥皓”,别人一定认为是开玩笑或者是奇怪的网名。当然,小孩的名字也不能叫做“总统”、“皇帝”之类的关键词,以免引起误会。说到作用域惟一,也很好理解:中国叫做吴宗宪的人太多了,学校里(一个作用域)会用学号惟一标识你的身份,而不会逼迫你改名为吴宗宪2004等。 虽然合法的都能够成为变量名,但给变量起一个有意义的名字,是一个良好的素质,免得阅读代码时,别人看不懂,自己也看不懂。举个例子,给变量起变量名正如起暗号,最好不要起“打死我也不说”这样的暗号,不然,有你好受的…… 最后说说作用域。作用域是指变量在程序内部能够被访问到的区域。比如我们的程序中,变量X在整个main方法中都能够被访问到,非常直观。你可以借助Eclipse的力量体验一下这个概念:如果作用域不对,Eclipse会毫不犹豫地警告你。 定义了变量就能够通过“=”给它赋值,正如程序中所做的。
|
正在阅读:Java咖啡馆(5)——Java语言基础Java咖啡馆(5)——Java语言基础
2005-03-22 10:07
出处:
责任编辑:xietaoming
键盘也能翻页,试试“← →”键