JAVA學(xué)習(xí)筆記_第1頁
JAVA學(xué)習(xí)筆記_第2頁
JAVA學(xué)習(xí)筆記_第3頁
JAVA學(xué)習(xí)筆記_第4頁
JAVA學(xué)習(xí)筆記_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 chapter3_知識點3.1運算符與表達式優(yōu)先級描述符號結(jié)合性(與操作數(shù))說明1分隔符.從左到右( )從左到右 從左到右2對象歸類+從右到左-從右到左+從右到左前綴增,后綴增- -從右到左前綴減,后綴減從右到左!從右到左“!”不可以與“=”聯(lián)用3乘除運算*從左到右/從左到右整數(shù)除法:取商的整數(shù)部分,小數(shù)部分去掉,不四舍五入%從左到右4加減+從左到右-從左到右5移位從左到右右移n位即除以2n從左到右6大小運算符從左到右從左到右=從左到右instanceof從左到右7相等=從左到右!=從左到右8按位與&從左到右9按位或|從左到右10異或從左到右11邏輯與&從左到右12邏輯或|從左到右13條件?

2、 :從右到左14賦值運算=從右到左+=-=*=/=%=&=3.2控制語句條件分支語句、循環(huán)語句和跳轉(zhuǎn)語句 條件分支語句(if-else)1.表達式的值必須是boolean型的2.多個if-else語句嵌套可以形成多條件if-else語句 循環(huán)語句 while循環(huán)語句 1.格式: while (表達式) 若干語句 2.表達式的值為boolean型數(shù)據(jù) do-while循環(huán)語句1.格式: do 若干語句 while(表達式);2.do-while和while循環(huán)的區(qū)別:do-while的循環(huán)體至少被執(zhí)行一次。 for循環(huán) 1.格式:for (表達式1;表達式2;表達式3) 若干語句 2. “表達式

3、2”必須是一個求值為boolean型數(shù)據(jù)的表達式 switch開關(guān)語句1.格式:switch () case 常量值1:若干語句 break; case 常量值2:若干語句 break; case 常量值n:若干語句 break; default: 若干語句2.switch語句中表達式的值必須是整型或字符型。3.常量值1到常量值 n必須也是整型或字符型。4.執(zhí)行過程: switch語句首先計算表達式的值,如果表達式的值和某個case 后面的常量值相同,就執(zhí)行該case里的若干個語句,直到碰到break語句為止。 若沒有任何常量值與表達式的值相同,則執(zhí)行default后面的若干個語句;其中def

4、ault是可有可無的,如果它不存在,并且所有的常量值都和表達式的值不相同,那么switch語句就不會進行任何處理。 5.需要注意的,在同一個switch語句中,case后的常量值必須互不相同。 跳轉(zhuǎn)語句指用關(guān)鍵字break或continue加上分號構(gòu)成的語句。 在循環(huán)語句的循環(huán)體中使用跳轉(zhuǎn)語句。l 在一個循環(huán)中,比如循環(huán)50次的循環(huán)語句中,如果在某次循環(huán)體的執(zhí)行中執(zhí)行了break語句,那么整個循環(huán)語句就結(jié)束。l 在一個循環(huán)中,比如循環(huán)50次的循環(huán)語句中,如果在某次循環(huán)體的執(zhí)行中執(zhí)行了continue語句,那么本次循環(huán)就結(jié)束,即不再執(zhí)行本次循環(huán)中循環(huán)體中continue語句后面的語句,而轉(zhuǎn)入進行

5、下一次循環(huán)。3.3 for語句與數(shù)組格式:for(聲明循環(huán)變量:數(shù)組的名字)其中,聲明的循環(huán)變量的類型必須與數(shù)組的類型相同課后習(xí)題34.程序編寫題(1)編寫應(yīng)用程序求1+2!+3!+10!代碼如下:public class test4_1 public static void main(string args)int sum=0,a=1;/求 1+2!+3!+10!的值for(int i=2;i=10;i+)sum+=a;a*=i;system.out.println(1+2!+3!+10!=+sum); 運行結(jié)果:1+2!+3!+10!=409113(2)編寫一個程序求100以內(nèi)的全部素數(shù)代

