在C和C++中,sizeof()運算符能滿足我們的一項特殊需要:獲知為數據項目分配的字符數量。在C和C++中,size()最常見的一種應用就是&l
在我舉辦的一次培訓班中,有人抱怨運算符的優先順序太難記了。一名學生推薦用一句話來幫助記憶:“Ulcer Addicts Really
下面這個例子向大家展示了如何隨同特定的運算符使用主數據類型。從根本上說,它是同一個例子反反復復地執行,只是使用了不同的主數據類型。文件編譯時不會報
if-else語句或許是控制程序流程最基本的形式。其中的else是可選的,所以可按下述兩種形式來使用if:if(布爾表達式)語句或者if(布爾表達
while,do-while和for控制著循環,有時將其劃分為“反復語句”。除非用於控制反復的布爾表達式得到“
do-while的格式如下:do語句while(布爾表達式)while和do-while唯一的區別就是do-while肯定會至少執行一次;也就是說
for循環在第一次反復之前要進行初始化。隨後,它會進行條件測試,而且在每一次反復的時候,進行某種形式的“步進”(Stepp
“開關”(Switch)有時也被劃分為一種“選擇語句”。根據一個整數表達式的值,switch語句可
對於方法的創建,可將其想象成為自己寫的每個類都調用一次initialize()。這個名字提醒我們在使用對象之前,應首先進行這樣的調用。但不幸的是,
在任何程序設計語言中,一項重要的特性就是名字的運用。我們創建一個對象時,會分配到一個保存區域的名字。方法名代表的是一種具體的行動。通過用名字描述自
若方法有同樣的名字,Java怎樣知道我們指的哪一個方法呢?這裡有一個簡單的規則:每個過載的方法都必須采取獨一無二的自變量類型列表。若稍微思考幾秒鐘
主(數據)類型能從一個“較小”的類型自動轉變成一個“較大”的類型。涉及過載問題時,這會稍微造成一些
我們很易對下面這些問題感到迷惑:為什麼只有類名和方法自變量列出?為什麼不根據返回值對方法加以區分?比如對下面這兩個方法來說,雖然它們有同樣的名字和
正如早先指出的那樣,默認構建器是沒有自變量的。它們的作用是創建一個“空對象”。若創建一個沒有構建器的類,則編譯程序會幫我們
如果有兩個同類型的對象,分別叫作a和b,那麼您也許不知道如何為這兩個對象同時調用一個f()方法:class Banana { void f(int
程序員都知道“初始化”的重要性,但通常忘記清除的重要性。畢竟,誰需要來清除一個int呢?但是對於庫來說,用完後簡單地&ld
此時,大家可能已相信了自己應該將finalize()作為一種常規用途的清除方法使用。它有什麼好處呢?要記住的第三個重點是:垃圾收集只跟內存有關!也
為清除一個對象,那個對象的用戶必須在希望進行清除的地點調用一個清除方法。這聽起來似乎很容易做到,但卻與C++“破壞器”的概
Java盡自己的全力保證所有變量都能在使用前得到正確的初始化。若被定義成相對於一個方法的“局部”變量,這一保證就通過編譯期
如果想自己為變量賦予一個初始值,又會發生什麼情況呢?為達到這個目的,一個最直接的做法是在類內部定義變量的同時也為其賦值(注意在C++裡不能這樣做,