国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java 變量

2019-11-18 14:40:09
字體:
來源:轉載
供稿:網友


變量是java 程序的一個基本存儲單元。變量由一個標識符,類型及一個可選初始值的組合定義。此外,所有的變量都有一個作用域,定義變量的可見性,生存期。接下來討論變量的這些元素。

3.8.1 聲明一個變量
在Java 中,所有的變量必須先聲明再使用。基本的變量聲明方法如下:type identifier [ = value][,identifier [= value] ...] ;

type 是Java 的基本類型之一,或類及接口類型的名字(類和接口類型在本書第1部分的后部討論)。標識符(identifier )是變量的名字,指定一個等號和一個值來初始化變量。請記住初始化表達式必須產生與指定的變量類型一樣(或兼容)的變量。聲明指定類型的多個變量時,使用逗號將各變量分開。

以下是幾個各種變量聲明的例子。注重有一些包括了初始化。

int a, b, c; // declares three ints, a, b, and c.int d = 3, e, f = 5; // declares three more ints, initializing // d and f.byte z = 22; // initializes z.
double pi = 3.14159; // declares an apPRoximation of pi.char x = 'x'; // the variable x has the value 'x'.

你選擇的標識符名稱沒有任何表明它們類型的東西。許多讀者記得FORTRAN 預先規定從I到N的所有標識符都為整型,其他的標識符為實型。Java 答應任何合法的標識符具有任何它們聲明的類型。

3.8.2 動態初始化
盡管前面的例子僅將字面量作為其初始值,Java 也答應在變量聲明時使用任何有效的表達式來動態地初始化變量。

例如,下面的短程序在給定直角三角形兩個直角邊長度的情況下,求其斜邊長度。

// Demonstrate dynamic initialization.
class DynInit {
public static void main(String args[]) {
double a = 3.0, b = 4.0;

// c is dynamically initialized

double c = Math.sqrt(a * a + b * b);

System.out.println("Hypotenuse is " + c);
}
}

這里,定義了3個局部變量a,b,c。前兩個變量a和b初始化為常量。然而直角三角形的斜邊c被動態地初始化(使用勾股定理)。該程序用了Java 另外一個內置的方法sqrt(),它是Math類的一個成員,計算它的參數的平方根。這里要害的一點是初始化表達式可以使用任何有效的元素,包括方法調用、其他變量或字面量。

3.8.3 變量的作用域和生存期
到目前為止,我們使用的所有變量都是在方法main() 的后面被聲明。然而,Java 答應變量在任何程序塊內被聲明。在第2章中已解釋過了,程序塊被包括在一對大括號中。一個程序塊定義了一個作用域(scope )。這樣,你每次開始一個新塊,你就創建了一個新的作用域。你可能從先前的編程經驗知道,一個作用域決定了哪些對象對程序的其他部分是可見的,它也決定了這些對象的生存期。

大多數其他計算機語言定義了兩大類作用域:全局和局部。然而,這些傳統型的作用域不適合Java 的嚴格的面向對象的模型。當然將一個變量定義為全局變量是可行的,但這是例外而不是規則。在Java 中2個主要的作用域是通過類和方法定義的。盡管類的作用域和方法的作用域的區別有點人為劃定。因為類的作用域有若干獨特的特點和屬性,而且這些特點和屬性不能應用到方法定義的作用域,這些差別還是很有意義的。因為有差別,類(以及在其內定義的變量)的作用域將被推遲到第6章當討論類時再來討論。到現在為止,我們將僅僅考慮由方法或在一個方法內定義的作用域。

方法定義的作用域以它的左大括號開始。但是,假如該方法有參數,那么它們也被包括在該方法的作用域中。本書在第5章將進一步討論參數,因此,現在可認為它們與方法中其他變量的作用域一樣。

作為一個通用規則,在一個作用域中定義的變量對于該作用域外的程序是不可見(即訪問)的。因此,當你在一個作用域中定義一個變量時,你就將該變量局部化并且保護它不被非授權訪問和/或修改。實際上,作用域規則為封裝提供了基礎。

作用域可以進行嵌套。例如每次當你創建一個程序塊,你就創建了一個新的嵌套的作用域。這樣,外面的作用域包含內部的作用域。這意味著外部作用域定義的對象對于內部作用域中的程序是可見的。但是,反過來就是錯誤的。內部作用域定義的對象對于外部是不可見的。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 渭源县| 辉县市| 长岛县| 宁晋县| 图们市| 玛纳斯县| 武乡县| 集贤县| 贵定县| 九江市| 习水县| 晋宁县| 合水县| 玉田县| 如东县| 深水埗区| 台湾省| 宣恩县| 新密市| 永修县| 库伦旗| 西乡县| 宜兴市| 蒲城县| 襄樊市| 卢湾区| 绵阳市| 酉阳| 遂溪县| 罗城| 武川县| 泰安市| 临沂市| 溧阳市| 探索| 凤冈县| 无极县| 东安县| 乌鲁木齐市| 赤城县| 乐清市|