Java語言編程基礎(chǔ)-數(shù)據(jù)運算與表達(dá)式_第1頁
Java語言編程基礎(chǔ)-數(shù)據(jù)運算與表達(dá)式_第2頁
Java語言編程基礎(chǔ)-數(shù)據(jù)運算與表達(dá)式_第3頁
Java語言編程基礎(chǔ)-數(shù)據(jù)運算與表達(dá)式_第4頁
Java語言編程基礎(chǔ)-數(shù)據(jù)運算與表達(dá)式_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java程序設(shè)計基礎(chǔ)導(dǎo)言本課程學(xué)習(xí)目標(biāo)認(rèn)識Java語言數(shù)據(jù)運算符了解Java語言位運算類型了解Java語言多元運算操作理解Java語言位運算實現(xiàn)原理掌握J(rèn)ava語言各類運算操作語法運算符本課學(xué)習(xí)目標(biāo)了解運算類型的分類;了解位運算符;掌握各種運算類型的符號?;靖拍钣嬎銠C為我們工作的過程,實際上是對數(shù)據(jù)項進(jìn)行操作的過程。對數(shù)據(jù)項的操作,用我們習(xí)慣的話說,就是運算,例如,加、減、乘、除等。在計算機語言中,就像在代數(shù)里一樣,對數(shù)據(jù)項(變量、常量等)的運算用運算符表示。每一種運算都有一種運算符,如+、-分別表示加、減運算。參與運算的數(shù)據(jù)項,稱為操作數(shù)。基本概念操作數(shù)和運算符的組合,稱為表達(dá)式(expression)。例如:假定a,b為數(shù)值數(shù)據(jù)項,則a+ba-b為表達(dá)式。表達(dá)式中數(shù)據(jù)項運算的結(jié)果,稱為表達(dá)式的值。類型的運算概括地說,類型的運算有:算術(shù)運算位運算關(guān)系運算邏輯運算賦值運算條件運算算術(shù)運算基本運算包括加(+)、減(-)、乘(*)、除(/)、取模(%)。增量運算:將操作數(shù)加1。運算符為++;減量運算:將操作數(shù)減1。運算符為--;將增量或減量運算符放在操作數(shù)前面和放在操作數(shù)后面,表達(dá)式的結(jié)果不一樣。上述運算的操作數(shù)必須是數(shù)值類型(整型與浮點型都可以);算術(shù)運算應(yīng)用 intx=8; inty=5; x+y; x-y; x*y; x/y; x%y; 1+(x++); (++x)+1; 1+(x--); (--x)+1;關(guān)系運算關(guān)系運算符用來比較兩個值之間大小關(guān)系的運算,返回布爾類型值true或false;關(guān)系運算包括等于、大于、小于、大于等于、小于等于、不等于。運算符號為:==、>、<、>=、<=、!=。關(guān)系運算應(yīng)用

intx=8; inty=5; intz=8; x>y; x<y; x<=z; x>=y; x==y; x==z; x!=y; x!=z;邏輯運算邏輯運算也叫布爾運算經(jīng)常用來連接關(guān)系表達(dá)式,運算數(shù)必須是布爾值。邏輯運算包括與、或、非、異或、無條件與、無條件或。運算符分別為:&&、||、!、^、&、及|。邏輯運算&& 當(dāng)兩個操作數(shù)都為true時,結(jié)果值才為ture;|| 當(dāng)兩個操作數(shù)中有一個為true時,結(jié)果值就為ture;!邏輯非,放在true前面結(jié)果值變?yōu)閒alse,放在false前面結(jié)果值變?yōu)閒alse,^操作數(shù)一個為true,一個為false時,結(jié)果值為true;否則結(jié)果值為false;&當(dāng)兩個操作數(shù)都為true時,結(jié)果值才為ture;|當(dāng)兩個操作數(shù)中有一個為true時,結(jié)果值就為ture;邏輯運算&&與&區(qū)別(3>5)&&(8>6)(3>5)&(8>6)||與|區(qū)別(10>5)||(5==6)(10>5)|(5==6)邏輯運算應(yīng)用

!false; true&&false; true||false; false|false; true&true; true^false; (6>5)&&(7>5); (6>10)||(7>5); !(8>10); (6>5)^(7>5);賦值運算將一個數(shù)據(jù)項的值賦給另一個數(shù)據(jù)項。運算符號為=,含義是將運算符右邊的操作數(shù)的值賦給運算符左邊的操作數(shù);運算符分簡單賦值運算與復(fù)合賦值運算;簡單賦值運算:

i=1i=k+5復(fù)合賦值運算:有+=、-=、*=、/=、%=如:a+=b//等價于a=a+b;a-=b//等價于a=a-b;a*=b//等價于a=a*b;a/=b//等價于a=a/b;a%=b//等價于a=a%b;位運算位運算是定義在二進(jìn)制位上進(jìn)行的運算;位運算只針對整型數(shù)。注意,這里整型數(shù)包括byte,short,int和long四種;位運算包括:按位與,按位或,按位取反(即按位非),異或,移位運算,分左移和右移運算符號分別為:&、|、~、^、<<、>>。與運算(&)運算的兩個操作數(shù)都是1的時候,運算的結(jié)果才是1,否則結(jié)果為0;

00001111&01100100---------------------00000100運算的結(jié)果會是多少呢?

01011101&01100101---------------------或運算(|)運算的兩個操作數(shù)都是0的時候,運算的結(jié)果才是0,否則結(jié)果為1;

00001111|01100100---------------------01101111運算的結(jié)果會是多少呢?

01011101|01100101---------------------取反運算(~)單目運算符,只需要一個操作數(shù),把操作數(shù)的每一位值變?yōu)橄喾?,?變?yōu)?,1變?yōu)?~01100100---------------------10011011運算的結(jié)果會是多少呢?

