




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2.1Java的數(shù)據(jù)類型2.1.1數(shù)據(jù)類型概述數(shù)據(jù)類型在程序設(shè)計(jì)中有非常重要的意義:程序中所有數(shù)據(jù)都屬于各自特定的數(shù)據(jù)類型,數(shù)據(jù)類型決定了它們的表示方式、取值范圍以及可用操作。數(shù)據(jù)類型決定了數(shù)據(jù)在計(jì)算機(jī)內(nèi)部的表示方式。2.1.2Java的數(shù)據(jù)類型分類Java數(shù)據(jù)類型基本數(shù)據(jù)類型數(shù)值型整型(byte、short、int、long)浮點(diǎn)型(float、double)非數(shù)值型布爾型(boolean)字符型(char)引用數(shù)據(jù)類型類(class)接口(interface)數(shù)組圖2-1Java的數(shù)據(jù)類型分類注意:Java語(yǔ)言中不支持C/C++中的指針類型、結(jié)構(gòu)類型(structure)、聯(lián)合類型(union);2.2變量和常量符號(hào)常量:用關(guān)鍵字final來(lái)實(shí)現(xiàn)finaltypeSpecifiervarName=value[,varName[=value]…];如:finalintNUM=100;變量:程序運(yùn)行過(guò)程中,其值會(huì)改變的量變量包括變量名、變量類型、作用域typeSpecifiervarName[=value[,varName[=value]…];如:intcount;charc=‘a(chǎn)’;變量的作用域:局部變量、類變量、方法參數(shù)、例外處理參數(shù)等。在一個(gè)確定的域中,變量名應(yīng)該是唯一的。具有專門的意義和用途,不能當(dāng)作一般的標(biāo)識(shí)符使用,這些標(biāo)識(shí)符稱為關(guān)鍵字(reservedword),也稱為保留字:
abstractbreakbytebooleancatchcaseclasscharcontinuedefaultdoubledoelseextendsfalsefinalfloatforfinallyifimportimplementsintinterfaceinstanceoflonglengthnativenewnullpackageprivateprotectedpublicfinalreturnswitchsynchronizedshortstaticsupertrytruethisthrowthrowsthreadsafetransientvoidwhile2.3關(guān)鍵字與保留字2.4標(biāo)識(shí)符程序員對(duì)程序中的各個(gè)元素(例如變量、函數(shù)、類、對(duì)象等)加以命名時(shí)使用的命名記號(hào)稱為標(biāo)識(shí)符(identifier);
Java語(yǔ)言中,標(biāo)識(shí)符是以字母,下劃線(_),美元符($)開(kāi)始的一個(gè)字符序列,后面可以跟字母,下劃線,美元符,數(shù)字。標(biāo)識(shí)符大小寫相關(guān),且任意長(zhǎng)度;關(guān)鍵字不能作為標(biāo)識(shí)符;合法的標(biāo)識(shí)符
identifieruserNameUser_Name_sys_val$change非法的標(biāo)識(shí)符
2mail room# class注:Java技術(shù)源程序采用有效的16-bit雙字節(jié)字符編碼標(biāo)準(zhǔn)(Unicode),而不是8-bitASCII文本。因而,一個(gè)字母有著更廣泛的定義,而不僅僅是a到z和A到Z。2.5Java編碼規(guī)范包名:全小寫,一般為名詞,如:packageshipping.objects類名:首字母大寫,每個(gè)單詞的首字母大寫,如:classHelloWorldApp接口名:同類名,如:interfaceAccountBook方法名:一般為動(dòng)詞,小寫字母開(kāi)頭,每個(gè)單詞的首字母大寫,如:balanceAccount變量名:全小寫,一般為名詞,如length常量名:基本類型的常量名全大寫,如:
HEAD-COUNT,對(duì)象常量大小寫混和.2.6程序注釋//用于單行注釋。注釋從//開(kāi)始,終止于行尾。/*…*/用于多行注釋。注釋從/*開(kāi)始,到*/結(jié)束,且這種注釋不能互相嵌套。/**…*/是Java所特有的doc注釋。它以/**開(kāi)始,到*/結(jié)束。這種注釋主要是為支持JDK工具javadoc而采用的。javadoc能識(shí)別注釋中用標(biāo)記@標(biāo)識(shí)的一些特殊變量,并把doc注釋加入它所生成的HTML文件。2.7整型數(shù)據(jù)整型常量1.十進(jìn)制整數(shù) 如123,-456,02.八進(jìn)制整數(shù) 以0開(kāi)頭,如0123表示十進(jìn)制數(shù)83,-011表示十進(jìn)制數(shù)-9。3.十六進(jìn)制整數(shù) 以0x或0X開(kāi)頭,如0x123表示十進(jìn)制數(shù)291,-0X12表示十進(jìn)制數(shù)-18。整型變量數(shù)據(jù)類型
所占位數(shù)
數(shù)的范圍
byte
8
-27~27-1
short 16 -215~215-1int 32 -231~231-1long 64 -263~263-整型變量定義:byteb;shorts;inti;longl;
實(shí)型常量1.十進(jìn)制數(shù)形式 由數(shù)字和小數(shù)點(diǎn)組成,且必須有小數(shù)點(diǎn),如0.123,.123,123.,123.02.科學(xué)計(jì)數(shù)法形式 如:123e3或123E3,其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。2.8浮點(diǎn)型實(shí)型變量數(shù)據(jù)類型
所占位數(shù)
數(shù)的范圍
Float 32 3.4e-038
~3.4e+038
Double 64 1.7e-308
~1.7e+308
實(shí)型變量的聲明floatf;doubled;字符常量
字符常量是用單引號(hào)括起來(lái)的一個(gè)字符,如‘a(chǎn)’,‘A’;Java中也用反斜杠(\)開(kāi)頭。字符型變量
類型為char,它在機(jī)器中占16位,其范圍為0~65535。字符型變量的定義如:
charc=‘a(chǎn)’; /*指定變量c為char型,且賦初值為‘a(chǎn)’*/。字符型數(shù)據(jù)可以當(dāng)成整型數(shù)據(jù)來(lái)操作。2.9字符型布爾型數(shù)據(jù)只有兩個(gè)值true和false,且它們不對(duì)應(yīng)于任何整數(shù)值。 布爾型變量的定義如:
booleanb=true; 2.10布爾型2.11運(yùn)算符和表達(dá)式Java有4大類運(yùn)算符:算術(shù)運(yùn)算符、邏輯運(yùn)算符、關(guān)系運(yùn)算符和位運(yùn)算符。2.11.1算術(shù)運(yùn)算符運(yùn)算符例子說(shuō)明+x+y求x和y之和。??x、x?y作一元運(yùn)算符表示對(duì)x符號(hào)取反,作二元運(yùn)算符表示求x減y的值。*x*y求x和y之積。/x/y如果x和y均為int類型,則表示x整除y;否則執(zhí)行普通除法。%x%y表示x對(duì)y取模。++x++,++xx自增1??x??,??xx自減12.11.2關(guān)系運(yùn)算符運(yùn)算符例子說(shuō)明<x<y如果x小于y則求值結(jié)果為true,否則為false。<=x<=y如果x小于或等于y則求值結(jié)果為true,否則為false。==x==y如果x等于y則求值結(jié)果為true,否則為false。>=x>=y如果x大于或等于y則求值結(jié)果為true,否則為false。>x>y如果x大于y則求值結(jié)果為true,否則為false。!=x!=y如果x不等于y則求值結(jié)果為true,否則為false。2.11.3邏輯運(yùn)算符運(yùn)算符例子
說(shuō)明&&x&&y與運(yùn)算,若x和y均為true則結(jié)果為true,否則結(jié)果為false。||x||y或運(yùn)算,若x或y其中之一為true則結(jié)果為true,否則為false。!!x非運(yùn)算,若x為true則結(jié)果為flase,否則為true。2.11.4位運(yùn)算符運(yùn)算符名稱示例說(shuō)明&位與x&y把x和y按位求與|位或x|y把x和y按位求或~位非~x把x按位求非^位異或x^y把x和y按位求異或>>右移x>>y把x的各位右移y位<<左移x<<y把x的各位左移y位>>>右移x>>>y把x的各位右移y位,左邊填02.11.5其它運(yùn)算符1、賦值運(yùn)算符賦值運(yùn)算符是一個(gè)等號(hào)“=”,它的作用是將一個(gè)值賦給一個(gè)變量。例如:intx=0,y=1;x=y+1;2、條件運(yùn)算符Java提供一個(gè)特別的三元運(yùn)算符經(jīng)常用于取代簡(jiǎn)單的if-else語(yǔ)句。條件運(yùn)算符的通用格式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3例子:
a=b==0?2:c/d;3、字符串連接運(yùn)算符“+”對(duì)于“+”運(yùn)算符,如果有一個(gè)操作元為String類型,則為字符串連接運(yùn)算符。例如:
System.out.println("Hello!"+'a'+7);2.11.6運(yùn)算符的優(yōu)先級(jí)優(yōu)先級(jí)運(yùn)算符結(jié)合性1()
[]
.從左到右2!
+(正)
-(負(fù))
~
++
--從右向左3*
/
%從左向右4+(加)
-(減)從左向右5<<
>>
>>>從左向右6<
<=
>
>=
instanceof從左向右7==
!=從左向右8&(按位與)從左向右9^從左向右10|從左向右11&&從左向右12||從左向右13?:從右向左14=
+=
-=
*=
/=
%=
&=
|=
^=
~=
<<=
>>=
>>>=從右向左2.11.7基本數(shù)據(jù)類型的混合運(yùn)算1、自動(dòng)類型轉(zhuǎn)換當(dāng)一個(gè)較“小”數(shù)據(jù)與一個(gè)較“大”的數(shù)據(jù)一起運(yùn)算時(shí),系統(tǒng)將自動(dòng)將“小”數(shù)據(jù)轉(zhuǎn)換成“大”數(shù)據(jù),再進(jìn)行運(yùn)算。這些類型由“小”到“大”分別為
:
(byte,short,char)—int—long—float—double。注意,這里我們所說(shuō)的“大”與“小”(也可以說(shuō)高級(jí)和低級(jí)),并不是指占用字節(jié)的多少,而是指表示值的范圍的大小。
2、強(qiáng)制類型轉(zhuǎn)換如果需要把數(shù)據(jù)類型相對(duì)較高的數(shù)據(jù)或變量賦值給數(shù)據(jù)類型相對(duì)較低的變量,就必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換。例如,7.5為double型常量數(shù)據(jù),將其賦值給int型變量時(shí)需要強(qiáng)制類型轉(zhuǎn)換:
inti=(int)7.5;一、控制語(yǔ)句分類1. 分支語(yǔ)句:if-else,switch2. 循環(huán)語(yǔ)句:while,do-while,for3. 與程序轉(zhuǎn)移有關(guān)的其它語(yǔ)句:break, continue,return4.
例外處理語(yǔ)句:try-catch-finally,throw5.
注釋語(yǔ)句://,/**/,/***/2.12程序控制結(jié)構(gòu)二、分支語(yǔ)句條件語(yǔ)句if-else
if(boolean-expression) statement1; [elsestatement2;]注意:1、boolean-expression必須返回為布爾型數(shù)據(jù)的表達(dá)式,不能用整型數(shù)值代替;2、每個(gè)單一語(yǔ)句后邊都要有分號(hào);3、如果statement1、statement2為復(fù)合語(yǔ)句,那么要用{}將他們括起來(lái)。條件語(yǔ)句舉例例:比較兩個(gè)數(shù)的大小,并按照從大到小的順序輸出到屏幕上。publicclassCompareTwo{publicstaticvoidmain(Stringargs[]){doubled1=23.4;doubled2=56.9;if(d1>=d2)System.out.println(d1+”>=“+d2);elseSystem.out.println(d2+”>=“+d1);}}多分支語(yǔ)句switch switch(expression){ casevalue1:statement1; break; casevalue2:statement2; break; …………casevalueN:statemendN; break; [default :defaultStatement;]
}表達(dá)式expression的返回值類型必須是這幾種類型之一:int,byte,char,short。case子句中的值valueN必須是常量,而且所有case子句中的值應(yīng)是不同的。default子句是可選的。break語(yǔ)句用來(lái)在執(zhí)行完一個(gè)case分支后,使程序跳出switch語(yǔ)句,即終止switch語(yǔ)句的執(zhí)行。三、循環(huán)語(yǔ)句循環(huán)語(yǔ)句的作用是反復(fù)執(zhí)行一段代碼,直到滿足終止循環(huán)的條件為止,一個(gè)循環(huán)一般包括四個(gè)部分:初始化部分、循環(huán)體部分、迭代部分和終止部分。Java中的循環(huán)語(yǔ)句有:while語(yǔ)句do-while語(yǔ)句for語(yǔ)句while語(yǔ)句 [initialization] while(termination){ body; [iteration;]}當(dāng)termination值為true,即滿足循環(huán)條件的時(shí)候,循環(huán)執(zhí)行大括號(hào)內(nèi)部的語(yǔ)句,初始化部分和迭代部分任選。循環(huán)中遇到break語(yǔ)句時(shí)立即跳出循環(huán)。do-while語(yǔ)句 [initialization]
do{ body; [iteration;] }while(termination);do-while語(yǔ)句首先執(zhí)行循環(huán)體,然后計(jì)算終止條件,所以這種情況循環(huán)體至少會(huì)執(zhí)行一遍。for語(yǔ)句for(initialization;termination;iteration){ body;}for語(yǔ)句執(zhí)行時(shí),首先執(zhí)行初始化操作,然后判斷終止條件是否滿足,如果滿足,則執(zhí)行循環(huán)體中的語(yǔ)句,最后執(zhí)行迭代部分。完成一次循環(huán)后,重新判斷終止條件。通常用在循環(huán)次數(shù)確定的情況下。初始化、終止以及迭代部分都可以為空語(yǔ)句(但分號(hào)不能省),三者均為空的時(shí)候,相當(dāng)于一個(gè)無(wú)限循環(huán)。在初始化部分和迭代部分可以使用逗號(hào)語(yǔ)句,來(lái)進(jìn)行多個(gè)操作。逗號(hào)語(yǔ)句是用逗號(hào)分隔的語(yǔ)句序列。
for(i=0,j=10;i<j;i++,j--){ …… }四、與程序轉(zhuǎn)移有關(guān)的其它語(yǔ)句break語(yǔ)句continue語(yǔ)句返回語(yǔ)句returnbreak語(yǔ)句在switch語(yǔ)中,break語(yǔ)句用來(lái)終止switch語(yǔ)句的執(zhí)行。使程序從switch語(yǔ)句后的第一個(gè)語(yǔ)句開(kāi)始執(zhí)行。在循環(huán)語(yǔ)句中,break語(yǔ)句的作用也是中斷循環(huán)語(yǔ)句,也就是結(jié)束循環(huán)語(yǔ)句的執(zhí)行。
continue語(yǔ)句continue語(yǔ)句用來(lái)結(jié)束本次循環(huán),跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對(duì)于for語(yǔ)句,在進(jìn)行終止條件的判斷前,還要先執(zhí)行迭代語(yǔ)句。它的格式為:continue;返回語(yǔ)句returnreturn語(yǔ)句從當(dāng)前方法中退出,返回到調(diào)用該方法的語(yǔ)句處,并從緊跟該語(yǔ)句的下一條語(yǔ)句繼續(xù)程序的執(zhí)行。返回語(yǔ)句有兩種格式:
returnexpression returnreturn語(yǔ)句通常用在一個(gè)方法體的最后,否則會(huì)產(chǎn)生編譯錯(cuò)誤,除非用在if-else語(yǔ)句中。五、例外處理語(yǔ)句包括try,catch,finally,throw語(yǔ)句;數(shù)組是一種最簡(jiǎn)單的復(fù)合數(shù)據(jù)類型,是有序數(shù)據(jù)的集合。一、一維數(shù)組一維數(shù)組的定義
typearrayName[]; 類型(type)可以為Java中任意數(shù)據(jù)類型,包括簡(jiǎn)單類型和復(fù)合類型。
intintArray[];
DatedateArray[]; int[]intArray; Date[]dateArray;2.13數(shù)組一維數(shù)組的初始化靜態(tài)初始化
intintArray[]={1,2,3,4}; StringstringArray[]={“abc”,“How”,“you”};動(dòng)態(tài)初始化簡(jiǎn)單類型的數(shù)組
intintArray[];
intArray=newint[5];復(fù)合類型的數(shù)組
StringstringArray[];
StringArray=newString[3];/*為數(shù)組中每個(gè)元素開(kāi)辟引用空間(32位)*/
stringArray[0]=newString(“How”);stringArray[1]=newString(“are”);stringArray[2]=newString(“you”);一維數(shù)組元素的引用數(shù)組元素的引用方式為:arrayName[index] index為數(shù)組下標(biāo),它可以為整型常數(shù)或表達(dá)式,下標(biāo)從0開(kāi)始。每個(gè)數(shù)組都有一個(gè)屬性length指明它的長(zhǎng)度,例如:intArray.length指明數(shù)組intArray的長(zhǎng)度。二、多維數(shù)組Java語(yǔ)言中,多維數(shù)組被看作數(shù)組的數(shù)組。二維數(shù)組的定義
typearrayName[][];
type[][]arrayName;二維數(shù)組的初始化靜態(tài)初始化
intintArray[][]={{1,2},{2,3},{3,4,5}}; Java語(yǔ)言中,由于把二維數(shù)組看作是數(shù)組的數(shù)組,數(shù)組空間不是連續(xù)分配的,所以不要求二維數(shù)組每一維的大小相同。動(dòng)態(tài)初始化直接為每一維分配空間,格式如下:
arrayName=new type[arrayLength1][arrayLength2]; inta[][]=newint[2][3];從最高維開(kāi)始,分別為每一維分配空間:
arrayName=newtype[arrayLength1][]; arrayName[0]=newtype[arrayLength20]; arrayName[1]=newtype[arrayLength21]; … arrayName[arrayLength1-1]= newtype[arrayLength2n];例:inta[][]=newint[2][];a[0]=newint[3]; a[1]=newint[5];
在Java語(yǔ)言中,必須首先為最高維分配引用空間,然后再順次為低維分配空間。 與一維數(shù)組相同,對(duì)于復(fù)合類型的數(shù)組,必須為每個(gè)數(shù)組元素單獨(dú)分配空間。 Strings[][]=newString[2][];
s[0]=newString[2];
s[1]=newString[2];
s[0][0]=newString(“Good”);
s[0][1]=newString(“Luck”);
s[1][0]=newString(“to”); s[1][1]=newString(“You”);二維數(shù)組元素的引用引用方式為:arrayName[index1][index2]例如:num[1][0];數(shù)組與for-each語(yǔ)句下面看一個(gè)for-each的語(yǔ)句的例子:intintarray[]={1,2,3,4,5};for(intx:intarray){ System.out.println(x);//逐個(gè)輸出數(shù)組元素的值}Java數(shù)組工具類Arrays下面介紹Arrays類中幾個(gè)常用的方法。1.booleanequals(array1,array2):比較兩個(gè)數(shù)組是否相等,例如: String[]str1={"1","2","3"}; String[]str2={"1","2",newString("3")}; System.out.println(Arrays.equals(str1,str2));
打印結(jié)果:true2.voidsort(array):對(duì)數(shù)組array的元素進(jìn)行升序排列,例如: int[]score={79,65,93,64,88}; Arrays.sort(score);//給數(shù)組升序排序3.StringtoString(array):把數(shù)組array轉(zhuǎn)換成一個(gè)字符串,例如: int[]a={1,2,3}; System.out.println(a);//打印出的是數(shù)組首地址 System.out.println(Arrays.toString(a));//打印結(jié)果:[1,2,3]4.voidfill(array,val):把數(shù)組array所有元素都賦值為val,例如: int[]num={1,2,3}; Arrays.fill(num,6); System.out.println(Arrays.toString(num));
打印結(jié)果:[6,6,6]2.14
應(yīng)用實(shí)例2.14.1整數(shù)按序輸出一、問(wèn)題描述從鍵盤輸入三個(gè)整數(shù)到變量a,b,c中,然后按照由小到大的順序輸出。二、算法和實(shí)現(xiàn)實(shí)現(xiàn)由小到大的順序的算法:1、如果a>b,就把a(bǔ)和b中的值互換(使a<b)2、如果a>c,就把a(bǔ)和c中的值互換(使a<c)3、如果b>c,就把b和c中的值互換(使b<c)經(jīng)過(guò)這三步,就可以保證a<b<c了。
importjava.util.Scanner;//引入Scanner類publicclassOrderDemo{ publicstaticvoidmain(String[]args){ inta,b,c,t; Scannerinput=newScanner(System.in);//創(chuàng)建Scanner類對(duì)象
System.out.print("請(qǐng)輸入三個(gè)整數(shù):"); a=input.nextInt();//從鍵盤接收一個(gè)整數(shù)賦值給a b=input.nextInt();//從鍵盤接收一個(gè)整數(shù)賦值給b c=input.nextInt();//從鍵盤接收一個(gè)整數(shù)賦值給cif(a>b){ t=a;a=b;b=t;//實(shí)現(xiàn)a和b的值的互換
}if(a>c){ t=a;a=c;c=t;//實(shí)現(xiàn)a和c的值的互換
}if(b>c){ t=b;b=c;c=t;//實(shí)現(xiàn)b和c的值的互換
}System.out.println("由小到大:"+a+","+b+","+c); }}
2.14.2分段函數(shù)求值一、問(wèn)題描述y=x+12x?14x+3(x<1)(1≤x≤5)(x>5)
二、算法和實(shí)現(xiàn)本題比較簡(jiǎn)單,根據(jù)x的值的不同,按不同的公式計(jì)算y的值。
有一個(gè)函數(shù)如下,寫一個(gè)程序,輸入x,輸出y的值。importjava.util.Scanner;//引入Scanner類publicclassPiecewiseFunctionDemo{ publicstaticvoidmain(String[]args){ intx,y;//創(chuàng)建Scanner類對(duì)象 Scannerinput=newScanner(System.in);
System.out.print("請(qǐng)輸入x的值:"); x=input.nextInt();//從鍵盤接收一個(gè)整數(shù) if(x<1){ y=x+1; }elseif(x>=1&&x<=5){ y=2*x-1; }else{ y=4*x+3; }System.out.println("y的值是:"+y); }}
2.14.3整數(shù)求位數(shù)及逆序輸出一、問(wèn)題描述從鍵盤輸入一個(gè)不多于18位的正整數(shù),要求:①輸出它是幾位數(shù);②逆序輸出各位數(shù)字,例如原數(shù)是12345,應(yīng)輸出54321。二、算法和實(shí)現(xiàn)此題可以使用求余運(yùn)算符“%”和除運(yùn)算符“/”。一個(gè)整數(shù)“%”10,結(jié)果是此整數(shù)的個(gè)位數(shù),例如,123%10得3;一個(gè)整數(shù)“/”10,結(jié)果是去掉了個(gè)位數(shù)字,例如,123/10得12。我們可以在一個(gè)循環(huán)中,反復(fù)地對(duì)一個(gè)整數(shù)進(jìn)行:對(duì)10求余(得到最后一位數(shù)字)、除10操作(去掉最后一位數(shù)字),直到全部數(shù)字都去掉為止。每得到一位數(shù)字或每去掉一位數(shù)字時(shí),讓一個(gè)計(jì)數(shù)變量加1,最后,計(jì)數(shù)變量的值就是此整數(shù)的位數(shù)。
importjava.util.Scanner;//引入Scanner類publicclassReverseOutputDemo{ publicstaticvoidmain(String[]args){ longx;//用于存儲(chǔ)輸入的整數(shù)
intn=0;//用于存儲(chǔ)整數(shù)的位數(shù)
Scannerinput=newScanner(System.in);
System.out.print("請(qǐng)輸入一個(gè)不超過(guò)18位的正整數(shù):"); x=input.nextLong();//從鍵盤接收一個(gè)整數(shù) System.out.print("此整數(shù)的逆序是:"); while(x>0){ System.out.print(x%10);//輸出最后一位數(shù)字
n++;//位數(shù)加1 x=x/10;//去掉最后一位數(shù)字
} System.out.println("\n此整數(shù)的位數(shù)是:"+n); }}
2.14.4找出素?cái)?shù)并輸出1.問(wèn)題描述判斷101~200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。
2.算法和實(shí)現(xiàn)所謂素?cái)?shù)是指除了1和它本身以外,不能被任何整數(shù)整除的數(shù)。判斷一個(gè)整數(shù)n是否為素?cái)?shù)的方法:用n分別去除從2到n的平方根,只要有一個(gè)能被整除,則表明n不是素?cái)?shù),反之是素?cái)?shù)。完整的的程序如下:
publicclassPrimeNumberDemo{publicstaticvoidmain(String[]args){intcount=0;//計(jì)數(shù)變量//偶數(shù)不是素?cái)?shù),所以只考慮奇數(shù)
for(inti=101;i<200;i+=2){
booleanflag=true;//先假設(shè)i是素?cái)?shù)
doubleend=Math.sqrt(i);//算出i的平方根
for(intj=2;j<=end;j++){ if(i%j==0){//如果能被整除說(shuō)明不是素?cái)?shù)
flag=false;//設(shè)置不是素?cái)?shù)標(biāo)志
break;//不用繼續(xù)測(cè)試,退出本層循環(huán)
} }if(flag){//如果是素?cái)?shù) count++;//計(jì)數(shù)加1 System.out.print(i+"");//輸出此素?cái)?shù) if(count%10==0)//這是輸出格式控制,每行10個(gè)素?cái)?shù) System.out.println();//換行 }}System.out.println("\n素?cái)?shù)個(gè)數(shù)是:"+count);}}課后習(xí)題1、下面標(biāo)識(shí)符不合法的是()。(A)abcd(B)$0bf_A(C)%76bh(D)AAaa$2、下面標(biāo)識(shí)符合法的是()。(A)abstract(B)1myclass(C)myclass(D)-37bc3、整型變量數(shù)據(jù)類型short值范圍為()(A)-256---255(B)-255---255(C)-32767--32766(D)-32768--327674、以下是長(zhǎng)整型常量的是()(A)0x7fffffffffL(B)0x7ffff(C)21478(D)EE675、在JAVA語(yǔ)言中,表示回車的轉(zhuǎn)義字符是()(A)\'(B)\r(C)\f(D)\t6、在JAVA的基本數(shù)據(jù)類型中float的預(yù)設(shè)值為()(A)0.0(B)0.0f(C)0(D)0.0d7、二維數(shù)組定義如下:inta[][]={{1,2,3},{4,5,6},{7,8,9}},則a[1][1]=()(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 牛津譯林版七年級(jí)英語(yǔ)上冊(cè)教學(xué)計(jì)劃(含進(jìn)度表)
- 2025年黨章黨史國(guó)史國(guó)情知識(shí)競(jìng)賽題庫(kù)及答案(共220題)
- 新型家庭醫(yī)生簽約服務(wù)對(duì)促進(jìn)轄區(qū)孕產(chǎn)婦管理的效果分析
- 《單片機(jī)技術(shù)應(yīng)用》 課件
- 節(jié)能環(huán)保居間服務(wù)合同范例
- 道路交通規(guī)劃方案介紹
- 低空經(jīng)濟(jì)行業(yè)報(bào)告
- 醫(yī)院裝修大包合同參考范本
- 投資可行性分析報(bào)告包括哪些內(nèi)容
- 低空經(jīng)濟(jì)涉及的行業(yè)
- qc工作崗位職責(zé)
- 【體能大循環(huán)】聚焦體能循環(huán)-探索運(yùn)動(dòng)奧秘-幼兒園探究體能大循環(huán)有效開(kāi)展策略課件
- 采購(gòu)人員廉潔從業(yè)課件培訓(xùn)
- 2024年單招計(jì)算機(jī)試題題庫(kù)及答案
- XX藥業(yè)公司受試者日記卡
- 多組學(xué)數(shù)據(jù)的整合與分析
- 小學(xué)安全教育《平安校園 拒絕欺凌》劉偉【省級(jí)】?jī)?yōu)質(zhì)課
- 靜脈輸液的不良反應(yīng)及處理原則考核試題及答案
- 水利設(shè)施維護(hù)投標(biāo)方案(技術(shù)標(biāo))
- 《建筑概論》期末考試試卷附答案
- 中國(guó)銀行供應(yīng)鏈融資
評(píng)論
0/150
提交評(píng)論