java1

注釋

1、單選注釋:符號(hào)是://

2、塊注釋: 符號(hào)是: /*? */ 可以跨多行

3瓦灶、javadoc注釋: 符號(hào)是: /**? */ 可以跨多行,

生成javadoc時(shí)抱完,這樣的注釋會(huì)被生成標(biāo)準(zhǔn)的javaapi注釋贼陶。

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

┏數(shù)值型━┳━整數(shù)型:byte short int long

? ? ? ? ? ? ? ┏基本數(shù)據(jù)類型━━┫? ? ? ? ? ? ? ┗━浮點(diǎn)型:float double

? ? ? ? ? ? ? ┃? ? ? ? ? ? ? ? ? ? ? ? ? ? ┣字符型:char? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

數(shù)據(jù)類型╋? ? ? ? ? ? ? ? ? ? ? ? ? ? ┗布爾型:boolean? ? ? ? ? ? ?

? ? ? ? ? ? ? ┃? ? ? ? ? ? ? ? ? ? ? ? ? ? ┏類(class)

? ? ? ? ? ? ? ┗引用數(shù)據(jù)類型━━╋接口(interface)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ┗數(shù)組(array)

java的數(shù)據(jù)類型分基本數(shù)據(jù)類型(原始數(shù)據(jù)類型)和引用數(shù)據(jù)類型;

1.基本八大類巧娱,圖中可以很清楚的看到碉怔;這種類型的數(shù)據(jù)變量在聲明之后java就會(huì)立刻分配給他內(nèi)存空間。如:short a;? java會(huì)在可使用的內(nèi)存空間尋找一個(gè)占兩個(gè)字節(jié)的塊給a變量禁添;

2.引用數(shù)據(jù)類型就那三種撮胧,類似C/C++的指針,它以特殊的方式指向?qū)ο髮?shí)體(具體的值)老翘,這類變量聲明時(shí)不會(huì)分配內(nèi)存芹啥,只是存儲(chǔ)了一個(gè)內(nèi)存地址,想具體知道看看數(shù)據(jù)結(jié)構(gòu)就好了铺峭。

通俗講墓怀,一、上圖記住很夠用卫键;二傀履、說內(nèi)存、談地址基本都是說引用而非基本莉炉;三钓账、你可以把內(nèi)存地址理解是你學(xué)號(hào),而對(duì)象實(shí)體就是你絮宁,每次找你通過學(xué)號(hào)找梆暮,這就是引用;

變量

? 變量就是一類可以變的量羞福。比如int a;表示整形的a,可以賦值為10或者20等等惕蹄。

????變量的6個(gè)特征:

????名稱:就是名字蚯涮,比如a

????類型:整形治专、字符型等等,比如上面那個(gè)就是整形

????值:變量的值

????地址:在內(nèi)存中的“位置”

????作用域:變量生效的范圍(你再看到后面就大概知道這個(gè)了)

生存期:變量存在的時(shí)間(也是后面的概念)

運(yùn)算符

Java的運(yùn)算符可分為4類:算術(shù)運(yùn)算符遭顶、關(guān)系運(yùn)算符张峰、邏輯運(yùn)算符和位運(yùn)算符。

1.算術(shù)運(yùn)算符?

? ? Java的算術(shù)運(yùn)算符分為一元運(yùn)算符和二元運(yùn)算符棒旗。一元運(yùn)算符只有一個(gè)操作數(shù)喘批;二元運(yùn)算符有兩個(gè)操作數(shù)撩荣,運(yùn)算符位于兩個(gè)操作數(shù)之間。算術(shù)運(yùn)算符的操作數(shù)必須是數(shù)值類型饶深。

? ? (1)一元運(yùn)算符:

? ? 一元運(yùn)算符有:正(+)餐曹、負(fù)(-)、加1(++)和減1(--)4個(gè)敌厘。

? ? 加1台猴、減1運(yùn)算符只允許用于數(shù)值類型的變量,不允許用于表達(dá)式中俱两。加1饱狂、減1運(yùn)算符既可放在變量之前(如++i),也可放在變量之后(如i++)宪彩,兩者的差別是:如果放在變量之前(如++i)休讳,則變量值先加1或減1,然后進(jìn)行其他相應(yīng)的操作(主要是賦值操作)尿孔;如果放在變量之后(如i++)俊柔,則先進(jìn)行其他相應(yīng)的操作,然后再進(jìn)行變量值加1或減1纳猫。

