HelloWorld程序一般用來輔助我們判斷自己環(huán)境有沒有配置好,如果HelloWorld能運(yùn)行,就說明我們Java環(huán)境是好的,就可以專心編程和調(diào)試了。下面,Java培訓(xùn)機(jī)構(gòu)的小編來給大家說一說,Java程序的變量和數(shù)據(jù)類型。
編程躲不開的一個(gè)概念就是變量。
什么是變量呢?顧名思義,就是變化的量,這個(gè)概念起源于*數(shù)學(xué)的代數(shù),比如方程式中的x和y都是變量,x是自變量,y是因變量,如果基于一定的規(guī)則,只要給定一個(gè)x的值,就一定能得到y(tǒng)的值。
y=x+1
這就非常契合我們編程的場(chǎng)景了,給一個(gè)輸入,跑一下程序,就能得到一個(gè)確定的輸出。至于輸出什么樣的值,取決于這個(gè)程序要實(shí)現(xiàn)的功能以及給定輸入的值。
我們回過頭來看下剛才那個(gè)方程式y(tǒng)=x+1,如果沒有限定的話,x其實(shí)可以是整數(shù),也可以是小數(shù),還可以是字符串??墒侨绻莻€(gè)字符串,就無法按數(shù)學(xué)規(guī)則進(jìn)行運(yùn)算了。所以即便是方程式的場(chǎng)景,一般也會(huì)約定變量的一個(gè)類型,比如x是個(gè)整數(shù)。
同樣的,反映到Java里,Java是一種靜態(tài)類型語言,這意味著每個(gè)變量和每個(gè)表達(dá)式在編譯時(shí)就需要知道類型。如果我們想定義一個(gè)變量x,就需要指定一下它的類型,以便能夠通過編譯以及進(jìn)行后續(xù)的運(yùn)算。
這也是Java變量的一個(gè)原則:先定義后使用,定義必須指定數(shù)據(jù)類型。
比如較小的整數(shù)可以用bytenum;表示。變量也可以做賦值操作,比如num=10;就把10這個(gè)整數(shù)賦值給了num這個(gè)變量。另外,變量也支持傳遞,比如bytenum2=num;就是把num的值傳遞給了num2。
在計(jì)算機(jī)上,CPU負(fù)責(zé)計(jì)算,內(nèi)存負(fù)責(zé)存儲(chǔ)待計(jì)算的數(shù)據(jù),內(nèi)存的基本單位是byte(字節(jié))。一個(gè)字節(jié)是8bit(位),也就是一個(gè)字節(jié)能容納二進(jìn)制00000000~11111111所有的數(shù)字。
我們的程序也是字節(jié)維度使用內(nèi)存,而內(nèi)存空間是有限的,就需要有指標(biāo)能衡量待存儲(chǔ)的數(shù)據(jù)大小,以避免內(nèi)存超限而引起程序崩潰。
因此,程序運(yùn)行的時(shí)候,需要告訴內(nèi)存,我要申請(qǐng)多大的內(nèi)存空間,也就是圖里面會(huì)用多少個(gè)小方塊,其次是我存的值是什么,也就是圖里面小方塊里的值。我們的變量num就是申請(qǐng)了一個(gè)字節(jié)的空間,然后存了數(shù)字10。
那么如果num要用的值超過了一個(gè)字節(jié)的限度,我們其實(shí)就無法使用byte這個(gè)數(shù)據(jù)類型了,就需要定義一種新的數(shù)據(jù)類型來支撐,好在Java已經(jīng)幫我們做好了這件事!