Java变量与常量
在程序執(zhí)行過(guò)程中,其值不能被改變的量稱為常量,其值能被改變的量稱為變量。變量與常量的命名都必須使用合法的標(biāo)識(shí)符。
一.標(biāo)識(shí)符和關(guān)鍵字
1.標(biāo)識(shí)符:標(biāo)識(shí)符可以簡(jiǎn)單地理解為一個(gè)名字,用來(lái)標(biāo)識(shí)類名、變量名、方法名、數(shù)組名、文件名的有效字符序列。Java語(yǔ)言規(guī)定標(biāo)識(shí)符由任意順序的字母、下劃線(_)、美元符號(hào)($)和數(shù)字組成,并且第一個(gè)字符不能是數(shù)字。標(biāo)識(shí)符不能是Java中的保留關(guān)鍵字。
下面是合法標(biāo)識(shí)符:
name
user_age
$page
下面是非法標(biāo)識(shí)符:
4word
String
User name
在Java語(yǔ)言匯總標(biāo)識(shí)符中的字母是嚴(yán)格區(qū)分大小寫的,如good和Good是不同的兩個(gè)標(biāo)識(shí)符。Java語(yǔ)言使用unicode標(biāo)準(zhǔn)字符集,最多可以標(biāo)識(shí)65535個(gè)字符,因此,Java語(yǔ)言中的字母不僅包括通常的拉丁文字a、b、c等,還包括漢字、日文以及其他許多語(yǔ)言中的文字。
2.關(guān)鍵字:關(guān)鍵字是Java語(yǔ)言中已經(jīng)被賦予特定意義的一些單詞,不可以把這些字作為標(biāo)識(shí)符來(lái)使用。下面是Java中絕大多數(shù)的關(guān)鍵字:
byte、short、int、long、float、double、char、boolean(基本數(shù)據(jù)類型 8種)
public、protected、private、final、static、void(修飾符 6種)
if、else、switch、case、break、default、return、do、while、try、catch、finally、throw、throws、for、continue、goto(語(yǔ)句 17種)
package、import、class、interface、extends、abstract、implements、this、super、new(聲明、構(gòu)造? ?10種)
instanceof、synchronized、volatile、transient、strictfp、(不常用 5種)
二.聲明變量
變量的使用是程序設(shè)計(jì)中一個(gè)十分重要的環(huán)節(jié)。定義變量就是要告訴編譯器這個(gè)變量的數(shù)據(jù)類型,這樣編譯器才知道需要配置多少空間給它,以及它能存放什么樣的數(shù)據(jù)。在程序運(yùn)行過(guò)程中,空間內(nèi)的值是變化的,這個(gè)內(nèi)存空間就稱為變量。為了便于操作,給這個(gè)空間取個(gè)名字,稱為變量名。變量的命名必須是合法的標(biāo)識(shí)符。內(nèi)存空間內(nèi)的值就是變量值。在聲明變量時(shí)可以是沒有賦值,也可以是賦給初值。
聲明變量代碼:
int age;//聲明int型變量char char1 = 'r';//聲明char型變量并賦值對(duì)于變量的命名并不是任意的,應(yīng)遵循以下幾條規(guī)則:
1.變量名必須是一個(gè)有效的標(biāo)識(shí)符
2.變量名不可以使用Java中的關(guān)鍵字
3.變量名不可重復(fù)
4.應(yīng)選擇有意義的單詞作為變量名
三.聲明常量
在程序運(yùn)行過(guò)程中一直不會(huì)改變的量稱為常量(constant),通常也被稱作“final變量”。常量在整個(gè)程序中只能被復(fù)制一次。再為所有的對(duì)象共享值時(shí),常量是非常有用的。
在Java語(yǔ)言中聲明一個(gè)常量,除了要指定數(shù)據(jù)類型外,還需要通過(guò)final關(guān)鍵字進(jìn)行限定。聲明常量的標(biāo)準(zhǔn)語(yǔ)法如下:
final 數(shù)據(jù)類型 常量名稱;
常量名通常使用大寫字母,但這并不是必需的。很多Java程序員使用大寫字母表示常量,是為了清楚地表明正在使用常量。
聲明常量,代碼如下:
final double PI = 3.1415926D;//聲明double型常量并賦值final boolean BOOL = true;//聲明boolean型常量并賦值當(dāng)定義的final變量屬于“成員變量”時(shí),必須在定義時(shí)就設(shè)定它的初值,否則將會(huì)產(chǎn)生編譯錯(cuò)誤。
四.變量的有效范圍
由于變量被定義出來(lái)后只是暫存在內(nèi)存中,等到程序執(zhí)行到某一個(gè)點(diǎn),該變量會(huì)被釋放掉,也就是說(shuō)變量有它的生命周期。因此,變量的有效范圍是指程序代碼能夠訪問(wèn)該變量的區(qū)域,若超出該區(qū)域,則在編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。在程序中,一般會(huì)根據(jù)變量的“有效范圍”將變量分為“成員變量”和“局部變量”。
1.成員變量:在類體中定義的變量成為成員變量,成員變量在整個(gè)類中都有效。類的成員變量又可分為兩種,即靜態(tài)變量和實(shí)例變量。
聲明靜態(tài)變量和實(shí)例變量的代碼如下:
int x=45;static int y=90;其中,x為實(shí)例變量,y為靜態(tài)變量(也成類變量)。如果在成員變量的類型前面加上關(guān)鍵字static,這樣的成員變量成為靜態(tài)變量。靜態(tài)變量的有效范圍可以跨類,甚至可達(dá)到整個(gè)應(yīng)用程序之內(nèi)。對(duì)于靜態(tài)變量,除了能在定義它的類內(nèi)存取,還能直接以“類名.靜態(tài)變量”的方式在其他類內(nèi)使用。
2.局部變量:在類的方法體中定義的變量(方法內(nèi)部定義,“{”與“}”直降的代碼中聲明的變量)成為局部變量。局部變量只在當(dāng)前代碼塊中有效。
在類的方法中聲明的變量,包括方法的參數(shù),都屬于局部變量。局部變量只在當(dāng)前定義的方法內(nèi)有效,不能用于類的其他方法中。局部變量的生命周期取決于方法,當(dāng)方法被調(diào)用時(shí),Java虛擬機(jī)為方法中的局部變量分配內(nèi)存空間,當(dāng)該方法的調(diào)用結(jié)束后,則會(huì)釋放方法中局部變量占用的內(nèi)存空間,局部變量也將會(huì)銷毀。
局部變量可與成員變量的名字相同,此時(shí)成員變量將被隱藏,即這個(gè)成員變量在此方法中暫時(shí)失效。代碼示例:
package com.it.cast.cn;public class Val {static int times = 3;public static void main(String[] args) {int times = 4;System.out.println("times的值為: "+times);} }?
?
總結(jié)
- 上一篇: 印度、韩国、日本、菲律宾分别位于中国的哪
- 下一篇: Android 的简介和体系结构中每个层