第3章 運(yùn)算符、表達(dá)式和語句_第1頁
第3章 運(yùn)算符、表達(dá)式和語句_第2頁
第3章 運(yùn)算符、表達(dá)式和語句_第3頁
第3章 運(yùn)算符、表達(dá)式和語句_第4頁
第3章 運(yùn)算符、表達(dá)式和語句_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章運(yùn)算符、表達(dá)式和語句3.1運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符賦值運(yùn)算符位運(yùn)算符instanceof位移運(yùn)算符三元運(yùn)算符算術(shù)運(yùn)算符主要用于算術(shù)表達(dá)式中。+加法運(yùn)算符,也可做字符的連接用途。-減法運(yùn)算符。*乘法運(yùn)算符。/除法運(yùn)算符。%求余運(yùn)算符。++遞增--遞減算術(shù)運(yùn)算符的使用示例publicclassarithmatico{publicstaticvoidmain(String

args[]){inta=5+4;intb=a*2;Sytem.out.println(“a=”+a);Sytem.out.println(“b=”+b);}}自增,自減運(yùn)算符++x 表示在使用x之前,先使x的值加1;--x 表示在使用x之前,先使x的值減1;x++

表示在使用x之后,再使x的值加1;--x

表示在使用x之后,再使x的值減1;例x的原值是5那么y=++x;先把x+1,再給y賦值為6;而y=x++;則是先5賦值給y,再x的值增加為6算數(shù)混合運(yùn)算的精度doublebyteshortcharintlongfloat精度由低到高當(dāng)表達(dá)式中有不同類型的值時(shí),按最高精度計(jì)算。關(guān)系運(yùn)算符關(guān)系運(yùn)算符是用來確定一個操作數(shù)和另一個操作數(shù)之間的關(guān)系,既然描述的是關(guān)系,那結(jié)果就為對或不對。在Java里就表示為真或假。下面是關(guān)系運(yùn)算符的分類?!?=” :表示等于?!埃?” :表示不等于?!?gt;=” :表示大于等于。“<=” :表示小于等于。“>” :表示大于。“<” :表示小于。關(guān)系運(yùn)算符比較基本類型時(shí),表示比較的值是否相等。如果用“==”和“!=”比較對象,就表示比較對象的引用是否相等。例關(guān)系運(yùn)算符的使用示例publicclassrelationship{ publicstaticvoidmain(String

args[]){ floata=10.0f; doubleb=10.0; if(a==b){

System.out.println(“a和b相等”);

} else{

System.out.println(“a和b不相等”);

} }}你的邏輯性強(qiáng)嗎?優(yōu)秀的理學(xué)研究成果表明,一個人進(jìn)行推理速度準(zhǔn)的確性能相當(dāng)可靠地表明他的推理能力

邏輯運(yùn)算符

邏輯運(yùn)算符邏輯運(yùn)算符,其實(shí)就是比較邏輯關(guān)系,運(yùn)算結(jié)果為true或false。邏輯運(yùn)算符包括如下幾種。與運(yùn)算符:&&或運(yùn)算符:||非運(yùn)算符:!“&&”:與運(yùn)算符“&&”運(yùn)算符比較的是符號兩邊的表達(dá)式的真假。publicclassHelloWorld10{ publicstaticvoidmain(String

args[]) {

booleann=(4>3)&&(2<8);

System.out.println(n); }}“||”:或運(yùn)算符“||”運(yùn)算符比較的是符號兩邊的表達(dá)式的真假。//修改上節(jié)例子,如下形式publicclassHelloWorld11{ publicstaticvoidmain(String

args[]) {

booleann=(4>3)||(2>8); //打印并顯示結(jié)果

System.out.println(n); }}“!”:非運(yùn)算符“!”運(yùn)算符是把符號右邊的表達(dá)式的結(jié)果取反。如為true,取反為false;如為false,取反為true。//修改上節(jié)例子,如下形式publicclassHelloWorld12{ publicstaticvoidmain(String

args[]) {

booleann=!(2>8); //打印并顯示結(jié)果

System.out.println(n); }}邏輯運(yùn)算符總結(jié)“&&”運(yùn)算符,兩邊都真才真。符號的兩邊表達(dá)式值都為true時(shí),結(jié)果為true;只要有一邊不為true,結(jié)果即為false?!皘|”運(yùn)算符,兩邊都假才假。符號的兩邊表達(dá)式值只要有一邊為true,結(jié)果就為true;如果都為false,結(jié)果即為false?!埃 边\(yùn)算符,是非顛倒。原表達(dá)式值為true,結(jié)果為false;如果為false,結(jié)果即為true。賦值運(yùn)算符 賦值運(yùn)算符就是把一個值賦給一個變量。

