任務(wù)2-處理考試系統(tǒng)中的成績_第1頁
任務(wù)2-處理考試系統(tǒng)中的成績_第2頁
任務(wù)2-處理考試系統(tǒng)中的成績_第3頁
任務(wù)2-處理考試系統(tǒng)中的成績_第4頁
任務(wù)2-處理考試系統(tǒng)中的成績_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

任務(wù)2——處理考試系統(tǒng)中的成績

學(xué)習(xí)情境一(項(xiàng)目開發(fā)準(zhǔn)備)學(xué)習(xí)目標(biāo)掌握關(guān)鍵字、標(biāo)識(shí)符的概念。掌握基本數(shù)據(jù)類型和表示方法及其類型轉(zhuǎn)換。掌握常量、變量、運(yùn)算符和表達(dá)式的概念和運(yùn)算規(guī)則。理解并掌握三種基本的流程控制語句及實(shí)現(xiàn)方法。掌握數(shù)組的聲明、創(chuàng)建、初始化和引用。2.1任務(wù)描述對(duì)考試成績進(jìn)行相關(guān)數(shù)據(jù)處理,我們將其分解為兩個(gè)子任務(wù)子任務(wù)一:成績的評(píng)價(jià)子任務(wù)二:成績的排序任務(wù)【2-1】成績的評(píng)價(jià)技術(shù)要點(diǎn)任務(wù)實(shí)施技術(shù)要點(diǎn)——標(biāo)識(shí)符、變量和常量標(biāo)識(shí)符按照一定的規(guī)則構(gòu)成的字符串序列。是表示變量、常量、類、方法等元素的名字.命名規(guī)則(1)區(qū)分大小寫。(2)不能以數(shù)字開頭。(3)以字母或下劃線_或$符號(hào)開頭。(4)不能使用Java的關(guān)鍵字。例如:stu_id,$name,_btn2為合法的標(biāo)識(shí)符。

stu-id,name*,2btn,class為不合法的標(biāo)識(shí)符。技術(shù)要點(diǎn)——標(biāo)識(shí)符、變量和常量課堂練習(xí):

下列哪些是合法標(biāo)識(shí)符:abc、_a、您好、$s_1、area、Triangle、showMessageDialog1a、a#b、a(1)、s*a關(guān)鍵字關(guān)鍵字也叫保留字,是已經(jīng)有特殊意義、不能在程序中用作其它目的的單詞Java關(guān)鍵字是小寫的英語單詞或單詞的縮寫變量和常量變量——在程序運(yùn)行過程中可以改變的量常量——一經(jīng)建立,在程序運(yùn)行的整個(gè)過程中其值保持不變的量。變量聲明的基本格式如下:[訪問控制符]數(shù)據(jù)類型變量名1[[=變量初值],變量名2[=變量初值],…]

例如:inta=10;常量在程序中可以是具體的值,例如,123,12.3,’c’,也可以用符號(hào)表示使用的常量,稱為符號(hào)常量。符號(hào)常量聲明的基本格式如下:final數(shù)據(jù)類型常量名=常量值例如:finalPI=3.14159;通常,符號(hào)常量名用大寫字母表示。變量和常量變量必須遵循先聲明、后賦值的順序,只有賦值后的變量才能參加運(yùn)算變量聲明格式如下:

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

變量名;

例如:

inti;//聲明了int型變量icharc;//聲明了char型變量cbooleanb;//聲明了boolean型變量binta,b,c;變量和常量

使用變量前必須對(duì)變量賦值,首次對(duì)變量賦值稱為初始化變量,格式如下:

變量名

=表達(dá)式;

例如:

i=5*(3/2)+3*2;b=false;intj,k=1,sum=0;變量和常量課堂練習(xí):編寫程序,聲明int型變量并賦值,然后輸出這個(gè)變量的值計(jì)算二個(gè)整數(shù)的和:

classExample2_1{publicstaticvoidmain(Stringargs[]){intx,y,sum;//變量聲明

x=3;

y=5;

sum=x+y;//求和

System.out.println("二數(shù)之和為:"+sum);

}}在Java中,使用變量要遵守“先聲明后使用”的原則。

