Java之?dāng)?shù)據(jù)類型與運(yùn)算符詳解

數(shù)據(jù)類型

1.首先我們介紹一下什么是變量

變量指的是程序運(yùn)行時(shí)可變的量. 相當(dāng)于開(kāi)辟一塊內(nèi)存空間來(lái)保存一些數(shù)據(jù).

類型則是對(duì)變量的種類進(jìn)行了劃分, 不同的類型的變量具有不同的特性.

我們所討論的 "變量" 主要和我們的 "內(nèi)存" 這樣的硬件設(shè)備密切相關(guān).

2.變量的類型

在Java中變量分為整型變量踪蹬、浮點(diǎn)型變量、字符型變量渺蒿、字節(jié)類型變量筐带、布爾類型變量和字符串類型變量。

注Java中String也就是字符串類型寂呛,它是一個(gè)類怎诫,也就是如下圖的引用類型



3.整型變量:

①int

在Java中一個(gè)int占4個(gè)字節(jié),與操作系統(tǒng)無(wú)關(guān)贷痪,不像c語(yǔ)言分32位幻妓,64位等~

基本語(yǔ)法格式:

int 變量名 = 初始值;

代碼示例:

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? int a = 10;

? ? ? ? System.out.println(a);

? ? }

}

運(yùn)行結(jié)果:


注:

1.int 表示變量的類型是一個(gè)整型

2.變量名是變量的標(biāo)識(shí)后續(xù)都是通過(guò)這個(gè)名字來(lái)使用變量

3.Java 中 = 表示賦值(和數(shù)學(xué)不一樣), 意思是給變量設(shè)置一個(gè)初始值

4. 初始化操作是可選的, 但是建議創(chuàng)建變量的時(shí)候都顯式初始化

5. 最后不要忘記分號(hào), 否則會(huì)編譯失敗

我們來(lái)測(cè)一下int的范圍代碼如下:

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? System.out.println(Integer.MAX_VALUE);//int的最大值

? ? ? ? System.out.println(Integer.MIN_VALUE);//int的最小值

? ? }

}

運(yùn)行結(jié)果是

表示int是4個(gè)字節(jié) 4個(gè)字節(jié)的范圍是[-2^31,2^31-1]

②long

long與int對(duì)變量命名規(guī)則類似,Java中l(wèi)ong占8個(gè)字節(jié)劫拢。

long 變量名 = 初始值;//建議數(shù)字最后加上大寫的L或者小寫的l肉津,便于區(qū)分。

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? long a = 10L;

? ? ? ? System.out.println(a);

? ? ? ? System.out.println(Long.MAX_VALUE);//long的最大值

? ? ? ? System.out.println(Long.MIN_VALUE);//long的最小值

? ? }

}

運(yùn)行結(jié)果:

表明long 的范圍是[-2^63,2^63-1]

③short

short占2個(gè)字節(jié)

short 變量名 = 初始值;

4.浮點(diǎn)型變量

①float

基本格式: 單精度浮點(diǎn)型float舱沧,占4個(gè)字節(jié)妹沙。

float 變量名 = 初始值;//建議初始值后加大寫F或小寫f表示這個(gè)數(shù)是一個(gè)單精度浮點(diǎn)型!

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? float a = 10L;

? ? ? ? System.out.println(a);

? ? }

}

運(yùn)行結(jié)果:


②double

基本格式:雙精度浮點(diǎn)型熟吏,占8個(gè)字節(jié)距糖。

double 變量名 = 初始值;

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? double a = 12.5;

? ? ? ? System.out.println(a);

? ? }

}

運(yùn)行結(jié)果:


5.字符型變量

char

char占2個(gè)字節(jié)玄窝!Java中字符都是用Unicode編碼

char 變量名 = 初始值;

代碼示例:

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? char a ='A';

? ? ? ? System.out.println(a);

? ? }

}

運(yùn)行結(jié)果:


6.字節(jié)型變量

byte

byte 變量名 =初始值;

7.布爾類型變量

boolean

boolean 變量名 = 初始值;

注:boolean只有false和true兩個(gè)值!

Java 的 boolean 類型和 int 不能相互轉(zhuǎn)換, 不存在 1 表示 true, 0 表示 false 這樣的用法

8.字符串類型變量

String

串通常是用" "包含悍引;

String 變量名 = 初始值;

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? String name = "zhangsan";

? ? ? ? System.out.println(name);

? ? }

}

Java中可以實(shí)現(xiàn)兩個(gè)字符串"相加",此相加并不是真正的相加,只是將字符串拼接到另一個(gè)字符串的后面恩脂。

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? String name1 = "zhangsan";

? ? ? ? String name2 = "lisi";

? ? ? ? System.out.println(name1+name2);

? ? }

}

運(yùn)算符

1.算術(shù)運(yùn)算符 :+ - * / %

代碼如下:

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? int a=5;

? ? ? ? int b=2;

? ? ? ? System.out.println(a+b);//加法運(yùn)算符結(jié)果是7

? ? ? ? System.out.println(a-b);//減法運(yùn)算符結(jié)果是3

? ? ? ? System.out.println(a*b);//乘法運(yùn)算符結(jié)果是10

? ? ? ? System.out.println(a/b);//除法運(yùn)算符結(jié)果是2

? ? ? ? System.out.println(a%b);//求余運(yùn)算符結(jié)果是1

? ? }

}

注:0不能作為除數(shù)!

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? int a = 5;

? ? ? ? int b = 0;

? ? ? ? System.out.println(a/b);

? ? }

}


