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