技術(shù)要點(diǎn)----數(shù)據(jù)類型及其轉(zhuǎn)換整型——整型變量Java定義可4種整數(shù)類型:字節(jié)型byte、短整型short、整型int、長整型long整型——整型常量(續(xù))Java的整型常量有三種形式:十進(jìn)制:以非0開頭的數(shù)字開頭,由0-9和正負(fù)號(hào)組成;例如,12,-34。八進(jìn)制:以數(shù)字0開頭,由0-7和正負(fù)號(hào)組成;例如,0567。十六進(jìn)制:以0X或0x開頭,由數(shù)字0-9和字母A~F和正負(fù)號(hào)組成;例如,0x3A。注意:其中,Java的整型常量默認(rèn)是int類型,若聲明為長整型,則需在末尾加“l(fā)”或“L”。如:123l、456L……等。。實(shí)型(浮點(diǎn)類型)——實(shí)型變量Java中定義了兩種實(shí)型:單精度(float)和雙精度(double)實(shí)型常量實(shí)型常量有標(biāo)準(zhǔn)記數(shù)法和科學(xué)記數(shù)法兩種表示方法。注意:Java的實(shí)型常量默認(rèn)是double類型。因此在聲明float型常量時(shí),須在數(shù)字末尾加上“f”或“F”,否則編譯會(huì)提示出錯(cuò)。例如:floatsum=12.3//不正確

floatsum=12.3f//必須加上f。字符型變量char類型用來表示Unicode編碼表中的字符。

Unicode定義的國際化的字符集能表示迄今為止人類語言的所有字符集。它是幾十個(gè)字符集的統(tǒng)一,例如拉丁文,希臘語,阿拉伯語等等,因此它要求16位。

Java中的char類型是16位,其范圍是0~65,536,沒有負(fù)數(shù)的char。標(biāo)準(zhǔn)字符集ASCII碼的范圍仍然是0~127。

Unicode的使用對(duì)于英語、德語、西班牙語或法語的語言是有點(diǎn)低效,因?yàn)樗鼈兊淖址苋菀椎乇话?位以內(nèi)。字符型常量字符型常量是是用單引號(hào)括起來的單個(gè)字符。轉(zhuǎn)義字符——以“\”開頭的特殊形式的字符序列。布爾型布爾型變量布爾型變量的類型說明符為boolean,用來表示邏輯值,占內(nèi)存1個(gè)字節(jié)。布爾型常量布爾常量只有兩個(gè)值:“true”和“false”,注意:Java語言中,布爾型數(shù)據(jù)是獨(dú)立的數(shù)據(jù)類型,不支持用非0和0表示的“真”和“假”兩種狀態(tài)?;緮?shù)據(jù)類型publicclassExample2_1{publicstaticvoidmain(String[]args){

inta=56; intb=073;//073是8進(jìn)制數(shù)

intc=0xa38f;//0xa38f是16進(jìn)制數(shù)

longd=8890L; longe=074620; longf=0X7D52ACB; System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); System.out.println("d="+d); System.out.println("e="+e); System.out.println("f="+f);}} }}類型轉(zhuǎn)換基本數(shù)據(jù)類型按精度從“低”到“高”的順序?yàn)椋篵yteshortintlongfloatdouble自動(dòng)轉(zhuǎn)換 需要滿足兩個(gè)條件:1、類型相容;

2、目標(biāo)數(shù)據(jù)類型比原數(shù)據(jù)類型分配的內(nèi)存空間大(即由低到高)。強(qiáng)制轉(zhuǎn)換 發(fā)生在相容數(shù)據(jù)類型之間(即精度由高到低)。語法形式:

(目標(biāo)類型)值技術(shù)要點(diǎn)----運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符及表達(dá)式

+加法-減法*乘法/除法%模運(yùn)算

++遞增--遞減關(guān)系運(yùn)算符及表達(dá)式技術(shù)要點(diǎn)----運(yùn)算符和表達(dá)式

只有一個(gè)運(yùn)算對(duì)象的運(yùn)算符稱為一元運(yùn)算符。例如++x是一個(gè)一元運(yùn)算符,它是對(duì)運(yùn)算對(duì)象x自增加1。

++x,--x:使用X之前,先使X的值加1(或減1);

x++,x--:使用X之后,再使X的值加1(或減1)

設(shè)X=5

則Y=++XY的值為6;Y=X++Y的值為5,而X為6。2.3運(yùn)算符和表達(dá)式邏輯運(yùn)算符及表達(dá)式關(guān)系與邏輯運(yùn)算符運(yùn)算符運(yùn)算用法返回true的情況>大于x1>x2x1大于x2>=不小于x1>=x2x1大于或等于x2<小于x1<x2x1小于x2<=不大于x1<=x2x1小于或等于x2==等于x1==x2x1等于x2!=不等于x1!=x2x1不等于x2

條件運(yùn)算符

