Java中的變量
一械姻、變量類(lèi)型
- 局部變量:方法和語(yǔ)句塊內(nèi)定義的變量柒啤。(必須初始化后使用)
- 成員變量:方法外部,類(lèi)的內(nèi)部定義的變量龄砰。
- 類(lèi)變量:static修飾的成員變量盟猖,屬于類(lèi)本身。
- 實(shí)例變量:未被static修飾的的成員變量换棚,屬于該類(lèi)的實(shí)例式镐。
注意:
- 同一JVM中,每個(gè)類(lèi)只對(duì)應(yīng)一個(gè)Class對(duì)象固蚤,每個(gè)類(lèi)可以創(chuàng)建多個(gè)Java對(duì)象娘汞。
- 類(lèi)變量只占JVM的一份空間,實(shí)例變量則根據(jù)實(shí)例的數(shù)量而定夕玩。
二你弦、數(shù)據(jù)類(lèi)型
數(shù)據(jù)類(lèi)型分為:
基本數(shù)據(jù)類(lèi)型
和引用數(shù)據(jù)類(lèi)型
基本數(shù)據(jù)類(lèi)型:數(shù)值類(lèi)型(整型:byte、short燎孟、int失息、long抖韩;浮點(diǎn)型:float藤树、double)形耗、字符類(lèi)型(char)、布爾類(lèi)型(boolean)
引用數(shù)據(jù)類(lèi)型:類(lèi)(class)碍沐、接口(interface)狸捅、數(shù)組(array)
基本數(shù)據(jù)類(lèi)型默認(rèn)值和大小:
數(shù)據(jù)類(lèi)型 | 默認(rèn)值 | 位數(shù) | 最小值 | 最大值 |
---|---|---|---|---|
byte | 0 | 8 | -128(-2^7) | 127(2^7-1) |
short | 0 | 16 | -32768(-2^15) | -32768(-2^15) |
int | 0 | 32 | -2,147,483,648(-2^31) | 2,147,483,647(2^31 - 1) |
long | 0L | 64 | -9,223,372,036,854,775,808(-2^63) | 9,223,372,036,854,775,807(2^63 -1) |
float | 0.0f | 32 | ||
double | 0.0d | 64 | ||
char | 'u0000' | 16 | \u0000(即為0) | \uffff(即為65,535) |
boolean | false | 8 |
三累提、Java數(shù)據(jù)類(lèi)型的內(nèi)存分析
- 基本數(shù)據(jù)類(lèi)型:通過(guò)名字進(jìn)行操作
- 例如
int i = 10;
尘喝,在內(nèi)存中只分配一個(gè)空間,名字是i斋陪,里面的值為10朽褪,只要通過(guò)名字i就能訪問(wèn)其值。
- 例如
- 引用數(shù)據(jù)類(lèi)型:通過(guò)對(duì)數(shù)據(jù)的地址引用進(jìn)行操作
- 引用類(lèi)型數(shù)據(jù)占兩塊內(nèi)存无虚,引用變量占一塊缔赠,new出來(lái)的對(duì)象占一塊內(nèi)存。
-
String s;
友题,只占一塊內(nèi)存嗤堰,未指向?qū)ο蟆?/li> -
String s = new String("Hello World!");
,占兩塊內(nèi)存度宦。
四踢匣、Java中變量使用需要注意
-
局部變量
聲明后必須要賦值以后才能使用告匠。 -
成員變量
聲明后可以不賦值,系統(tǒng)有默認(rèn)值离唬。 - 基本類(lèi)型數(shù)據(jù)只占用內(nèi)存中的一塊內(nèi)存后专。
-
引用類(lèi)型
占用的是兩塊內(nèi)存,根據(jù)引用變量
就可以在堆內(nèi)存
中找到它指向的對(duì)象输莺。