




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
運算符、表達式和語句運算符與表達式語句、注釋if條件分支語句switch開關語句循環語句break和continue語句for語句與數組枚舉類型與for、switch語句
主要內容
1變量變量就是系統為程序分配的一塊內存單元,用來存儲各種類型的數據。根據所存儲的數據類型的不同,有各種不同類型的變量。變量名代表這塊內存中的數據。
intx=0,y;//變量聲明,初始化
y=x+3;//變量定義(賦值)“日期”類型的兩種不同表達:方式一: intday,month,year;//定義年、月、日
intd1,m1,y1; //定義一個日期
intd2,m2,y2; //定義另一個日期方式二:
classDate{
intday;
intmonth;
intyear; voidsetDate(inta,intb,intc){...} }引用數據類型—類在Java中,一個類聲明后,不能直接引用,必須經過實例化:
基本類型聲明后,直接開空間。 如: inta; a=12;
非基本類型不直接開空間,而是開辟引用空間,數據空間沒有開。只有通過實例化,才能給數據開辟空間。類的變量的聲明與引用例: 1 Datetoday; 2 today=newDate();Todaydaymonthyear0xabcd0000xabcd類的變量的聲明與引用1 Datea,b;2 a=newDate();3 b=a;ab
daymonthyear0xabcd0000xabcd0xabcd引用型變量之間的賦值
2函數返回值類型函數名(參數類型形式參數1,參數類型形式參數2,….){程序代碼
return返回值;}1形式參數:方法被調用時用于接收外部傳入的數據的變量。2參數類型:形式參數的數據類型。3返回值:方法在執行完畢后返還給調用它的程序的數據。4返回值類型:函數要返回的結果的數據類型5實參:調用函數時實際傳給函數形式參數的數據。
函數3運算符與表達式與C不同之處:
Java是強類型語言,類型限制比C嚴格,運算符的操作對象的類型會受到更多限制。
Java不提供指針運算符,增加了對象操作符“instanceof”,字符串運算符“+”,零填充的右移“>>>”等。Java中的運算符算術運算符賦值運算符比較運算符邏輯運算符算術運算符先運算,再取值先取值,再運算算術運算符的注意問題1、“+”除字符串相加功能外,還能把非字符串轉換成字符串,如:“x”+123;的結果是“x123”。2、如果對負數取模,可以把模數負號忽略不記,但被模數是負數就另當別論了。如:5%-2=1。3、對于除號“/”,它的整數除和小數除是有區別的:整數之間做除法時,只保留整數部分而舍棄小數部分。如:intx=3510;x=x/1000*1000算術混合運算的精度精度從“低”到“高”排列的順序是:
byteshortcharintlongfloatdouble
Java在計算算術表達式的值時,使用下列計算精度規則:(1)如果表達式中有雙精度浮點數(double型數據),則按雙精度進行運算。(2)如果表達式中最高精度是單精度浮點數(float型數據),則按單精度進行運算。(3)如果表達式中最高精度是long型整數,則按long精度進行運算。(4)如果表達式中最高精度低于int型整數,則按int精度進行運算。算術運算符的應用技巧思考題1:某個培訓中心要為新到的學員安排房間,假設共有x個學員,每個房間可以住6人,讓你用一個公式來計算他們要住的房間數?思考題2:假設你要讓x的值在0至9之間循環變化,請寫出相應的程序代碼。思考題1答案:
(x+5)/6。這種算法還可用在查看留言板的分頁顯示上:其中x是總共的留言數,6是每頁顯示的留言數,結果就是總共有多少頁。思考題2答案:intx=0;while(true){x=(x+1)%10;}比較運算符注1:比較運算符的結果都是boolean型,要么是true,要么是false。注2:比較運算符“==”不能誤寫成“=”邏輯運算符注1:邏輯運算符用于對boolean型結果的表達式進行運算,運算的結果都是boolean型。注2:“&”和“&&”的區別在于,如果使用前者連接,那么無論任何情況,“&”兩邊的表達式都會參與計算。如果使用后者連接,當“&&”的左邊為false,則將不會計算其右邊的表達式。“|”和“||”的區別與“&”和“&&”的區別一樣。運算符舉例publicclassCHAR{publicstaticvoidmain(String[]args){chara1='+',a2='點',a3='進',a4='攻';charsecret='8';a1=(char)(a1^secret);a2=(char)(a2^secret);a3=(char)(a3^secret);a4=(char)(a4^secret);
System.out.println("密文:"+a1+a2+a3+a4);a1=(char)(a1^secret);a2=(char)(a2^secret);a3=(char)(a3^secret);a4=(char)(a4^secret);
System.out.println("明文:"+a1+a2+a3+a4);}}密文:S炁迣攃明文:+點進攻“&”和“&&”的區別舉例publicclassTestAnd{publicstaticvoidmain(String[]args){
intx=0;
inty=3;if(x!=0&&y==y/x)
System.out.println("y="+y);}}由于判斷條件中的第一個布爾表達式是不成立的,程序就不會判斷第二個布爾表達式的值,這就是“短路”。如果兩個表達式之間用“&”來連接,程序運行時就會出錯。賦值運算符注1:在JAVA里可以把賦值語句連在一起,如:
x=y=z=5;
在這個語句中,所有三個變量都得到同樣的值5。instanceof
運算符
instanceof
運算符是二目運算符。左面的操作元是一個對象;右面是一個類。當左面的對象是右面的類或子類創建的對象時,該運算符運算的結果是true,否則是false。
運算符的優先級和結合性2語句概述
Java里的語句可分為以下六類。1.方法調用語句。如:System.out.println("Hello");2.表達式語句表示式尾加上分號。比如賦值語句:x=23;3.復合語句(語句塊)可以用{}把一些語句括起來構成復合語句,如:
{z=123+x;
System.out.println("Howareyou");}4.空語句。一個分號也是一條語句,稱做空語句。5.控制語句。控制語句分為條件分支語句、開關語句和循環語句。6.package語句和import語句。它們和類、對象有關,將在第4章講解。以“;”為語句的分隔符。一個語句可寫在連續的若干行內。如:允許空格、Tab鍵和換行。兩個語句等價:
x=a+b+c+d+e;x=a+b+c
d+e;// 注釋一行/**/注釋一行或多行/***/文檔注釋。文本自動包含在用javadoc命令生成的HTML格式的文檔中。3注釋增加程序可讀性4程序的流程控制順序結構選擇結構循環結構與c++區別:(1)Java語言不再使用goto語句;(2)使用帶標號的break和continue。if語句的選擇結構if(表達式)語句;if(表達式)語句1;else語句2;if(表達式1)語句1;
elseif(表達式2)語句2;
elseif(表達式3)語句3;
… else語句n;每個語句可以是使用{}組成的復合語句If語句還可以嵌套使用
if(表達式1) if(表達式2)語句1;
else語句2;
esle
if(表達式3)語句3;
else語句4; 嵌套時最好使用{}確定層次界限。注意:條件表達式只能是布爾型的,而C語言中可以是任意類型的表達式。語句可以是單一,也可以是復合語句(用大括號{}括起來的若干條語句)。如果是單一的語句,不要忘了語句后的分號。else子句不能單獨作為語句使用,它必須和if配對使用。else總是與離它最近尚未配對的if配對,可以通過使用大括號{}來改變配對關系。publicclassExample3_2{publicstaticvoidmain(String
args[]){
inta=9,b=5,c=7,t=0;
if(b<a){t=a;a=b;b=t;}
if(c<a){t=a;a=c;c=t;}
if(c<b){t=b;b=c;c=t;}
System.out.println("a="+a+",b="+b+",c="+c);}}將變量a,b,c內存中的數值按大小順序進行互換。switch語句的選擇結構switch(整型表達式){ case常量表達式1:語句1; case常量表達式2:語句2; … case常量表達式n:語句n; default:語句;}default語句是可選的,它接受除上面接受值的其他值,通俗的講,就是誰也不要的都歸它。case后面可以跟多個語句,這些語句可以不用大括號括起來。switch語句判斷條件可接受int,byte,char,short型,不可以接受其他類型一旦碰到第一次case匹配,就會開始順序執行以后所有的程序代碼,而不管后面的case條件是否匹配,后面case條件下的代碼都會被執行,直到碰到break語句為止。importjava.util.Scanner;publicclassExample3_4{publicstaticvoidmain(String
args[]){
intnumber=0;
System.out.println("輸入正整數(回車確定)");Scannerreader=newScanner(System.in);number=reader.nextInt();
switch(number){case9:case131:case12:System.out.println(number+"是三等獎");break;case209:case596:case27:System.out.println(number+"是二等獎");break;case875:case316:case59:System.out.println(number+"是一等獎");break;default:System.out.println(number+"未中獎");}}}for循環語句
for(表達式1;表達式2;表達式3)語句for(intx=1;x<10;x++){
System.out.println("x="+x);}intx=1;for(;x<10;x++){
System.out.println("x="+x);}intx=1;for(;x<10;){
System.out.println("x="+x);x++;}intx=1;for(;;){
if(x>=10) break;
System.out.println("x="+x);x++;}publicclassExample3_5{publicstaticvoidmain(String
args[]){longsum=0,a=8,item=a,n=12,I=1;
for(i=1;i<=n;i++){sum=sum+item;item=item*10+a;}
System.out.println(sum);}}計算8+88+888+8888……的前12項和。while循環語句
While(表達式)語句;intx=1;while(x<3){
System.out.println("x="+x);x++;}publicclassExample3_6{publicstaticvoidmain(String
args[]){doublesum=0,item=1;
inti=1,n=20;
while(i<=n){sum=sum+item;i=i+1;item=item*(1.0/i);}
System.out.println("sum="+sum);}}計算
1+1/2!+1/3!+1/4!…的前20項。
do-while循環語句do語句while(表達式);publicclassTestDo{publicstaticvoidmain(String[]args){
inty=3;do{ System.out.println("ok2"); y--;}
while(y==0);}}break語句
break語句可以中止循環中的子語句和switch語句。一個無標號的break語句會把控制傳給當前(最內)循環(while,do.For或Switch)的下一條語句。如果有標號,控制會被傳遞給當前方法中的帶有這一標號的語句。如:st:while(true){
while(true){ breakst;}}//標號必須在循環的前面,break+標號的作用本質上是限定了break語句到底依附于哪個循環continue語句
continue語句只能出現在循環語句(while,do,for)的子語句塊中,無標號的continue語句的作用是跳過當前循環的剩余語句塊,接著執行下一次循環。for(inti=0;i<10;i++){if(i%2==0) continue;
System.out.println(i);}135791
Loop:while(true){2 for(…){3 switch(){4 case-1:5 case‘\n’:6
breakloop;
7 …8 }9 }10 }11test:for(…){12 …13 while(…){14 if(…){15 …16
continuetest;17 }18 }19 }//跳出while去11行//跳到11行publicclassExample3_7{publicstaticvoidmain(String
args[]){
intsum=0,i,j;for(i=1;i<=10;i++){if(i%2==0){//計算1+3+5+7+9continue;}sum=sum+i;}
System.out.println("sum="+sum);
for(j=2;j<=100;j++){for(i=2;i<=j/2;i++){
if(j%i==0)break;}
if(i>j/2){
System.out.println(""+j+"是素數");}}}}除了上面介紹的流程控制語句外,Java語言中影響程序執行流程的語句還有兩類:return語句和異常處理語句。return語句從當前方法中退出后,返回到調用該方法的語句處,繼續程序的執行,有關內容將在后面介紹。異常處理是Java語言提供的一種運行時錯誤處理機制,這也將在后面的內容中詳細介紹。其他流程控制語句5數組(枚舉類型)與for(switch)語句for(聲明循環變量:數組的名字)循環變量的類型必須和數組的類型相同;“聲明循環變量”必須是變量聲明,不能使用已經聲明過的變量,如:inti;for(i:a){}publicclassExample3_8{publicstaticvoidmain(String
args[]){
inta[]={1,2,3,4};charb[]={'a','b','c','d'};
for(intn=0;n<a.length;n++){//傳統方式
System.out.println(a[n]);}
for(intn=0;n<b.length;n++){//傳統方式
System.out.println(b[n]);}
for(int
i:a){//循環變量i依次取數組a的每一個元素的值(改進方式)
System.out.println(i);}
for(char
ch:b){//循環變量ch依次取數組b的每一個元素的值(改進方式)
System.out.println(ch);}}}數組與for語句publicclassCHAR{ publicstaticvoidmain(String[]args){
int[]a={1,2,3,4};
for(int
i:a){
System.out.println(i);} }}1234枚舉類型與for(switch)語句枚舉類型和數組的相互轉化:枚舉類型[]數組名=枚舉類型.values()Enum
WeekDay{sun,mon,tue,wed,thu,fri,sat}WeekDaya[]=WeekDay.values();枚舉類型與for語句enumColor{
red,blue,green,yellow,black}publicclassCHAR{ publicstaticvoidmain(String[]args){
Color[]a=Color.values();
for(Color
i:a){
System.out.println(i); } }}redbluegreenyellowblack枚舉類型與for(switch)語句enumColor{
red,blue,green,yellow,black}publicclassCHAR{ publicstaticvoidmain(String[]args){ Color[]a=Color.values();
for(Color
i:a){
switch(i) {casered:System.out.println(i);break; caseblue:System.out.println(i);break; casegreen:System.out.println(i);break; caseyellow:System.out.println(i);break; caseblack:System.out.println(i);break;} }}}redbluegreenyellowblack6對象數組對象數組:又叫引用數組,數組元素為某個類的對象變量。String[]s;//s是一個String類型一維數組對象變量,s中的每個元素都是String類型對象變量。s=newString[3];//創建一個含有3個元素的String類型數組對象。s[0]=newString(“aa”);//為數組元素賦值s[1]=newString(“bb”);//為數組元素賦值s[2]=newString(“cc”);//為數組元素賦值對象數組舉例1publicclassArray4{ publicstaticvoidmain(String[]args){
String[]s=newString[3]; s[0]=newString("你好"); s[1]=newString("hello"); s[2]=newString("高興"); for(inti=0;i<s.length;i++)
System.out.println(s[i]); }}s012“你好”“hello”“高興”你好hello高興stringonestringtwostringthree對象數組舉例2publicclassArrayOfStringsDemo{publicstaticvoidmain(String[]args){String[]anArray={"StringOne","StringTwo","StringThree"};for(inti=0;i<anArray.length;i++){
System.out.println(anArray[i].toLowerCase()); } }}對象
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 心識與主宰心的關系再探討
- 人工智能在計算機應用中的前沿進展與未來挑戰探索
- 變電站電氣系統運行與維護指南
- 精神穩定性探討
- 橋式起重機控制系統設計與實現
- 安全生產座談會模板
- 小學語文必背古詩集與相關文學理論導讀
- 醫院違反發票管理辦法
- 運動營養學教學中處方單設計的實踐與改進
- 數字支付與金融科技監管的實證研究-洞察及研究
- 2025年小學教師資格考試《綜合素質》邏輯推理能力測評題庫(附答案)
- 深圳市羅湖區教育科學研究院選調教研員筆試真題2024
- DB11-T 2398-2025 水利工程巡視檢查作業規范
- 宜昌市社區工作者招聘真題2024
- 2025至2031年中國紙巾用香精行業投資前景及策略咨詢研究報告
- 2025年浙江杭州市上城區人力資源開發服務有限公司招聘筆試參考題庫附帶答案詳解
- KPI績效培訓課件
- 經營審計管理制度
- 藥品經營使用和質量監督管理辦法2024年宣貫培訓課件
- 村產業道路修建方案
- 偽現金交易培訓
評論
0/150
提交評論