運(yùn)算符運(yùn)算用法返回true的情況&&條件與x&&yx和y都是true‖條件或x‖yx或者y是true!條件非!xx為false^條件異或x^yx和y邏輯值不相同運(yùn)算符和表達(dá)式

賦值運(yùn)算符及表達(dá)式運(yùn)算符和表達(dá)式條件運(yùn)算符

一般形式為:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>位運(yùn)算符

移位運(yùn)算符

運(yùn)算符運(yùn)算用法運(yùn)算規(guī)則(設(shè)x=11010110,y=01011001,n=2)運(yùn)算結(jié)果>>右移x>>n將x各位右移n位,左邊按符號(hào)補(bǔ)0或補(bǔ)111110101<<左移x<<n將x各比特位左移n位,右邊補(bǔ)001011000>>>無符號(hào)右移x>>>n將x右移n位(無符號(hào)的),左邊補(bǔ)000110101

右移運(yùn)算符“>>”將一個(gè)數(shù)的二進(jìn)制位序列右移若干位,移出右端的低位被舍棄,最高位則移入原來高位的值。例如:

a=00110111,則a>>2=00001101b=11010011,則b>>2=11110100

左移運(yùn)算符“<<”將一個(gè)數(shù)的二進(jìn)制位序列左移若干位,高位左移后溢出舍棄,不起作用。移位運(yùn)算符移位運(yùn)算符X=4,y=2,計(jì)算z的值Z=x&yZ=x|yZ=x^yZ=X>>yZ=~xZ=x<<yz=x>>>y運(yùn)算符的優(yōu)先級(jí)x<10||x<10x>y&&y>x(x<y+z)&&(x+10<=20)z-y==x&&(y-z)==xx<10&&x>10x>y||y>x!(x<y+z)||!(x+10<=20)(!(x==y))&&(x!=y)&&(x<y||y<x)運(yùn)算符的優(yōu)先級(jí)字符串

字符串字面值是包含在“”內(nèi)的一組字符

例如,下列都是合法的字符串字面值:“HelloWorld!”“您好!”“”//字符串中有1個(gè)空格字符,長度為1“”//空串,長度為0null//不指向任何實(shí)例的空對(duì)象

字符串變量聲明格式為:

String變量名;變量聲明以后就可以對(duì)其賦值。例如:

Strings1=”HelloWorld!”,s2;//聲明String型變量s1和s2,同時(shí)給s1賦值

s2=”您好!”;//給s2賦值

字符串運(yùn)算能將兩個(gè)字符串連接成一個(gè)新的字符串。例如:Strings1=”Java”,s2=”Language”;Strings3=s1+s2;//s3為”JavaLanguage”System.out.println(“s3的值為:”+s3);//輸出字符串“s3的值為:JavaLanguage”運(yùn)算可以連接字符串和其它數(shù)據(jù)類型。例如:

Strings=”邏輯真值是:”+true;//先將true轉(zhuǎn)換成”true”,然后連接

inti=10;System.out.println(“i=”+i);//先將i的值10轉(zhuǎn)換成”10”,然后連接輸入和輸出數(shù)據(jù)

Java使用下列語句向控制臺(tái)輸出數(shù)據(jù):System.out.println();//輸出數(shù)據(jù)后換行

System.out.print();//輸出數(shù)據(jù)后不換行

從JavaSE5.0開始,Java類庫中增加的Scanner類允許通過控制臺(tái)從鍵盤讀取輸入數(shù)據(jù)。通過控制臺(tái)輸入數(shù)據(jù),首先必須按如下方式創(chuàng)建Scanner的對(duì)象:

Scannerin=newScanner(System.in);輸入和輸出數(shù)據(jù)Scanner類的常用方法如下:

StringnextLine()//讀取輸入的下一行內(nèi)容Stringnext()//讀取輸入的下一個(gè)單詞

intnextInt()//讀取輸入的下一個(gè)整數(shù)字符序列

doublenextDouble()//讀取輸入的下一個(gè)浮點(diǎn)數(shù)字符序列

booleannextBoolean()//讀取輸入的下一個(gè)布爾字符序列

輸入和輸出數(shù)據(jù)控制臺(tái)讀取兩行數(shù)據(jù),第1行整行讀取字符串,第2行分別讀取整數(shù)、浮點(diǎn)數(shù)和布爾值

importjava.util.Scanner;publicclassExample2_6{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); Strings=in.nextLine(); inti=in.nextInt(); doubled=in.nextDouble(); booleanb=in.nextBoolean(); System.out.println("s="+s); System.out.println("i="+i); System.out.println("d="+d); System.out.println("b="+b); }}技術(shù)要點(diǎn)——流程控制語句順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)