? ? 例如:

? ? int i=6婆咸,j,k芜辕,m尚骄,n;

? ? j = +i;? ? //取原值,即j=6

? ? k = -i;? ? //取負(fù)值侵续,即k=-6

? ? m = i++;? ? //先m=i,再i=i+1倔丈,即m=6,i=7

? ? m = ++i;? ? //先i=i+1,再m=i状蜗,即i=7需五,m=7

? ? n = j--;? ? //先n=j,再j=j-1,即n=6轧坎,j=5

? ? n = --j;? ? //先j=j-1,再n=j宏邮,即j=5,n=5

? ? 在書寫時(shí)還要注意的是:一元運(yùn)算符與其前后的操作數(shù)之間不允許有空格缸血,否則編譯時(shí)會(huì)出錯(cuò)蜜氨。

? ? (2)二元運(yùn)算符

? ? 二元運(yùn)算符有:加(+)、減(-)捎泻、乘(*)飒炎、除(/)、取余(%)笆豁。其中+郎汪、-赤赊、*、/完成加煞赢、減抛计、乘、除四則運(yùn)算照筑,%是求兩個(gè)操作數(shù)相除后的余數(shù)爷辱。

%求余操作舉例:

? ? a % b = a - (a / b) * b

? ? 取余運(yùn)算符既可用于兩個(gè)操作數(shù)都是整數(shù)的情況,也可用于兩個(gè)操作數(shù)都是浮點(diǎn)數(shù)(或一個(gè)操作數(shù)是浮點(diǎn)數(shù))的情況朦肘。當(dāng)兩個(gè)操作數(shù)都是浮點(diǎn)數(shù)時(shí)饭弓,例如7.6 % 2.9時(shí),計(jì)算結(jié)果為:7.6 - 2 * 2.9 = 1.8媒抠。

? ? 當(dāng)兩個(gè)操作數(shù)都是int類型數(shù)時(shí)弟断,a%b的計(jì)算公式為:

? ? a % b = a - (int)(a / b) * b

? ? 當(dāng)兩個(gè)操作數(shù)都是long類型(或其他整數(shù)類型)數(shù)時(shí),a%b的計(jì)算公式可以類推趴生。

? ? 當(dāng)參加二元運(yùn)算的兩個(gè)操作數(shù)的數(shù)據(jù)類型不同時(shí)阀趴,所得結(jié)果的數(shù)據(jù)類型與精度較高(或位數(shù)更長(zhǎng))的那種數(shù)據(jù)類型一致。

? ? 例如:

? ? 7 / 3? ? //整除苍匆,運(yùn)算結(jié)果為2

? ? 7.0 / 3? //除法刘急,運(yùn)算結(jié)果為2.33333,即結(jié)果與精度較高的類型一致

? ? 7 % 3? ? //取余,運(yùn)算結(jié)果為1

? ? 7.0 % 3? //取余浸踩,運(yùn)算結(jié)果為1.0

? ? -7 % 3? //取余叔汁,運(yùn)算結(jié)果為-1,即運(yùn)算結(jié)果的符號(hào)與左操作數(shù)相同

? ? 7 % -3? //取余检碗,運(yùn)算結(jié)果為1据块,即運(yùn)算結(jié)果的符號(hào)與左操作數(shù)相同

2.關(guān)系運(yùn)算符?

? 關(guān)系運(yùn)算符用于比較兩個(gè)數(shù)值之間的大小,其運(yùn)算結(jié)果為一個(gè)邏輯類型的數(shù)值折剃。關(guān)系運(yùn)算符有六個(gè):等于(==)另假、不等于(!=)、大于(>)怕犁、大于等于(>=)边篮、小于(<)、小于等于(<=)奏甫。

? ? 例如:

? ? 9 <= 8? ? ? //運(yùn)算結(jié)果為false

? ? 9.9 >= 8.8? //運(yùn)算結(jié)果為true

? ? 'A' < 'a'? //運(yùn)算結(jié)果為true戈轿,因字符'A'的Unicode編碼值小于字符'a'的