~01011101---------------------異或運算(^)運算的兩個操作數(shù)值相同的時候,運算的結(jié)果為0,若兩個操作數(shù)不同,則結(jié)果為1;

00001111^01100100---------------------01101011運算的結(jié)果會是多少呢?

01011101^01100101---------------------移位運算:左移(<<)將整個二進(jìn)制數(shù)字串向左移動若干位,高位舍棄,低位補零;一般來說數(shù)據(jù)左移一位相當(dāng)乘以2;

--------------------------00000100左移3位00000100000

移位運算:右移(>>)將整個二進(jìn)制數(shù)字串向右移動若干位,低位舍棄,高位填充原高位之值;一般來說數(shù)據(jù)右移一位相當(dāng)除以2;

-----------------------------00000100右移1位0000000100條件運算條件運算也稱為三元運算,需要三個操作數(shù)參與;格式為:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>表達(dá)式可以是變量或者常量。表達(dá)式1必須是布爾值,表達(dá)式2與表達(dá)式3類型要相同。如果表達(dá)式1為true,則計算表達(dá)式2的值,如果表達(dá)式1為false,則計算表達(dá)式3的值。如:true?10:20;條件運算應(yīng)用 (true)?("A"):("B");(false)?(10):(15); (5==4)?(true):(false); (5>4)?(10):(20); (8>10)?(3+2):(4+5); (6!=8)?(“A”+“B”+“C”):(“E”+“F”+“G”);(10<(8+3))?("Yes"):("No");字符串運算字符串是String類型,為復(fù)合類型。定義方法為:Stringstr1;Stringstr2=“one”;用雙引號括起來的零個或者多個字符;“”,“Hello”,“Yes”可以用連接運算符(+)把兩個或多個字符串常量連接在一起,組成更長的字符串。如:“我”+“是”+“誰”的結(jié)果是:“我是誰”字符串運算應(yīng)用Stringstr1="one";Stringstr2="two";Stringstr3="_";Stringstr4=str1+str2;Stringstr5=str1+str3+str2;str4:“onetwo““onetwo“str5:“one_two““one_two“類型轉(zhuǎn)換表達(dá)式:由操作數(shù)和運算符按一定的語法規(guī)則組成;如:(1.1+2)*2每個表達(dá)式都會產(chǎn)生一定的值,稱為表達(dá)式值;表達(dá)式中可能有不同類型的數(shù)據(jù)進(jìn)行混合運算,在運算時需要進(jìn)行類型轉(zhuǎn)換。類型轉(zhuǎn)換表達(dá)式1+2.5結(jié)果值為3.5,這個結(jié)果值屬于什么類型呢?Java中的類型轉(zhuǎn)換分:自動類型轉(zhuǎn)換系統(tǒng)自動轉(zhuǎn)換數(shù)據(jù)類型,低位數(shù)據(jù)類型可以自動自動轉(zhuǎn)換成高位數(shù)據(jù)類型。強制類型轉(zhuǎn)換;高位數(shù)據(jù)類型轉(zhuǎn)換成低位數(shù)據(jù)類型轉(zhuǎn)換時,系統(tǒng)不能自動轉(zhuǎn)換數(shù)據(jù)類型,需強制轉(zhuǎn)換。自動類型轉(zhuǎn)換判斷如下語句有無語法錯誤:byteb1=1;byteb2=2;byteb3=b1+b2;自動類型轉(zhuǎn)換兩個取值范圍比int小的類型或跟int取值范圍相同的數(shù)據(jù)進(jìn)行運算時,得到的結(jié)果都會是整型。

b1+b2的結(jié)果得到是一個int類型值3,int類型值不能直接賦給byte類型;如下改正:byteb1=1;byteb2=2;intb3=b1+b2;自動類型轉(zhuǎn)換類型轉(zhuǎn)換表變量1變量2結(jié)果值變量1變量2結(jié)果值

bytebyteintlonglonglongbyteshortintbytefloatfloatintbyteintintfloatfloatshortintintlongfloatfloatintintintfloatdoubledoublelongintlongdoubledoubledouble自動類型轉(zhuǎn)換intb1=1;longb2=2;<?>b3=b1+b2;以下代碼有無錯,如有錯應(yīng)如何更改?bytec1=1;bytec2=c1+1;d3的值是多少,3or3.5?intd1=7;intd2=2;intd3=d1/d2;d3的值是多少,3or3.5?intd1=7;doubled2=2;doubled3=d1/d2;強制類型轉(zhuǎn)換強制性地將地將數(shù)據(jù)的類型進(jìn)行轉(zhuǎn)換。(數(shù)據(jù)類型)變量名

intb3=(int)3.7longx;inty;y=(?)(x+1);

intb1=7;intb2=2;<?>b3=(double)b1/b2;以下代碼有沒錯誤,就如何修改?

bytea=7;intb=2;doublec=3.4;intd=a/b+c;運算符的優(yōu)先級運算符之間的先算和后算關(guān)系叫優(yōu)先關(guān)系。

a+b>>c+d//先算“+”還是先算“>>”?(a+b)>>(c+d)//運算先后關(guān)系一目了然括號()的優(yōu)先級最大,為了增加代碼的可讀性,應(yīng)使用括號。程序的輸入/輸出System.out.println(“……”)表示在控制臺上輸出括里面的內(nèi)容,并換行;System.out.print(“……”)表示在控制臺上輸出括號里面的內(nèi)容,但不換行;通過main()方法接收參數(shù)publicstaticvoidmain(String[]args){ Stringstr1=args[0];//接收第一個參數(shù)

Stringstr1=args[1];//接收第二個參數(shù)

Strin

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論