分支語句——if語句if語句的一般形式:if(<條件表達(dá)式>)<語句組1>;

[else<語句組2>;]if語句的嵌套形式if(<條件1>)<語句塊1>;elseif(<條件2>)<語句塊2>;elseif(<條件3>)分支語句——if語句分支語句——if語句例

判斷學(xué)生成績是否及格

publicclassExample3_1{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); intscore=in.nextInt(); if(score>=60) System.out.println("成績及格"); else System.out.println("成績不及格"); }}分支語句——if語句例

將百分制成績轉(zhuǎn)換成等級(jí)制成績

importjava.util.Scanner;publicclassExample3_2{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); intscore=in.nextInt(); if(score>=90) System.out.println("成績優(yōu)秀!"); elseif(score>=80) System.out.println("成績良好!"); elseif(score>=70) System.out.println("成績中等!"); elseif(score>=60) System.out.println("成績及格!"); else System.out.println("成績不及格!"); }}分支語句——if語句分支語句——if語句嵌套的if語句

嵌套的if語句中,else語句總是與同一個(gè)語句塊中最近的且尚未匹配的if語句匹配

例如:if(條件a)

語句1;if(條件b)

語句2;else

語句3;else只能與條件b結(jié)合

分支語句——if語句分支語句——if語句

求a、b、c中的最大值:

intmax; if(a>b) if(c>a) max=c; else//與if(c>a)匹配

max=a;else//與if(a>b)匹配

if(c>b) max=c; else//與if(c>b)匹配

max=b;System.out.println("最大值是:"+max);

分支語句——switch語句switch語句的一般形式:

switch(<變量名稱/表達(dá)式>){case<值1>:<語句塊1>;break;case<值2>:<語句塊2>;break;………..case<值n>:<語句塊n>;break;[default:<缺省語句塊>;]}任務(wù)【2-1】“成績的評(píng)價(jià)”任務(wù)實(shí)施例2-4TestSwitch.javapublicclassTestSwitch{publicstaticvoidmain(String[]args){ intscore=95; inti=score/10; switch(i){ case10: case9: System.out.println("優(yōu)秀"); break; case8: System.out.println("良好"); break; case7:

System.out.println("中等");break; case6: System.out.println("及格"); break; default: System.out.println("不及格");

}}}任務(wù)【2-2】成績的排序技術(shù)要點(diǎn)循環(huán)語句數(shù)組循環(huán)語句——while語句while語句是Java語言最基本的循環(huán)語句。while語句的一般形式:

while(<條件表達(dá)式>){<循環(huán)體>;}循環(huán)語句——do-whiledo-while語句的一般形式為:

do{<循環(huán)體語句>;}while(<條件表達(dá)式>);用while循環(huán)計(jì)算2的1~5次冪publicclassExample3_8{ publicstaticvoidmain(String[]args){ intresult=1;//result保存累積值

inti=1;//i為循環(huán)控制變量

while(i<=5){ result*=2; System.out.println(result); i++; } }}使用dowhile循環(huán)從鍵盤輸入多行字符串,直到輸入“exit”importjava.util.Scanner;publicclassExample3_9{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); Strings; do{ s=in.nextLine(); System.out.println(s); }while(!s.equals("exit"));}}循環(huán)語句——for語句for語句的一般形式為:

for(<表達(dá)式1>;<表達(dá)式2>;<表達(dá)式3>){<循環(huán)體語句>}其中:表達(dá)式1是設(shè)置控制循環(huán)的變量的初值。表達(dá)式2作為條件判斷部分可以是任何布爾表達(dá)式。表達(dá)式3是修改控制循環(huán)變量遞增或遞減,從而改變循環(huán)條件。

用for循環(huán)計(jì)算1~100的累加和publicclassExample3_5{ publicstaticvoidmain(String[]args){ inti,sum=0;//sum保存累加和

for(i=1;i<=100;i++) sum=sum+i; System.out.println("累加和為:"+sum); }}循環(huán)語句for循環(huán)連同循環(huán)體構(gòu)成一個(gè)作用域,for循環(huán)內(nèi)定義的變量僅僅在for循環(huán)內(nèi)具有可見性