? ? 要說明的是,對(duì)于大于等于(或小于等于)關(guān)系運(yùn)算符來說扶檐,只有大于和等于兩種關(guān)系運(yùn)算都不成立時(shí)其結(jié)果值才為false凶杖,只要有一種(大于或等于)關(guān)系運(yùn)算成立其結(jié)果值即為true胁艰。例如款筑,對(duì)于9 <= 8智蝠,9既不小于8也不等于8,所以9 <= 8 的運(yùn)算結(jié)果為false奈梳。對(duì)于9 >= 9杈湾,因9等于9,所以9 >= 9的運(yùn)算結(jié)果為true攘须。

3.邏輯運(yùn)算符

? ? 邏輯運(yùn)算符要求操作數(shù)的數(shù)據(jù)類型為邏輯型漆撞,其運(yùn)算結(jié)果也是邏輯型值。邏輯運(yùn)算符有:邏輯與(&&)于宙、邏輯或(||)浮驳、邏輯非(!)、邏輯與或(^)捞魁、邏輯與(&)至会、邏輯或(|)。

? ? 真值表是表示邏輯運(yùn)算功能的一種直觀方法谱俭,其具體方法是把邏輯運(yùn)算的所有可能值用表格形式全部羅列出來奉件。Java語言邏輯運(yùn)算符的真值表如下:

? ? 邏輯運(yùn)算符的真值表

? ? A? ? ? B? ? ? A&&B? A||B? !A? ? A^B? ? A&B? ? A|B

? ? false false false false true? false false false

? ? true? false false true false true? false true

? ? false true? false true true? true? false true

? ? true? true? true? true false false true? true

? ? 前兩列是參與邏輯運(yùn)算的兩個(gè)邏輯變量,共有4種可能昆著,所以表2.5共有4行县貌。后6列分別是6個(gè)邏輯運(yùn)算符在邏輯變量A和邏輯變量B取不同數(shù)值時(shí)的運(yùn)算結(jié)果值。

? ? 要說明的是凑懂,兩種邏輯與(&&和&)的運(yùn)算規(guī)則基本相同煤痕,兩種邏輯或(||和|)的運(yùn)算規(guī)則也基本相同。其區(qū)別是:&和|運(yùn)算是把邏輯表達(dá)式全部計(jì)算完接谨,而&&和||運(yùn)算具有短路計(jì)算功能杭攻。所謂短路計(jì)算,是指系統(tǒng)從左至右進(jìn)行邏輯表達(dá)式的計(jì)算疤坝,一旦出現(xiàn)計(jì)算結(jié)果已經(jīng)確定的情況兆解,則計(jì)算過程即被終止。對(duì)于&&運(yùn)算來說跑揉,只要運(yùn)算符左端的值為false锅睛,則因無論運(yùn)算符右端的值為true或?yàn)閒alse,其最終結(jié)果都為false历谍。所以现拒,系統(tǒng)一旦判斷出&&運(yùn)算符左端的值為false,則系統(tǒng)將終止其后的計(jì)算過程望侈;對(duì)于 || 運(yùn)算來說印蔬,只要運(yùn)算符左端的值為true,則因無論運(yùn)算符右端的值為true或?yàn)閒alse脱衙,其最終結(jié)果都為true侥猬。所以例驹,系統(tǒng)一旦判斷出|| 運(yùn)算符左端的值為true,則系統(tǒng)將終止其后的計(jì)算過程退唠。

? ? 例如鹃锈,有如下邏輯表達(dá)式:

? ? (i>=1) && (i<=100)

? ? 此時(shí),若i等于0瞧预,則系統(tǒng)判斷出i>=1的計(jì)算結(jié)果為false后屎债,系統(tǒng)馬上得出該邏輯表達(dá)式的最終計(jì)算結(jié)果為false,因此垢油,系統(tǒng)不繼續(xù)判斷i<=100的值盆驹。短路計(jì)算功能可以提高程序的運(yùn)行速度。

? ? 作者建議讀者:在程序設(shè)計(jì)時(shí)使用&&和||運(yùn)算符滩愁,不使用&和|運(yùn)算符召娜。

? ? 用邏輯與(&&)、邏輯或(||)和邏輯非(!)可以組合出各種可能的邏輯表達(dá)式惊楼。邏輯表達(dá)式主要用在 if玖瘸、while等語句的條件組合上。

? ? 例如:

? ? int i = 1;

? ? while(i>=1) && (i<=100) i++;? ? //循環(huán)過程

? ? 上述程序段的循環(huán)過程將i++語句循環(huán)執(zhí)行100次檀咙。

4.位運(yùn)算符?

