閑聊Java編程入門四:常用類型

歡迎訪問我的博客,同步更新: 楓山別院

基于Java 8

類型是什么牺蹄,從哪里來的

從這節(jié)開始忘伞,我們就正式進(jìn)入編程語(yǔ)言的學(xué)習(xí)了。

我先提個(gè)問題考一下大家:

1 + 1 = 沙兰?

這個(gè)非常簡(jiǎn)單氓奈,在計(jì)算正確的情況下,不出意外應(yīng)該是等于2.幼兒園的小朋友在沒看過那個(gè)小品的情況下鼎天,基本都能算對(duì)舀奶。

那么,請(qǐng)問:

A + B = 斋射?

也許是AB育勺?或者BA?或者123嗎罗岖?

可以說涧至,沒有人知道等于什么。英文字母不能做加法計(jì)算桑包,所以沒有結(jié)果化借,這是常識(shí)。

人類世界的常識(shí)在計(jì)算機(jī)世界也是有效的捡多。人類都不知道等于什么,計(jì)算機(jī)這個(gè)榆木腦袋更不可能知道了铐炫。

不同的東西運(yùn)算規(guī)則不一樣垒手,為了區(qū)分什么樣的內(nèi)容能做運(yùn)算,我們就有了類型這個(gè)概念倒信。

123科贬,321,這種,我們叫做數(shù)字的榜掌,可以做加減乘除等各種數(shù)學(xué)運(yùn)算优妙。

A,B憎账,C套硼,這種的,是字母胞皱,不能做加減乘除等數(shù)學(xué)運(yùn)算邪意。

我們?nèi)祟惖臄?shù)字,在計(jì)算機(jī)中反砌,叫做整數(shù)類型雾鬼,簡(jiǎn)稱整型。

小數(shù)類型對(duì)于計(jì)算機(jī)來說宴树,比123這種整型要復(fù)雜一點(diǎn)策菜,所以它有個(gè)單獨(dú)的類型,叫做浮點(diǎn)類型酒贬。在有的編程語(yǔ)言中也不區(qū)分又憨,整數(shù)和小數(shù)是同一種類型,但是Java是一種嚴(yán)謹(jǐn)?shù)恼Z(yǔ)言同衣,它是區(qū)分的竟块。

浮點(diǎn)這個(gè)名字很奇怪,詞不達(dá)意耐齐。這是因?yàn)橥鈬?guó)人先發(fā)明了計(jì)算機(jī)浪秘,他們有了優(yōu)先命名權(quán),這些奇怪的詞語(yǔ)都是直接從英文翻譯過來的埠况,我們覺得不能理解很正常的耸携,只要知道它表示小數(shù)就可以了,不用深究辕翰,這種詞語(yǔ)還有很多夺衍。

那么字母這些,也有一個(gè)類型喜命,叫做字符類型沟沙。這個(gè)好理解吧?

現(xiàn)在我們有了理論支持壁榕,我們就知道了矛紫,什么能計(jì)算,什么不能計(jì)算牌里。
我們給計(jì)算機(jī)定義好了這些規(guī)則颊咬,計(jì)算機(jī)就可以按照規(guī)則,計(jì)算我們給出的算式。

實(shí)踐一下整型計(jì)算

我們?cè)诰W(wǎng)頁(yè)中打開運(yùn)行代碼的網(wǎng)站喳篇,我們以后以w3cschool這個(gè)網(wǎng)站為例敞临。

打開之后,可以在黑框中看到如下代碼:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

有很多內(nèi)容麸澜,我們目前還沒有學(xué)習(xí)挺尿,沒有關(guān)系,學(xué)習(xí)的初級(jí)階段就是照貓畫虎痰憎。

其實(shí)我們關(guān)注的重點(diǎn)就是這一句代碼而已:

System.out.println("Hello, World!");

這句代碼的意思就是票髓,把Hello, World!顯示在屏幕上。

那么我現(xiàn)在想讓計(jì)算機(jī)幫我計(jì)算一下1+1這個(gè)難題铣耘。應(yīng)該如何寫呢洽沟?
其他的地方不要?jiǎng)樱覀冃薷南吕ㄌ?hào)里面的內(nèi)容蜗细,照貓畫虎如下:

System.out.println(1 + 1);

請(qǐng)大家注意:必須一個(gè)字不差的跟上面一樣裆操,因?yàn)橛?jì)算機(jī)是個(gè)榆木腦袋,任何一次字母或者符號(hào)錯(cuò)了炉媒,它就不認(rèn)識(shí)了踪区。

1 + 1 這個(gè)算式,為了美觀吊骤,我在+號(hào)的兩邊添加了空格缎岗,當(dāng)然你也可以這么寫 1+1

寫完之后,點(diǎn)擊運(yùn)行代碼白粉,看看結(jié)果是什么传泊。

結(jié)果是2,如果你跟我一樣鸭巴,那么你的第一個(gè)程序就運(yùn)行成功了眷细,恭喜。

你可以改成其他的試試鹃祖,比如123 + 321 或者 321 - 100
看看計(jì)算結(jié)果對(duì)不對(duì)溪椎。