6、碼如下:public class test4_2 public static void main(string args)int i,j;/求 100 以內(nèi)的素數(shù)for(i=2;i=100;i+)/判斷 能否整除 i for(j=2;ji/2,則說明所得 i是素數(shù),輸出if(ji/2)system.out.print(i+、);system.out.println(是素數(shù));運行結(jié)果:2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97、是素數(shù)(3)計算1+1/2!+1/3!+的前20項的和代碼如下:pub

7、lic class test4_3 public static void main(string args)double sum=0,a=1;/ 求1+1/2!+1/3!+前20項的和for(int i=2;i=20;i+)sum+=a;a*=1.0/i;system.out.println(1+1/2!+ +1/20!=+sum);運行結(jié)果:1+1/2!+ +1/20!=1.7182818284590455注意:循環(huán)開始的i值(4)編寫程序求1000以內(nèi)的所有完數(shù)代碼如下:public class test4_4 public static void main(string args)int

8、 x,sum;/求1000以內(nèi)的完數(shù)for(x=1;x=1000;x+)sum=0;/找出 i的所有因子并求和for(int i=1;ix;i+)if(x%i=0)sum+=i;/判斷是否為完數(shù),是則輸出if(x=sum)system.out.print(x+、);system.out.print(是完數(shù));運行結(jié)果:6、28、496、是完數(shù)(5)編寫應(yīng)用程序,計算8+88+的前10項之和代碼如下:public class test4_5 public static void main(string args)long sum=0,a=0;/求 8+88+的前10項和for(int i=1;i

9、=10;i+) a=10*a+8; sum+=a;/輸出最后一項,確保為10個8system.out.println(8+88+888前10項之和為+sum+n最后一項是+a);運行結(jié)果:8+88+888前10項之和為9876543200最后一項是8888888888注意: sum的最后是否是10個8,輸出a確認(rèn); 將sum的數(shù)據(jù)類型設(shè)為long型,防止溢出;若改為int型,則輸出結(jié)果變?yōu)?286608608溢出。 (6)編寫應(yīng)用程序輸出滿足1+2+3+n8888的最大整數(shù)n代碼如下:public class test4_6 public static void main(string arg

10、s)int sum=0,n;/求滿足1+2+3+n8888的最大整數(shù)nfor(n=1;sum8888的最大整數(shù)n=+(n-1);運行結(jié)果:滿足1+2+3+n=89118888的最大整數(shù)n=133課后總結(jié)1.運算符l 賦值運算符:(=)1 右側(cè)的數(shù)據(jù)不能超出左側(cè)的變量的存儲范圍。2 如果右側(cè)也是一個變量的話,這個變量的數(shù)據(jù)類型應(yīng)該和左側(cè)的數(shù)據(jù)類型一致 或者兼容3 字面值的數(shù)據(jù)類型 什么是字面值:直接出現(xiàn)在程序中的數(shù)值。 100:int(整數(shù)默認(rèn)int) 1.3;double(小數(shù)默認(rèn)double) float=1f long=1ll 算術(shù)運算符:+、-、*、%int a=10;double b=

11、10.0;/:取整運算10/3=3%:取余運算10%3=1l 布爾運算符:運算的結(jié)果是boolean類型。l 、=、false false-ture與的優(yōu)先級高于獲得優(yōu)先級,當(dāng)多個邏輯運算符連用時,最好通過括號來明確運算順序。l 位運算:& (安位與)0代表假 1 真 有零則假|(zhì) (按位或) 有一則真 (異或) 不一樣為真一樣為假 (位反) 1011-0100l :右移運算符l 3:將8的二進制數(shù)向右移動3bit0000100000000100|000000010|0000000001|000l +=,-=,*=,/=a+=2 a=a+2。l (ts)?a:b括號內(nèi)為真返回值為a為假返回值為b

12、1 問號前面一定是布爾值2 a和b的數(shù)據(jù)類型一定一致l :帶符號位的移動。符號位參與移動對于負數(shù)右移變成正數(shù)。又移一次是很大的正數(shù),右移一次大于2的31次方l i+,+i;經(jīng)過+運算之后變量自身的值都會+1.區(qū)別在于i+返回的值是i當(dāng)前的值,先返回值后+1 +i返回的值是i+1之后的值,先+1后返回值 表達式運算完成之后無論i+,+i。i自身都會+12.基本輸出:system.out.println(*);(換行)system.out.print(*);system.out.print()轉(zhuǎn)義字符。去掉后面字符的特殊語法含義n 回車換行system.out.println(*);system.

13、out.print(*n);tab 制表符號?;据斎?將用戶在鍵盤上輸入大的內(nèi)容保存在變量里。scanner s=new scanner(system.in)int age=s.nextint() string name=s.nextline()冒泡排序法:代碼如下:public class bubblesort public static void sortiere(int arr) / “未完成”默認(rèn)值設(shè)為true,表示未完成排序boolean unsortiert=true;/ 交換值時所使用的臨時變量int temp;/ 當(dāng)未完成排序時,繼續(xù)循環(huán)while (unsortiert)/ 改變“未完成”為fasle,假設(shè)排序完成了unsortiert = false;/ 元素之間進行大小比較for (int i=0; i arri+1) temp=arri;arri=arri+1;arri+1=temp;/ 若發(fā)生交換,則把“未完成”值改為true,讓while循環(huán)繼續(xù),尋找下一個可能發(fā)生交換的情況unsortiert = true;public static void main(string args) int a= 0,9,4,6,2,8,5,1,7,3;system.out.println(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論