Hello,大家好。周末已經結束了,不知道大家這兩天過得怎麼樣?有為轉入IT行業而努力學習嗎?如果你不趕時間,完全可以跟著我的文章慢慢地學習,不管做什麼事都沒有捷徑可言,日積月累更容易成功。
說回我們上次布置的作業,大家應該都能讀懂那份代碼。除了一個地方,那就是這個符號:&&
&&
在生活中,比如你打算要和朋友出去玩,他問你什麼時候,怎麼回答?
A:周末;
B:星期六或者星期天;
C:周末有事,別的時候吧!
我們如果以星期六和星期天來翻譯一下這三種情況,那就是:和、或、非。
也就是星期六和星期天、星期六或星期天、非星期六和星期天!
在Java裡面,我們習慣將「和」稱為「與」,即與、或、非。
但是Java是外國人發明的,外國人肯定不會說與或非,那麼我們怎麼在編程語言裡面用這三個條件呢?
很簡單,與對應的就是&&,或對應的就是||,非對應的就是!。
與或非
只要按住Shift鍵,再按這幾個鍵位,就可以打出來了!記得一定要切成英文模式!
比如定義一個變數x:
如果要求x > 0 並且 x < 2,那就是x > 0 && x < 2;
如果要求x > 0 或者 x < 2,那就是x > 0 || x < 2;
如果要求x > 0,一種是正著寫,x > 0;另外一種就是反著寫!(x ≤ 0),意思就是對x小於等於0取反,就變成了x > 0。
為什麼要加個括弧呢,如果你直接寫成!x ≤ 0,那就變成了先對x進行取反,再用它來和0進行比較!
這三個符號,在Java中我們就稱之為邏輯運算符!被邏輯運算符操作過後的結果,只有兩種,真或者假!
比如一個數大於零 && 一個數小於零,可能成立嗎?永遠不可能,所以這個運算結束之後,就會返回一個假。
真和假在Java裡面叫做布爾值,對應的是true和false。
true
false
還記得我們在上篇文章中提到過數據類型這一概念嗎?我們自己能想出幾種數據類型呢?
比如年齡,這是一種整型對不對,總不會有人今年17.9歲吧!
剛剛我們才提到的,真或者假,這叫做布爾類型。
我今天考了59.5分,這在數學裡面叫做小數,在計算機裡面我們稱它為浮點數!
還有嗎?如果沒有了,那麼我問你,英文的abc,中文的你好,在計算機裡面怎麼存放?
沒錯,這裡還有一種類型,叫做字元類型!
到這裡為止,世界上所有的東西我們都可以把它存放在計算機內了!但是還不夠,不夠什麼?
不夠細!
要知道,計算機的內存是有限的,在古代,人們為了能夠讓計算機儘可能地多做點事,那可謂是絞盡腦汁,想方設法減少內存的開銷。
雖然隨著我們科技的發展,內存已經能夠變得非常的大並且還便宜,比如現在隨便一個U盤都是幾十上百G起步還只要十幾二十塊。想當年,我買了一個1G的u盤,可是都花了將近一百塊!
然而儘管如此,內存還是存在一個屏障!目前人類能夠碰到的任何東西都有一個限制,比如地球很大,但是它也是有極限的,它就那麼點大!
計算機一樣,你就想做個1 + 1,結果要佔用它全部的內存,這合理嗎?
所以針對於整數,我們做了一定的劃分:
byte:只能存放-128到127之間的數字
short:只能存放-32768到32767之間的數字
int:只能存放-2147483648到2147483647之間的數字,大概就是負的21億到正的21億
long:相當大,大約是922京,京是什麼概念?京是一萬個兆,兆是一萬個億,你基本可以理解為可以存放任意數字!
針對浮點數,也有兩個劃分,具體也只是精度的不同,比如double類型的數字可以比float類型的數字更長,小數點更多:
float:單精度
double:雙精度
一般情況下,對於現在計算機來說,它們的內存已經不那麼吃緊,所以我們最常用的也只剩下int、long、double。並且浮點數這種類型是相當不實用的,存在精度問題,理應被淘汰,在後面我們會講另外一個東西,叫做是Decimal。
大家在日常編碼過程中應當禁止使用float或者double。
剩下的字元類型和布爾類型就沒有什麼細分,分別是char和boolean。其中字元型的值,必須以英文的單引號包括,布爾類型的值只能是true或false!
下面我們直接在代碼裡面聲明
基本數據類型
這8種類型,在Java裡面就叫做八大基本數據類型。細心的朋友會注意到,我在float的後面加了個f,這是什麼意思呢?
這是指定數字的類型,我們不是講過整數有4種類型,小數有兩種類型嗎。那麼我們直接聲明一個1.0,計算機怎麼知道它是單精度float還是雙精度double呢?
計算機真的很笨,許多東西都需要我們給它指名道姓。在Java裡面,如果你聲明一個整數,它默認就是int類型,如果是一個小數,則默認是double類型!
如果想要自己指定它的類型,就要在數字後面顯式地跟上類型標記,Java支持以下三種標記:
double f = 1.0D; float e = 1.0F;long d = 4L;
也就是D、F、L,當然也可以用小寫d、f、l。但是小寫的L和1很難區分,所以如果你真的要用,就建議使用大寫!
至於char類型,在引號內我們只支持一個字元,也就是說,如果你寫成char g = 'abcd',這就會直接報錯!需要注意的是,一個中文也是一個字元,比如char g = '你',是沒有問題的。
那麼我們就是想要存abcd呢?Java為你提供了另外一個類型,叫做字元串類型String。
String類型的值,要用英文的雙引號來包括,比如String g = "abcd"。
結語
最近一段時間加班比較頻繁,更完文章都快4點了,希望大家多多支持一下,如果有問題,也歡迎提出來。
話說程序員這行雖說工資比其他行業高,但是真的算下來其實還是蠻苦的。不過前幾天人社部和最高法院聯合發布了十件超時加班勞動人事爭議典型案例,明確996和007的工作制度是違法的。
這個事件一發酵,想必各個公司都會或多或少地收斂一下。至少來說加班有調休和有工資要二選一,這樣的話,對大部分求職者來說也算是一種福音。
其實這也算是運氣,有的人可能一入行就進到一個完全不加班,每天準點打卡的公司。有的人可能不管跳多少次槽,都碰不到這種福利,比如說我!