? ? 位運(yùn)算是以二進(jìn)制位為單位進(jìn)行的運(yùn)算雅倒,其操作數(shù)和運(yùn)算結(jié)果都是整型值。

?? 位運(yùn)算符共有7個(gè)弧可,分別是:位與(&)蔑匣、位或(|)、位非(~)棕诵、位異或(^)裁良、右移(>>)、左移(<<)校套、0填充的右移(>>>)价脾。

? ? 位運(yùn)算的位與(&)、位或(|)笛匙、位非(~)侨把、位異或(^)與邏輯運(yùn)算的相應(yīng)操作的真值表完全相同,其差別只是位運(yùn)算操作的操作數(shù)和運(yùn)算結(jié)果都是二進(jìn)制整數(shù)妹孙,而邏輯運(yùn)算相應(yīng)操作的操作數(shù)和運(yùn)算結(jié)果都是邏輯值秋柄。

? ? 位運(yùn)算示例

? 運(yùn)算符? 名稱? 示例? ? 說明

? ? &? ? ? 位與? ? x&y? ? 把x和y按位求與

? ? |? ? ? 位或? ? x|y? ? 把x和y按位求或

? ? ~? ? ? 位非? ? ~x? ? ? 把x按位求非

? ? ^? ? ? 位異或 x^y? ? 把x和y按位求異或

? ? >>? ? ? 右移? ? x>>y? ? 把x的各位右移y位

? ? <<? ? ? 左移? ? x<<y? ? 把x的各位左移y位

? ? >>>? ? 右移? ? x>>>y? 把x的各位右移y位,左邊填0

? ? 舉例說明:

? ? (1)有如下程序段:

? ? int x = 64;? //x等于二進(jìn)制數(shù)的01000000

? ? int y = 70;? //y等于二進(jìn)制數(shù)的01000110

? ? int z = x&y? //z等于二進(jìn)制數(shù)的01000000

? ? 即運(yùn)算結(jié)果為z等于二進(jìn)制數(shù)01000000蠢正。位或骇笔、位非、位異或的運(yùn)算方法類同。

? ? (2)右移是將一個(gè)二進(jìn)制數(shù)按指定移動(dòng)的位數(shù)向右移位笨触,移掉的被丟棄懦傍,左邊移進(jìn)的部分或者補(bǔ)0(當(dāng)該數(shù)為正時(shí)),或者補(bǔ)1(當(dāng)該數(shù)為負(fù)時(shí))旭旭。這是因?yàn)檎麛?shù)在機(jī)器內(nèi)部采用補(bǔ)碼表示法,正數(shù)的符號(hào)位為0葱跋,負(fù)數(shù)的符號(hào)位為1持寄。例如,對(duì)于如下程序段:

? ? int x = 70;? //x等于二進(jìn)制數(shù)的01000110

? ? int y = 2;

? ? int z = x>>y? //z等于二進(jìn)制數(shù)的00010001

? ? 即運(yùn)算結(jié)果為z等于二進(jìn)制數(shù)00010001娱俺,即z等于十進(jìn)制數(shù)17稍味。

? ? 對(duì)于如下程序段:

? ? int x = -70;? //x等于二進(jìn)制數(shù)的11000110

? ? int y = 2;

? ? int z = x>>y? //z等于二進(jìn)制數(shù)的11101110

? ? 即運(yùn)算結(jié)果為z等于二進(jìn)制數(shù)11101110,即z等于十進(jìn)制數(shù)-18荠卷。要透徹理解右移和左移操作模庐,讀者需要掌握整數(shù)機(jī)器數(shù)的補(bǔ)碼表示法。

? ? (3)0填充的右移(>>>)是不論被移動(dòng)數(shù)是正數(shù)還是負(fù)數(shù)油宜,左邊移進(jìn)的部分一律補(bǔ)0掂碱。

5.其他運(yùn)算符

? ? (1)賦值運(yùn)算符與其他運(yùn)算符的簡(jiǎn)捷使用方式

? ? 賦值運(yùn)算符可以與二元算術(shù)運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符組合成簡(jiǎn)捷運(yùn)算符慎冤,從而可以簡(jiǎn)化一些常用表達(dá)式的書寫疼燥。

? ? 賦值運(yùn)算符與其他運(yùn)算符的簡(jiǎn)捷使用方式

? 運(yùn)算符 用法? 等價(jià)于? ? 說明