好比在日常生活中進(jìn)行a=3操作,以后就可以用a表示3這個數(shù)值了一樣,即把3賦給變量a。位運(yùn)算符

按位運(yùn)算符為運(yùn)算符主要用于對整數(shù)類型二進(jìn)制運(yùn)算,將操作數(shù)轉(zhuǎn)換成二進(jìn)制,然后按位進(jìn)行比較。運(yùn)算符包括如下幾種?!?”:按位與運(yùn)算符?!皘”:按位或運(yùn)算符?!癪”:按位異或運(yùn)算符。xyX&yX|yX^y00000010111001111110位運(yùn)算符比較規(guī)則“&”:按位與運(yùn)算符4&3轉(zhuǎn)換為二進(jìn)制代碼4——01003——00110000 按位與運(yùn)算符,兩個數(shù)同位都為1的時(shí)候該位結(jié)果即為1,有一邊不是1的話該位結(jié)果就為0?!皘”:按位或運(yùn)算符4|3轉(zhuǎn)換為二進(jìn)制代碼4——01003——00110111按位或運(yùn)算符,兩個數(shù)同位有一個為1的時(shí)候該位結(jié)果即為1。按位非~是單目運(yùn)算符對一個整型數(shù)據(jù)a,運(yùn)算結(jié)果是一個整型數(shù)據(jù)c運(yùn)算法則: 如果a對于該位為1,則c對應(yīng)該位為0,否則是1.

“~”:按位非運(yùn)算符“^”:按位異或運(yùn)算符4^3轉(zhuǎn)換為二進(jìn)制代碼4——01003——00110111按位異或運(yùn)算符,兩個數(shù)同位都為1的時(shí)候該位結(jié)果即為0。有一個為1該位結(jié)果即為1。instanceof用于判斷一個對象是否屬于一個類,是則為true,否則為false補(bǔ)充:位移運(yùn)算符位移運(yùn)算符先把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),然后向右向左移動相應(yīng)的位數(shù)。位移運(yùn)算符包括如下幾種?!?gt;>” :帶符號右移運(yùn)算符?!?lt;<” :帶符號左移運(yùn)算符?!?gt;>>” :無符號右移運(yùn)算符?!?gt;>”:帶符號右移運(yùn)算符7>>2轉(zhuǎn)換為二進(jìn)制代碼7————00000111移動1位—000000111移動2位—0000000111 右移運(yùn)算符是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向右移動指定的位數(shù)。該右移運(yùn)算符是有符號的,如果為正數(shù)就補(bǔ)0,如果為負(fù)數(shù)就補(bǔ)1?!?lt;<”:帶符號左移運(yùn)算符7<<2轉(zhuǎn)換為二進(jìn)制代碼7————00000111移動1位—00001110移動2位—00011100 左移運(yùn)算符是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向左移動指定的位數(shù)。該左移運(yùn)算符是有符號的,如果為正數(shù)就補(bǔ)0,如果為負(fù)數(shù)就補(bǔ)1。“>>>”:無符號右移運(yùn)算符7>>>2轉(zhuǎn)換為二進(jìn)制代碼7————00000111移動1位—000000111移動2位—0000000111 無符號右移運(yùn)算符是把操作數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)向右移動指定的位數(shù)。無符號右移運(yùn)算符全在最高位上補(bǔ)0。