publicclassExample3_5A{ publicstaticvoidmain(String[]args){ intsum=0; for(inti=1;i<=100;i++) sum=sum+i; System.out.println("累加和為:"+sum);

//System.out.println(i); }}

循環(huán)語句for循環(huán)的其它形式:

多重循環(huán)控制變量的for語句

例如:兩個(gè)循環(huán)控制變量,一個(gè)自增,一個(gè)自減,兩者的大小關(guān)系改變時(shí)終止循環(huán)

publicclassExample3_6{ publicstaticvoidmain(String[]args){ for(inti=0,j=10;i<=j;i++,j--) System.out.println("i="+i+";j="+j); }}

循環(huán)語句在for語句外初始化循環(huán)控制變量

publicclassExample3_7{ publicstaticvoidmain(String[]args){ inti=1; for(;i<=10;i++)//for語句省略了初始化表達(dá)式

System.out.println(i); }}循環(huán)語句在循環(huán)體內(nèi)改變循環(huán)控制變量

for(;i<=10;){ System.out.println(i);i++;}無boolean表達(dá)式的for語句

for(;;)

循環(huán)體語句;

循環(huán)嵌套用嵌套的for循環(huán)輸出九九乘法表

.跳轉(zhuǎn)語句——break語句在Java語言中,break語句有3個(gè)作用:在switch語句中,break語句的作用是直接中斷當(dāng)前正在執(zhí)行的語句序列。在循環(huán)語句中,break語句可以強(qiáng)迫退出循環(huán),使本次循環(huán)終止。與標(biāo)號(hào)語句配合使用從內(nèi)層循環(huán)或內(nèi)層程序塊中退出。跳轉(zhuǎn)語句——break語句PublicclassTestBreak{ publicstaticvoidmain(String[]args){ for(inti=1;i<=100;i++){if(i%2==0)break; System.out.println(i);}}}跳轉(zhuǎn)語句——continue語句continue語句主要有兩種作用,循環(huán)結(jié)構(gòu)中,用來結(jié)束本次循環(huán);與標(biāo)號(hào)語句配合使用,實(shí)現(xiàn)從內(nèi)循環(huán)中退到外循環(huán)。注意:無標(biāo)號(hào)的continue語句結(jié)束本次循環(huán),有標(biāo)號(hào)的continue語句可以選擇哪一層的循環(huán)被繼續(xù)執(zhí)行。continue語句用于for、while、do-while等循環(huán)體中,常與if語句一起使用。數(shù)組數(shù)組是Java語言中提供的一種簡單的復(fù)合數(shù)據(jù)類型,是相同類型變量的集合;數(shù)組中的每個(gè)元素具有相同的數(shù)據(jù)類型,可以用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來唯一地確定數(shù)組中的元素;數(shù)組下標(biāo)從0開始。數(shù)組有一維數(shù)組和多維數(shù)組。數(shù)組的聲明一維數(shù)組的聲明有下列兩種格式:數(shù)組的類型[]數(shù)組名數(shù)組的類型數(shù)組名[]二維數(shù)組的聲明有下列兩種格式數(shù)組的類型[][]數(shù)組名;數(shù)組的類型數(shù)組名[][]數(shù)組的創(chuàng)建數(shù)組的聲明并不為數(shù)組分配內(nèi)存,因此不能訪問數(shù)組元素。Java中需要通過new關(guān)鍵字為其分配內(nèi)存。為一維數(shù)組分配內(nèi)存空間的格式如下:數(shù)組名=new數(shù)組元素的類型[數(shù)組元素的個(gè)數(shù)];

例如:q=newint[10];也可以寫成:inta=newint[10];數(shù)組的初始化數(shù)組的引用一維數(shù)組元素的引用方式為:數(shù)組名[索引號(hào)]二維數(shù)組元素的引用方式為:數(shù)組名[索引號(hào)1][索引號(hào)2]

其中,索引號(hào)為數(shù)組下標(biāo),它可以為整型常數(shù)或表達(dá)式,從0開始。數(shù)組通過數(shù)組名引用length可以獲得數(shù)組長度,格式為:

數(shù)組名.length

聲明數(shù)組時(shí)可以同時(shí)初始化數(shù)組。此時(shí)初始值放在一對(duì){}內(nèi),中間用逗號(hào)分隔,數(shù)組長度由初始值的數(shù)目決定。例如:

inta[]={1,2,3};//整型數(shù)組a有3個(gè)元素

String[]s={“China”,“Russia”,“France”,“Britain”,“America”};//s有5個(gè)元素?cái)?shù)組生成5個(gè)隨機(jī)數(shù),并用冒泡法排序冒泡法排序使用迭代的方式重復(fù)比較數(shù)組中的元素,并執(zhí)行必要的交換,每次迭代把最小值或最大值移到一端,經(jīng)過length-1次迭代后排序結(jié)束

for(inti=0;i<=r.length-

溫馨提示

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

評(píng)論

0/150

提交評(píng)論