? ? +=? ? s+=i? ? s=s+i? ? s,i是數(shù)值型

? ? -=? ? s-=i? ? s=s-i? ? s蚁堤,i是數(shù)值型

? ? *=? ? s*=i? ? s=s*i? ? s醉者,i是數(shù)值型

? ? /=? ? s/=i? ? s=s/i? ? s,i是數(shù)值型

? ? %=? ? s%=i? ? s=s%i? ? s披诗,i是數(shù)值型

? ? &=? ? a&=b? ? a=a&b? ? a撬即,b是邏輯型或整型

? ? |=? ? a|=b? ? a=a|b? ? a,b是邏輯型或整型

? ? ^=? ? A^=b? ? a=a^b? ? a呈队,b是邏輯型或整型

? ? <<=? ? s<<=i? s=s<<i? ? s剥槐,i是整型

? ? >>=? ? s>>=i? s=s>>i? ? s,i是整型

? ? >>>=? s>>>=i s=s>>>i? s宪摧,i是整型

? ? (2)方括號(hào)[]和圓括號(hào)()運(yùn)算符

? ? 方括號(hào)[]是數(shù)組運(yùn)算符才沧,方括號(hào)[]中的數(shù)值是數(shù)組的下標(biāo),整個(gè)表達(dá)式就代表數(shù)組中該下標(biāo)所在位置的元素值绍刮。

? ? 圓括號(hào)()運(yùn)算符用于改變表達(dá)式中運(yùn)算符的優(yōu)先級(jí)温圆。

(3)字符串加(+)運(yùn)算符

? ? 當(dāng)操作數(shù)是字符串時(shí),加(+)運(yùn)算符用來合并兩個(gè)字符串孩革;當(dāng)加(+)運(yùn)算符的一邊是字符串岁歉,另一邊是數(shù)值時(shí),機(jī)器將自動(dòng)將數(shù)值轉(zhuǎn)換為字符串,這種情況在輸出語句中很常見锅移。如對(duì)于如下程序段:

? ? int max = 100;

? ? System.out.println("max = "+max);

? ? 計(jì)算機(jī)屏幕的輸出結(jié)果為:max = 100熔掺,即此時(shí)是把變量max中的整數(shù)值100轉(zhuǎn)換成字符串100輸出的。

(4)條件運(yùn)算符(非剃?:)

? ? 條件運(yùn)算符(置逻?:)的語法形式為:

? ? <表達(dá)式1> ?<表達(dá)式2> : <表達(dá)式3>

? ? 條件運(yùn)算符的運(yùn)算方法是:先計(jì)算<表達(dá)式1>的值备绽,當(dāng)<表達(dá)式1>的值為true時(shí)券坞,則將<表達(dá)式2>的值作為整個(gè)表達(dá)式的值;當(dāng)<表達(dá)式1>的值為false時(shí)肺素,則將<表達(dá)式3>的值作為整個(gè)表達(dá)式的值恨锚。如:

? ? int a=1,b=2倍靡,max;

? ? max = a>b猴伶?a:b;? //max等于2

(5)強(qiáng)制類型轉(zhuǎn)換符

? ? 強(qiáng)制類型轉(zhuǎn)換符能將一個(gè)表達(dá)式的類型強(qiáng)制轉(zhuǎn)換為某一指定數(shù)據(jù)類型,其語法形式為:

? ? (<類型>)<表達(dá)式>

(6)對(duì)象運(yùn)算符instanceof

? ? 對(duì)象運(yùn)算符instanceof用來測(cè)試一個(gè)指定對(duì)象是否是指定類(或它的子類)的實(shí)例塌西,若是則返回true他挎,否則返回false。

(7)點(diǎn)運(yùn)算符

? ? 點(diǎn)運(yùn)算符“.”的功能有兩個(gè):一是引用類中成員捡需,二是指示包的層次等級(jí)雇盖。

6.運(yùn)算符的優(yōu)先級(jí)

? ? 以下按優(yōu)先級(jí)從高到低的次序列出Java語言中的所有運(yùn)算符,表中結(jié)合性一列中的“左?右”表示其運(yùn)算次序?yàn)閺淖笙蛴移苤遥坝?左”表示其運(yùn)算次序?yàn)閺挠蚁蜃蟆?/p>

? ? 優(yōu)先級(jí) 運(yùn)算符? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 結(jié)合性