三元運(yùn)算符是對三個表達(dá)式進(jìn)行的集中比較,條件判斷語句的值為true時(shí),結(jié)果就為第二個表達(dá)式值;如果條件判斷語句的值為false時(shí),結(jié)果就為第三個表達(dá)式值。語法如下: 條件判斷語句?表達(dá)式1:表達(dá)式2三元運(yùn)算符publicclassHelloWorld13{ publicstaticvoidmain(String

args[]) { //4<3表達(dá)式的結(jié)果為true和false的其中一個。

booleann=(4<3)?true:false; //打印并顯示結(jié)果

System.out.println(n); }}運(yùn)算符綜述運(yùn)算符之間有比較嚴(yán)格的優(yōu)先級,和數(shù)學(xué)中的先乘除法則后加減法則運(yùn)算一樣。運(yùn)算符的優(yōu)先性決定了表達(dá)式中運(yùn)算執(zhí)行的先后順序。括號擁有最高的優(yōu)先級,接下來是一元運(yùn)算符,最后是二元運(yùn)算符。 說明:雖然運(yùn)算符之間有嚴(yán)格的優(yōu)先級,但是不主張直接使用,還是盡量使用括號,以便更容易讀懂程序。3.2語句概述 程序的流程就像生活的道路,不可能永遠(yuǎn)一帆風(fēng)順。if結(jié)構(gòu)if語句的笑話 老婆給當(dāng)程序員的老公打電話:下班順路買一斤包子帶回來,如果看到賣西瓜的,買一個。當(dāng)晚,程序員老公手捧一個包子進(jìn)了家門。。。老婆怒道:你怎么就買了一個包子?!老公答曰:因?yàn)榭吹搅速u西瓜的。形式一:ifif(有好看的電視節(jié)目){

打開收看;}形式二:if...elseif(有好看的電視節(jié)目){

打開收看;}else{

不看電視;}形式三:if...elseif...elseif(有好看的電視節(jié)目){

打開收看;}elseif(有朋友約我玩){

出去玩;}else{

什么也不干;} 下面是一個實(shí)現(xiàn)根據(jù)月份的值,輸出該月份包含的日期數(shù),2月份全部輸出28,不考慮閏年的示例代碼:intmonth=3;intdays=0;//日期數(shù)if(month==1){days=31;}elseif(month==2){days=28;}elseif(month==3){days=31;}elseif(month==4){days=30;}elseif(month==5){days=31;}elseif(month==6){days=30;}elseif(month==7){days=31;}elseif(month==8){days=31;}elseif(month==9){days=30;}elseif(month==10){days=31;}elseif(month==11){days=30;}elseif(month==12){days=31;}System.out.println(days);再來看一個示例代碼,該代碼的功能是實(shí)現(xiàn)將百分制的成績轉(zhuǎn)換為A、B、C、D和E,代碼如下:intscore=87;if(score>=90){System.out.println(‘A’);}elseif(score>=80){System.out.println(‘B’);}elseif(score>=70){System.out.println(‘C’);}elseif(score>=60){System.out.println(‘D’);}else{System.out.println(‘E’);}switch語句 當(dāng)判斷的條件很多時(shí),switch分支語句要比if語句要方便很多。switch(今天星期幾){ case星期一:

{

上班;

break;

} case星期二:

{

看電影;

break;

} ……. case星期天:

{

超市;

break;

} …… default:

今天星期八!}

switch表達(dá)式中只能是整數(shù)類型和有順序的數(shù)列。inti=0;int

tempriture=0;if(tempriture<10){i=1;}elseif(tempriture>=10&&tempriture<=24){i=2;}elseif(tempriture>=25&&tempriture<=34){i=3;}elseif{tempriture>35){i=4;}Stringstr="";switch(i){case1:str="有點(diǎn)冷。要多穿衣服";break;case2:str="正合適。出去玩吧。";break;case3:str="有點(diǎn)熱。";break;case4:str="太熱了!開空調(diào).";break;}開不開空調(diào)?分?jǐn)?shù)等級的判斷publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);

System.out.println("請輸入分?jǐn)?shù)");

intscore=scanner.nextInt();switch(score/10){case9:

System.out.println("優(yōu)");break;case8:

System.out.println("良");break;case7:

System.out.println("中");break;default:

System.out.println("差");break;}}for循環(huán)for循環(huán)語句通過判斷表達(dá)式的成立與否,來決定循環(huán)的次數(shù)。其基本語法如下:for(變量初始化;表達(dá)式;循環(huán)表達(dá)式){循環(huán)體}for(錢=0;錢<=1千萬;錢數(shù)累積){賺錢}For語句與數(shù)組傳統(tǒng)方式遍歷數(shù)組VS改進(jìn)方式遍歷數(shù)組Example3_8.javapublicclassExample3_8{ publicstaticvoidmain(String

args[]){

inta[]={1,2,3,4}; charb[]={'a','b','c','d'};

for(inti=0;i<a.length;i++){//傳統(tǒng)方式

System.out.println(a[i]); }

for(inti=0;i<b.length;i++){//傳統(tǒng)方式

System.out.println(b[i]); }

for(int

i:a){//循環(huán)變量i依次取數(shù)組a的每一個元素的值(改進(jìn)方式)

System.out.println(i); }

for(char

ch:b){//循環(huán)變量

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論