字符類型

在上面我們已經(jīng)試過整型的計(jì)算了。

那么恬口,字符如何操作呢校读?

我們討論過了,字符是跟數(shù)字不一樣的類型祖能,計(jì)算機(jī)這個(gè)榆木腦袋地熄,是區(qū)分不出來A 和 1的明顯差別的,如果你直接寫一個(gè)A給計(jì)算機(jī)芯杀,它會(huì)報(bào)告一個(gè)錯(cuò)誤給你,不認(rèn)識(shí)A這個(gè)符號(hào)。揭厚。却特。。筛圆。裂明。

唔。太援。闽晦。。提岔。仙蛉。這是個(gè)問題,假如你是當(dāng)年發(fā)明計(jì)算機(jī)的科學(xué)家碱蒙,你如何解決呢荠瘪?

最好是跟數(shù)字的書寫方法不一樣,計(jì)算機(jī)就能認(rèn)識(shí)了赛惩。

于是哀墓,他們發(fā)明了字符的書寫方法。很簡(jiǎn)單喷兼,用單引號(hào)來包裹住字符就可以了篮绰。

像這樣:

'A'

這么寫,計(jì)算機(jī)就能認(rèn)識(shí)了季惯,哦吠各。。用單引號(hào)來裹住的星瘾,是個(gè)字符走孽。

實(shí)踐一下字符類型

同樣的,我們?cè)诰W(wǎng)頁(yè)中修改代碼琳状,照貓畫虎如下:

System.out.println('A');

然后運(yùn)行一下代碼看看磕瓷,如果你看到顯示了A,那么就是成功了念逞。計(jì)算機(jī)認(rèn)識(shí)我們輸入的A困食,并且給我們顯示了出來。

如果你的沒有成功顯示A翎承,那么檢查一下是否跟上面一樣硕盹。

初學(xué)者常犯的錯(cuò)誤就是,忘記了區(qū)分中文和英文的逗號(hào)引號(hào)分號(hào)叨咖。因?yàn)橛?jì)算機(jī)是外國(guó)人發(fā)明的瘩例,所以他們都是用的英文的符號(hào)啊胶,不是中文的。

逗號(hào)和引號(hào)在中文輸入法和英文輸入法中垛贤,是不一樣的焰坪。

我在上面用的單引號(hào)是',而不是中文的單引號(hào)聘惦,這兩個(gè)符號(hào)是有細(xì)微區(qū)別的某饰,中文的有一點(diǎn)傾斜。

英文的逗號(hào)是, 中文的逗號(hào)是善绎,這兩個(gè)比較難區(qū)分黔漂,中文的要精致一些,英文的就是個(gè)小撇禀酱。

英文的分號(hào)是;炬守,中文的分號(hào)是比勉,也不太一樣劳较,中文的要小一些。

所以在寫代碼的時(shí)候浩聋,我們都是直接切換到英文輸入法观蜗。

目前在沒有在專用的編輯器中寫代碼,只能靠大家自己的眼力了衣洁,后面我們會(huì)使用專業(yè)的編輯器墓捻,它們可以提示我們符號(hào)寫錯(cuò)了。

如果你實(shí)在分不清單引號(hào)坊夫,那也沒有關(guān)系砖第,字符類型其實(shí)我們平時(shí)用的很少。但是逗號(hào)和分號(hào)是用的很多的环凿。

多個(gè)字符

單個(gè)字符的我們已經(jīng)學(xué)會(huì)了梧兼,單引號(hào)表示。我現(xiàn)在不想用字符了智听,我要寫單詞羽杰,我要寫個(gè)Love

應(yīng)該怎么表示到推?

'Love'這樣寫嗎?

這種寫法在有些編程語(yǔ)言中是可以的考赛,但是!Java是個(gè)嚴(yán)謹(jǐn)?shù)木幊陶Z(yǔ)言莉测,單個(gè)字符跟多個(gè)字符還是有差別的嘛颜骤。

那么,多個(gè)字符就用雙引號(hào)好了捣卤,順理成章吧忍抽?

多個(gè)字符組成一個(gè)串八孝,名字就叫字符串好了。我們就有了字符串類型鸠项,用來表示多個(gè)字符唆阿。

像這樣:

"Love"

同樣的道理,我想顯示一句話:I Love You !

就這樣:


"I Love You !"

我們已經(jīng)跟計(jì)算機(jī)約定好锈锤,雙引號(hào)包裹住的內(nèi)容,是文字內(nèi)容闲询,我們可以寫一句話久免,或者一封表白信。

但是也有個(gè)問題扭弧,左右兩個(gè)雙引號(hào)只能在同一行阎姥,計(jì)算機(jī)才能認(rèn)為兩個(gè)雙引號(hào)是一對(duì)的,真是有點(diǎn)榆木腦袋鸽捻。

像這樣是不行的:

"I Love 
You !"

這樣就是左右兩個(gè)雙引號(hào)不在同一行中呼巴,計(jì)算機(jī)會(huì)不認(rèn)識(shí)。