? ? 1? ? ? .? []? ()? ;? ,

? ? 2? ? ? ++? ――? +=? !? ~? +(一元) -(一元)? ? ? ? ? ? ? ? ? 右?左

? ? 3? ? ? *? /? %? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 4? ? ? +(二元)? -(二元)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 5? ? ? <<? >>? >>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 6? ? ? <? >? <=? >=? instanceof? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 7? ? ? = =? !=? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 8? ? ? &? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 9? ? ? ^? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 10? ? ? |? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 11? ? ? &&? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 12? ? ? ||? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左?右

? ? 13? ? ? ?:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 右?左

? ? 14? ? ? =? *=? /=? %=? +=? -=? <<=? >>=? >>>=? &=? ^=? |=? 右?左

字符串

1崔挖、length() 字符串的長(zhǎng)度

  例:char chars[]={'a','b'.'c'};

    String s=new String(chars);

    int len=s.length();

2、charAt() 截取一個(gè)字符

  例:char ch;

    ch="abc".charAt(1); 返回'b'

3庵寞、 getChars() 截取多個(gè)字符

  void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

  sourceStart指定了子串開始字符的下標(biāo)狸相,sourceEnd指定了子串結(jié)束后的下一個(gè)字符的下標(biāo)。因此捐川, 子串包含從sourceStart到sourceEnd-1的字符脓鹃。接收字符的數(shù)組由target指定,target中開始復(fù)制子串的下標(biāo)值是targetStart古沥。

  例:String s="this is a demo of the getChars method.";

    char buf[]=new char[20];

    s.getChars(10,14,buf,0);

4瘸右、getBytes()

  替代getChars()的一種方法是將字符存儲(chǔ)在字節(jié)數(shù)組中,該方法即getBytes()岩齿。

5太颤、toCharArray()

6、equals()和equalsIgnoreCase() 比較兩個(gè)字符串

7盹沈、regionMatches() 用于比較一個(gè)字符串中特定區(qū)域與另一特定區(qū)域龄章,它有一個(gè)重載的形式允許在比較中忽略大小寫。

  boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars)

  boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars)

8、startsWith()和endsWith()

  startsWith()方法決定是否以特定字符串開始做裙,endWith()方法決定是否以特定字符串結(jié)束岗憋,以空格區(qū)分這些字符串。

9锚贱、equals()和==

  equals()方法比較字符串對(duì)象中的字符仔戈,==運(yùn)算符比較兩個(gè)對(duì)象是否引用同一實(shí)例。

  例:String s1="Hello";

    String s2=new String(s1);

    s1.eauals(s2); //true


    s1==s2;//false


10拧廊、compareTo()和compareToIgnoreCase() 比較字符串

11监徘、indexOf()和lastIndexOf()

  indexOf() 查找字符或者子串第一次出現(xiàn)的地方。

  lastIndexOf() 查找字符或者子串是后一次出現(xiàn)的地方卦绣。

12耐量、substring()

  它有兩種形式飞蚓,第一種是:String substring(int startIndex)

         第二種是:String substring(int startIndex,int endIndex)

13滤港、concat() 連接兩個(gè)字符串

14 、replace() 替換

  它有兩種形式趴拧,第一種形式用一個(gè)字符在調(diào)用字符串中所有出現(xiàn)某個(gè)字符的地方進(jìn)行替換溅漾,形式如下:

  String replace(char original,char replacement)

  例如:String s="Hello".replace('l','w');

  第二種形式是用一個(gè)字符序列替換另一個(gè)字符序列,形式如下:

  String replace(CharSequence original,CharSequence replacement)

15著榴、trim() 去掉起始和結(jié)尾的空格

16添履、valueOf() 轉(zhuǎn)換為字符串

17、toLowerCase() 轉(zhuǎn)換為小寫

18脑又、toUpperCase() 轉(zhuǎn)換為大寫