會(huì)拋出0不能作為除數(shù)的異常趣斤!

2.增量運(yùn)算符:+= -= *= /= %=

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? int a = 5;

? ? ? ? a+=1;//等價(jià)于a=a+1;此時(shí)a=6俩块;

? ? ? ? System.out.println(a);//6

? ? ? ? a-=1;//等價(jià)于a=a-1;上次執(zhí)行完a+=1時(shí)a已經(jīng)變成了6,這時(shí)執(zhí)行a-=1 a變成了5

? ? ? ? System.out.println(a);//5

? ? ? ? a*=2;//等價(jià)于a=a*2 此時(shí)a=10浓领;

? ? ? ? System.out.println(a);//10

? ? ? ? a/=2;//等價(jià)于a=a/2;此時(shí)a=5;

? ? ? ? System.out.println(a);//5

? ? ? ? a%=2;//等價(jià)于a=a%2;此時(shí)a=1

? ? ? ? System.out.println(a);//1

? ? }

}

3.自增 自減運(yùn)算符 前綴++ 后綴++ 前綴-- 后綴--

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? int a=1;

? ? ? ? int b=a++;//等價(jià)于b=a a=a+1此時(shí)b=1 a=2;

? ? ? ? System.out.println(b);//1

? ? ? ? System.out.println(a);//2

? ? ? ? b=++a;//等價(jià)于a=a+1 b=a 此時(shí)a=3 b=3;

? ? ? ? System.out.println(b);//3

? ? ? ? System.out.println(a);//3

? ? ? ? b=a--;//等價(jià)于b=a a=a-1 此時(shí)b=3 a=2;

? ? ? ? System.out.println(b);//3

? ? ? ? System.out.println(a);//2

? ? ? ? b=--a;//等價(jià)于a=a-1 b=a 此時(shí)a=1 b=1

? ? ? ? System.out.println(b);//1

? ? ? ? System.out.println(a);//

? ? }

}

4.邏輯運(yùn)算符:&&(與) ||(或)? 玉凯!(非)

邏輯運(yùn)算符的操作數(shù)(操作數(shù)往往是關(guān)系運(yùn)算符的結(jié)果)和返回值都是 boolean 也就是說(shuō) 只有2值 true 或 false

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? int a = 10;

? ? ? ? int b =5;

? ? ? ? int c =6;

? ? ? ? System.out.println(a>b&&a>c);//T

? ? ? ? System.out.println(a>b||a>c);//T

? ? ? ? System.out.println(a!=b);//T

? ? ? ? System.out.println();

? ? ? ? System.out.println(a<b&&a>c);//F短路求值,&&運(yùn)算符中一假為假联贩!

? ? ? ? System.out.println(a<b||a>c);//T 或運(yùn)算符中一真為真壮啊!

? ? }

}


短路求值!

結(jié)論: 1. 對(duì)于 && , 如果左側(cè)表達(dá)式值為 比特科技 false, 則表達(dá)式的整體的值一定是 false, 無(wú)需計(jì)算右側(cè)表達(dá)式

2. 對(duì)于 ||, 如果左側(cè)表達(dá)式值為 true, 則表達(dá)式的整體的值一定是 true, 無(wú)需計(jì)算右側(cè)表達(dá)式.

5.位運(yùn)算符

&(按位與) |(按位或)? ~(按位取反) ^(按位異或)

位指二進(jìn)制位

public class TestDemo {

? ? public static void main(String[] args) {

? ? ? ? int a=3;

? ? ? ? int b=4;

? ? ? ? System.out.println(a&b);//0

? ? ? ? System.out.println(a|b);//7

? ? ? ? System.out.println(a^b);//7

? ? ? ? System.out.println(~a);//-4

? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撑蒜,一起剝皮案震驚了整個(gè)濱河市歹啼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌座菠,老刑警劉巖狸眼,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異浴滴,居然都是意外死亡拓萌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門升略,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)微王,“玉大人,你說(shuō)我怎么就攤上這事品嚣】惶龋” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵翰撑,是天一觀的道長(zhǎng)罩旋。 經(jīng)常有香客問(wèn)我,道長(zhǎng)眶诈,這世上最難降的妖魔是什么涨醋? 我笑而不...
    開(kāi)封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮逝撬,結(jié)果婚禮上浴骂,老公的妹妹穿的比我還像新娘。我一直安慰自己宪潮,他們只是感情好溯警,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布趣苏。 她就那樣靜靜地躺著,像睡著了一般愧膀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谣光,一...
    開(kāi)封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天檩淋,我揣著相機(jī)與錄音,去河邊找鬼萄金。 笑死蟀悦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的氧敢。 我是一名探鬼主播日戈,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼孙乖!你這毒婦竟也來(lái)了浙炼?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唯袄,失蹤者是張志新(化名)和其女友劉穎弯屈,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體恋拷,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡资厉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蔬顾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宴偿。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖诀豁,靈堂內(nèi)的尸體忽然破棺而出窄刘,到底是詐尸還是另有隱情,我是刑警寧澤舷胜,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布都哭,位于F島的核電站,受9級(jí)特大地震影響逞带,放射性物質(zhì)發(fā)生泄漏欺矫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一展氓、第九天 我趴在偏房一處隱蔽的房頂上張望穆趴。 院中可真熱鬧,春花似錦遇汞、人聲如沸未妹。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)络它。三九已至族檬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間化戳,已是汗流浹背单料。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留点楼,地道東北人扫尖。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像掠廓,于是被迫代替她去往敵國(guó)和親换怖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容