實(shí)踐一下字符串類型

像這樣照貓畫虎改一下:

System.out.println("I Love You !");

運(yùn)行一下御蒲,是不是顯示出來了呢衣赶?

如果沒有,再檢查一下是否一樣厚满,有沒有忘了使用英文的引號(hào)府瞄。

顯示中文也是可以的

System.out.println("我愛你!");

我們似乎還忘了一種簡(jiǎn)單的計(jì)算

小學(xué)課程里,除了加減乘除碘箍,好像還有大于和小于的比較遵馆。
如果我在代碼里輸入如下的代碼,會(huì)顯示什么呢丰榴?

System.out.println(3 > 2);

3 > 2货邓,說了一句大實(shí)話。請(qǐng)執(zhí)行一下看看四濒。

我的計(jì)算機(jī)告訴我换况,結(jié)果是true。如果你跟我一樣峻黍,那么我們就發(fā)現(xiàn)了一個(gè)新大陸复隆。

那么如果是這樣呢?

System.out.println(3 < 2);

這時(shí)候計(jì)算機(jī)告訴我姆涩,結(jié)果是false挽拂。

我們知道,在英文中骨饿,true的意思是符合事實(shí)的亏栈,真實(shí)的台腥,真的。 false的意思是假的绒北,錯(cuò)誤的黎侈。

那么,我們?cè)谟?jì)算3 > 2的時(shí)候闷游,計(jì)算機(jī)其實(shí)是想告訴我們峻汉,這是真的,正確的脐往。3 < 2的時(shí)候休吠,告訴我們,這是錯(cuò)誤的业簿,假的瘤礁。

看來,計(jì)算機(jī)還能做一些比較大小的計(jì)算梅尤,可以告訴我們結(jié)果是不是正確的柜思。如果是正確的,就告訴我們true巷燥,錯(cuò)誤的就告訴我們false赡盘。

那么,我們推斷矾湃,肯定計(jì)算機(jī)是認(rèn)識(shí)truefalse兩個(gè)詞的亡脑。

是的,這兩個(gè)詞也是對(duì)應(yīng)一個(gè)類型的邀跃,叫做布爾類型霉咨,英文是boolean。這個(gè)類型僅有這兩個(gè)值拍屑,對(duì)計(jì)算機(jī)來說途戒,不是對(duì)的,就是錯(cuò)的僵驰,它是榆木腦袋喷斋,理解不了其他的。又是一個(gè)奇怪的名字蒜茴,不要深究星爪,因?yàn)槲腋闪诉@么多年,到現(xiàn)在也不知道為什么粉私,只知道是英文翻譯來的顽腾。

實(shí)驗(yàn)

之前我們?cè)谏厦嬲f,A和B是不能相加的诺核,除非我們約定一種計(jì)算規(guī)則抄肖。
請(qǐng)自己嘗試一下久信,我們是否跟計(jì)算機(jī)有關(guān)于字符相加的約定規(guī)則,計(jì)算結(jié)果是什么呢漓摩?

System.out.println('A' + 'B');

如果是小寫的a和b呢裙士?

System.out.println('a' + 'b');

再如果是字符串呢?能相加嗎管毙?

試一試看:

System.out.println("hello" + "Java");

如果是減法呢腿椎?

System.out.println('A' - 'B');

如果我們比較兩個(gè)字母的大小呢?

System.out.println('A' > 'B');

請(qǐng)大家嘗試一下夭咬。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末邻辉,一起剝皮案震驚了整個(gè)濱河市岗憋,隨后出現(xiàn)的幾起案子涌韩,更是在濱河造成了極大的恐慌爬早,老刑警劉巖咖驮,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件边器,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡托修,警方通過查閱死者的電腦和手機(jī)忘巧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來睦刃,“玉大人砚嘴,你說我怎么就攤上這事∩荆” “怎么了际长?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)兴泥。 經(jīng)常有香客問我工育,道長(zhǎng),這世上最難降的妖魔是什么搓彻? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任如绸,我火速辦了婚禮,結(jié)果婚禮上旭贬,老公的妹妹穿的比我還像新娘怔接。我一直安慰自己,他們只是感情好稀轨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布扼脐。 她就那樣靜靜地躺著,像睡著了一般靶端。 火紅的嫁衣襯著肌膚如雪谎势。 梳的紋絲不亂的頭發(fā)上凛膏,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天,我揣著相機(jī)與錄音脏榆,去河邊找鬼猖毫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛须喂,可吹牛的內(nèi)容都是我干的吁断。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坞生,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼仔役!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起是己,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤又兵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后卒废,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沛厨,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年摔认,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逆皮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡参袱,死狀恐怖电谣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抹蚀,我是刑警寧澤剿牺,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站环壤,受9級(jí)特大地震影響牢贸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镐捧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一潜索、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧懂酱,春花似錦竹习、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春泌辫,著一層夾襖步出監(jiān)牢的瞬間随夸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工震放, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宾毒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓殿遂,卻偏偏與公主長(zhǎng)得像诈铛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子墨礁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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