19暮胧、StringBuffer構(gòu)造函數(shù)

  StringBuffer定義了三個(gè)構(gòu)造函數(shù):

  StringBuffer()

  StringBuffer(int size)

  StringBuffer(String str)

  StringBuffer(CharSequence chars)

  (1)、length()和capacity()

    一個(gè)StringBuffer當(dāng)前長(zhǎng)度可通過length()方法得到,而整個(gè)可分配空間通過capacity()方法得到问麸。

  (2)往衷、ensureCapacity() 設(shè)置緩沖區(qū)的大小

    void ensureCapacity(int capacity)

  (3)、setLength() 設(shè)置緩沖區(qū)的長(zhǎng)度

    void setLength(int len)

  (4)严卖、charAt()和setCharAt()

    char charAt(int where)

    void setCharAt(int where,char ch)

  (5)席舍、getChars()

    void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

  (6)、append() 可把任何類型數(shù)據(jù)的字符串表示連接到調(diào)用的StringBuffer對(duì)象的末尾哮笆。

    例:int a=42;

      StringBuffer sb=new StringBuffer(40);

      String s=sb.append("a=").append(a).append("!").toString();

輸出:a=42!

  (7)来颤、insert() 插入字符串

    StringBuffer insert(int index,String str)

    StringBuffer insert(int index,char ch)

    StringBuffer insert(int index,Object obj)

    index指定將字符串插入到StringBuffer對(duì)象中的位置的下標(biāo)。

  (8)稠肘、reverse() 顛倒StringBuffer對(duì)象中的字符

    StringBuffer reverse()

  (9)福铅、delete()和deleteCharAt() 刪除字符

    StringBuffer delete(int startIndex,int endIndex)

    StringBuffer deleteCharAt(int loc)

  (10)、replace() 替換

    StringBuffer replace(int startIndex,int endIndex,String str)

  (11)项阴、substring() 截取子串

    String substring(int startIndex)

    String substring(int startIndex,int endIndex)

輸入輸出

1本讥、輸入:

從鍵盤輸入需要用到j(luò)ava的Scanner這個(gè)util包下的工具類

Scanner中輸入是需要對(duì)輸入的字符進(jìn)行分類,int類型為nextint()方法,double類型為nextDouble()方法拷沸,字符串類型為next()方法色查。

#code:

#out:

2、輸出:

java常用的輸出為println

#code:

#out:

除了println()方法之外撞芍,java還有print()和printf()兩種輸出方法秧了,

print、println序无、printf的區(qū)別:

print--是函數(shù)验毡,可以返回一個(gè)值,只能有一個(gè)參數(shù)帝嗡。

println 將它的參數(shù)顯示在命令窗口晶通,并在結(jié)尾加上換行符,將輸出光標(biāo)定位在下一行的開始哟玷。

printf--函數(shù)狮辽,把文字格式化以后輸出,直接調(diào)用系統(tǒng)用進(jìn)行IO的巢寡,他是非緩沖的

控制流程

Java流程控制包括順序控制喉脖,條件控制,循環(huán)控制抑月。

? 順序控制树叽,就是從頭到尾依次執(zhí)行每條語句操作。條件控制谦絮,基于條件選擇執(zhí)行語句题诵,比方說,如果條件成立层皱,則執(zhí)行操作A性锭,或者如果條件成立,則執(zhí)行操作A奶甘,反之則執(zhí)行操作B篷店。循環(huán)控制,又稱為回路控制臭家,根據(jù)循環(huán)初始條件和終結(jié)要求疲陕,執(zhí)行循環(huán)體內(nèi)的操作。

? 順序結(jié)構(gòu)只能順序執(zhí)行钉赁,不能進(jìn)行判斷和選擇蹄殃,因此需要分支結(jié)構(gòu)。

? Java有兩種分支結(jié)構(gòu):

if語句

switch語句

? Java中有三種主要的循環(huán)結(jié)構(gòu):

while循環(huán)

do…while循環(huán)

for循環(huán)

數(shù)組

1你踩、數(shù)組的定義

語法有兩種:

type arrayName[];

type[] arrayName;

type 為Java中的任意數(shù)據(jù)類型诅岩,包括基本類型和組合類型讳苦,arrayName為數(shù)組名,必須是一個(gè)合法的標(biāo)識(shí)符吩谦,[ ] 指明該變量是一個(gè)數(shù)組類型變量鸳谜。

例如:

int demoArray[];

int[] demoArray;

這兩種形式?jīng)]有區(qū)別,使用效果完全一樣式廷,讀者可根據(jù)自己的編程習(xí)慣選擇咐扭。

