摘要:局部變量聲明在函數(shù)內(nèi)部的變量。在作用域范圍內(nèi)不能出現(xiàn)命名沖突。
java編程規(guī)范:
1.良好的標(biāo)識(shí)符的命名 保留字不能作為標(biāo)識(shí)符命名: class、public、static..., goto,const 區(qū)分大小寫(xiě):helloWorld、HelloWorld 2.良好的注釋習(xí)慣 3.良好的縮進(jìn):沒(méi)遇到一個(gè)代碼塊縮進(jìn)一次(一個(gè)tab鍵)
變量:代表內(nèi)存中的一個(gè)區(qū)域,區(qū)域可以存值
|--聲明:int helloWorld;//數(shù)據(jù)類(lèi)型 變量名; |--賦值:helloWorld = 100; |--聲明+賦值:int helloWorld = 100; |--值傳遞:int j = i;
8種基本數(shù)據(jù)類(lèi)型:
整型數(shù)字: byte 1個(gè)字節(jié) -128~127 short 2個(gè)字節(jié) -2^15~2^15-1 -32768~32767 short s = 1000;(自動(dòng)將int轉(zhuǎn)為short,但會(huì)進(jìn)行精度的校驗(yàn)) int 4個(gè)字節(jié) -2^31~2^31-1 -2147483648~2147483647 long(長(zhǎng)整型) 8個(gè)字節(jié) -2^63~2^63-1 long l = 1000;(整型字面值默認(rèn)類(lèi)型int) long l = 1000L;(后面跟l或L表示該字面值是long類(lèi)型) 浮點(diǎn)型: float(單精度浮點(diǎn)型) 4個(gè)字節(jié) 存儲(chǔ)格式類(lèi)似于科學(xué)計(jì)數(shù)法,1bit符號(hào)位 8bit指數(shù) 23bit尾數(shù) 1.11 * 2^111 0 0000 0111 11000000... 范圍:1.4E-45~3.4028235E38 float f = 100.01F;(后面跟f或F表示該字面值是float類(lèi)型) float f = 1.0001E2f;//即1.0001*10^2 double(雙精度浮點(diǎn)型) 8個(gè)字節(jié) 范圍:4.9E-324~1.7976931348623157E308 double d = 200.02; 或double d = 200d;(后面跟d或D表示字面值是double類(lèi)型) double d = 2.0002E2;或double d = 2.0002E2D; 字符型: char char c = "A";//賦值單個(gè)字符 char c = "ab";//錯(cuò)誤的 char c = "u0041";//可以使用字符對(duì)應(yīng)的unicode編碼賦值 //1*16^0 + 4*16^1= 65 char c= 65; //可以使用unicode編碼的十進(jìn)制編碼賦值 布爾型: boolean boolean b = true; boolean b= false;
自動(dòng)類(lèi)型提升:
double d = 100 + 100.01; short s = 100; short s2 = s+1;//錯(cuò)誤的 short s1 = 100; short s2 = 200; short s3 = s1 + s2;//錯(cuò)誤的 如果表達(dá)式中存在double類(lèi)型的數(shù)據(jù),則參與運(yùn)算的數(shù)據(jù)都會(huì)自動(dòng)提升為double類(lèi)型; 如果表達(dá)式中存在float類(lèi)型的數(shù)據(jù),則參與運(yùn)算的數(shù)據(jù)都會(huì)自動(dòng)提升為float類(lèi)型; 如果表達(dá)式中存在long類(lèi)型的數(shù)據(jù),則參與運(yùn)算的數(shù)據(jù)都會(huì)自動(dòng)提升為long類(lèi)型; 其余情況,則均自動(dòng)提示為int類(lèi)型;(byte、short、int、char) 注:不能將數(shù)據(jù)類(lèi)型精度大的數(shù)據(jù)賦值給數(shù)據(jù)類(lèi)型精度小的變量。
強(qiáng)制類(lèi)型轉(zhuǎn)換:
short s3 = (short)(s1 + s2);//在需要強(qiáng)制類(lèi)型轉(zhuǎn)換的數(shù)據(jù)前使用 (指定強(qiáng)制轉(zhuǎn)換的類(lèi)型)
//注意:強(qiáng)制類(lèi)型轉(zhuǎn)換的數(shù)據(jù)不要超過(guò)變量數(shù)據(jù)類(lèi)型能夠表示的范圍
對(duì)象類(lèi)型
String String s; s = "a"; s = "abbcdgfghh"; s = "abcd" + "efgh";// "abcdefgh",+可以進(jìn)行字符串的拼接 s = "10" + 20;//1020,字符串和其他類(lèi)型數(shù)據(jù)進(jìn)行加法運(yùn)算都是字符串拼接; s = 10 + 20 + "30";//3030
====================================================================================================================================
轉(zhuǎn)義字符:
char c1 = " ";//換行符 char c2 = " ";//制表符 char c3 = """;//"本身是特殊字符,通過(guò)轉(zhuǎn)義將其看成普通字符。 char c4 = ""; String s = "他的名字叫"小明"";
char可以進(jìn)行算術(shù)運(yùn)算:
char類(lèi)型數(shù)據(jù)參與算術(shù)運(yùn)算時(shí),使用其編碼參與運(yùn)算。 char c = "A";//65 short s = 100; short s2 = c + s;//錯(cuò)誤的 int s2 = c + s;//正確的 System.out.println(c+1);//66
====================================================================================================================================
運(yùn)算符:
算術(shù)運(yùn)算符 + - * / %(取余) System.out.println("除法運(yùn)算:"+(100 / 49));//取整 System.out.println("除法運(yùn)算:"+(100d / 49));//小數(shù) System.out.println("取余運(yùn)算:"+(100 % 49));//取余 賦值運(yùn)算符 = int i = 100; 比較運(yùn)算符 > < >= <= ==(等于) != (不等于) 邏輯運(yùn)算符 &&(且) ||(或) !(非) int i = 100; int j = 49; boolean b = (i<50) && (j>50);//當(dāng)兩邊的布爾表達(dá)式都為true,則結(jié)果為true. boolean b2 = i>50 || j>50;//當(dāng)兩邊的布爾表達(dá)式只要有一個(gè)為true,則結(jié)果為true. boolean b3 = !(i>50);//對(duì)布爾表達(dá)式結(jié)果取反 &(且) |(或) &和&& |和||的區(qū)別: && ||:具備短路特性 && 當(dāng)?shù)谝粋€(gè)布爾表達(dá)式為false,則不會(huì)再運(yùn)算第二個(gè)布爾表達(dá)式,直接返回結(jié)果false || 當(dāng)?shù)谝粋€(gè)布爾表達(dá)式為true,則不會(huì)再運(yùn)算第二個(gè)布爾表達(dá)式,直接返回結(jié)果true & |:不具備短路特性 位運(yùn)算符:直接操作二進(jìn)制數(shù)據(jù) &: 2&1 使用二進(jìn)制進(jìn)行運(yùn)算,上下兩位都為1時(shí)才為1 |: 2|1 使用二進(jìn)制進(jìn)行運(yùn)算,上下兩位只要有一個(gè)為1則為1 <<: 左移運(yùn)算符 2<<1 //4 每左移一位相當(dāng)于乘以2 >>: 算術(shù)右移運(yùn)算符 算術(shù)右移最高位補(bǔ)符號(hào)位 8>>1 //4 -8>>1 //-4 -8>>2 //-2 每算術(shù)右移一位相當(dāng)于除以2 >>>: 邏輯右移運(yùn)算符 邏輯右移最高位補(bǔ)0 正數(shù)進(jìn)行邏輯右移和算術(shù)右移的結(jié)果一致 8>>>1 //4 負(fù)數(shù)進(jìn)行邏輯右移: -8>>>1//2147483644 注:2*2 、 2>>1,位運(yùn)算符相對(duì)于乘法或除法運(yùn)算符效率高。 ^: 異或運(yùn)算符 如果運(yùn)算的兩位不同值,則結(jié)果為1,如果相同則為0 2^1//3 ~: 取反運(yùn)算符 將二進(jìn)制每位都進(jìn)行取反 ~1 三目運(yùn)算符 布爾表達(dá)式?結(jié)果1:結(jié)果2 //如果布爾表達(dá)式運(yùn)算結(jié)果為ture,則返回結(jié)果1;否則返回結(jié)果2 int age = 34; age>=18?"已成年":"未成年" 特殊用法: ++、-- int a = 10; //a++;//等價(jià)于 a = a+1; ++a; //等價(jià)于 a = a+1; int b = a++; System.out.println(a); System.out.println(b); ++如果前置,則先加一,后參與表達(dá)式運(yùn)算 ++如果后置,則先參與表達(dá)式運(yùn)算,在加一 a--;//等價(jià)于a=a-1 例: int a = 10; int b = a-- + --a;// 10 + 8 18 System.out.println(b);//18 += -= *= /= %=: int a = 10; a += 5;//a=a+5; System.out.println(a); a -= 5;//a=a-5
運(yùn)算符優(yōu)先級(jí):() ---> ++ -- ! ~(一元運(yùn)算符) ---> * / % ---> + - ---> && ||
注:當(dāng)不清楚運(yùn)算的優(yōu)先級(jí)時(shí),使用括號(hào)保證運(yùn)算順序 。局部變量:聲明在函數(shù)內(nèi)部的變量。
特點(diǎn): 1.先賦值后使用 2.作用域的范圍:從定義位置開(kāi)始到所處的代碼塊結(jié)束。 3.在作用域范圍內(nèi)不能出現(xiàn)命名沖突。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70438.html
摘要:入門(mén),第一個(gè)這是一門(mén)很新的語(yǔ)言,年前后正式公布,算起來(lái)是比較年輕的編程語(yǔ)言了,更重要的是它是面向程序員的函數(shù)式編程語(yǔ)言,它的代碼運(yùn)行在之上。它通過(guò)編輯類(lèi)工具,帶來(lái)了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語(yǔ)言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺(jué)已經(jīng)到來(lái)了,總結(jié)過(guò)去的 2017,相信小伙們一定有很多收獲...
摘要:入門(mén),第一個(gè)這是一門(mén)很新的語(yǔ)言,年前后正式公布,算起來(lái)是比較年輕的編程語(yǔ)言了,更重要的是它是面向程序員的函數(shù)式編程語(yǔ)言,它的代碼運(yùn)行在之上。它通過(guò)編輯類(lèi)工具,帶來(lái)了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語(yǔ)言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺(jué)已經(jīng)到來(lái)了,總結(jié)過(guò)去的 2017,相信小伙們一定有很多收獲...
摘要:入門(mén),第一個(gè)這是一門(mén)很新的語(yǔ)言,年前后正式公布,算起來(lái)是比較年輕的編程語(yǔ)言了,更重要的是它是面向程序員的函數(shù)式編程語(yǔ)言,它的代碼運(yùn)行在之上。它通過(guò)編輯類(lèi)工具,帶來(lái)了先進(jìn)的編輯體驗(yàn),增強(qiáng)了語(yǔ)言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺(jué)已經(jīng)到來(lái)了,總結(jié)過(guò)去的 2017,相信小伙們一定有很多收獲...
摘要:該線(xiàn)程在此期間不能再干任何事情了。線(xiàn)程通訊線(xiàn)程之間通過(guò)等方式通訊。選擇器傳統(tǒng)的模式會(huì)基于服務(wù)器會(huì)為每個(gè)客戶(hù)端請(qǐng)求建立一個(gè)線(xiàn)程由該線(xiàn)程單獨(dú)負(fù)貴處理一個(gè)客戶(hù)請(qǐng)求。 本文是對(duì)NIO知識(shí)的歸納與整理 1.阻塞與同步 1)阻塞(Block)和非租塞(NonBlock): 阻塞和非阻塞是進(jìn)程在訪(fǎng)問(wèn)數(shù)據(jù)的時(shí)候,數(shù)據(jù)是否準(zhǔn)備就緒的一種處理方式,當(dāng)數(shù)據(jù)沒(méi)有準(zhǔn)備的時(shí)候阻塞:往往需要等待缞沖區(qū)中的數(shù)據(jù)準(zhǔn)備好...
摘要:今天,我我的后端書(shū)架后端掘金我的后端書(shū)架月前本書(shū)架主要針對(duì)后端開(kāi)發(fā)與架構(gòu)。尤其是對(duì)稱(chēng)加密,非對(duì)稱(chēng)加密,私鑰加密,公鑰加密滴滴動(dòng)態(tài)化方案的誕生與起航掘金這是滴滴架構(gòu)組發(fā)布的第一篇公共技術(shù)文章,本文將介紹自研的動(dòng)態(tài)化方案。 android 阿里面試題錦集 - Android - 掘金前幾天突然就經(jīng)歷了阿里android實(shí)習(xí)內(nèi)推的電面,感覺(jué)有好多以前看過(guò)的東西都忘記了,然后又復(fù)習(xí)了一下,找了...
閱讀 1765·2021-09-27 14:02
閱讀 3180·2021-09-27 13:36
閱讀 1056·2019-08-30 12:46
閱讀 1843·2019-08-30 10:51
閱讀 3583·2019-08-29 17:02
閱讀 955·2019-08-29 16:38
閱讀 1856·2019-08-29 16:37
閱讀 3033·2019-08-26 10:32