注意:Java在定義數(shù)組時(shí)并不為數(shù)據(jù)元素分配內(nèi)存,因此[ ]中無需指定數(shù)組元素的個(gè)數(shù)滑废,即數(shù)組長(zhǎng)度蝗肪。而且對(duì)于如上定義的一個(gè)數(shù)組是不能訪問它的任何元素的,開發(fā)者必須要為它分配內(nèi)存空間蠕趁,這時(shí)要用到運(yùn)算符new薛闪,其格式如下:

? ? arrayName=new type[arraySize];

其中,arraySize 為數(shù)組的長(zhǎng)度俺陋,type 為數(shù)組的類型豁延。如:

demoArray=new int[3];//為一個(gè)整型數(shù)組分配3個(gè)int 型整數(shù)所占據(jù)的內(nèi)存空間。

2倔韭、數(shù)組的初始化

可以在聲明數(shù)組的同時(shí)進(jìn)行初始化(靜態(tài)初始化)术浪,也可以在聲明以后進(jìn)行初始化(動(dòng)態(tài)初始化)瓢对。例如:

// 靜態(tài)初始化

// 靜態(tài)初始化的同時(shí)就為數(shù)組元素分配空間并賦值

int intArray[] = {1,2,3,4};

String stringArray[] = {"zhidao", "baidu", "百度知道"};

// 動(dòng)態(tài)初始化

float floatArray[] = new float[3];

floatArray[0] = 1.0f;

floatArray[1] = 132.63f;

floatArray[2] = 100F;

3寿酌、數(shù)組的使用:

每個(gè)數(shù)組都有一個(gè)length屬性來指明它的長(zhǎng)度,例如 intArray.length 指明數(shù)組 intArray 的長(zhǎng)度硕蛹。

【示例】寫一段代碼醇疼,要求輸入任意5個(gè)整數(shù),輸出它們的和法焰。

import java.util.*;

public class Demo {

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

? ? ? ? int intArray[] = new int[5];

? ? ? ? long total = 0;

? ? ? ? int len = intArray.length;


? ? ? ? // 給數(shù)組元素賦值

? ? ? ? System.out.print("請(qǐng)輸入" + len + "個(gè)整數(shù)秧荆,以空格為分隔:");

? ? ? ? Scanner sc = new Scanner(System.in);

? ? ? ? for(int i=0; i<len; i++){

? ? ? ? ? ? intArray[i] = sc.nextInt();

? ? ? ? }


? ? ? ? // 計(jì)算數(shù)組元素的和

? ? ? ? for(int i=0; i<len; i++){

? ? ? ? ? ? total += intArray[i];

? ? ? ? }


? ? ? ? System.out.println("所有數(shù)組元素的和為:" + total);

? ? }

}

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

請(qǐng)輸入5個(gè)整數(shù),以空格為分隔:10 20 15 25 50

所有數(shù)組元素的和為:120

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末埃仪,一起剝皮案震驚了整個(gè)濱河市乙濒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卵蛉,老刑警劉巖颁股,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異傻丝,居然都是意外死亡甘有,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門葡缰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來亏掀,“玉大人忱反,你說我怎么就攤上這事÷算担” “怎么了温算?”我有些...
    開封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)间影。 經(jīng)常有香客問我米者,道長(zhǎng),這世上最難降的妖魔是什么宇智? 我笑而不...
    開封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任蔓搞,我火速辦了婚禮,結(jié)果婚禮上随橘,老公的妹妹穿的比我還像新娘喂分。我一直安慰自己,他們只是感情好机蔗,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開白布蒲祈。 她就那樣靜靜地躺著,像睡著了一般萝嘁。 火紅的嫁衣襯著肌膚如雪梆掸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天牙言,我揣著相機(jī)與錄音酸钦,去河邊找鬼。 笑死咱枉,一個(gè)胖子當(dāng)著我的面吹牛卑硫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蚕断,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼欢伏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了亿乳?” 一聲冷哼從身側(cè)響起硝拧,我...
    開封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎葛假,沒想到半個(gè)月后障陶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡桐款,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年咸这,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片魔眨。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡媳维,死狀恐怖酿雪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情侄刽,我是刑警寧澤指黎,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站州丹,受9級(jí)特大地震影響醋安,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜墓毒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一吓揪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧所计,春花似錦柠辞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至踪栋,卻和暖如春焙格,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夷都。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來泰國打工虹脯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留苟穆,地道東北人宛乃。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓缝裁,卻偏偏與公主長(zhǎng)得像荣瑟,于是被迫代替她去往敵國和親治拿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

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