華聯(lián)學(xué)院Java語(yǔ)言程序設(shè)計(jì)課件02 Java 基礎(chǔ)_第1頁(yè)
華聯(lián)學(xué)院Java語(yǔ)言程序設(shè)計(jì)課件02 Java 基礎(chǔ)_第2頁(yè)
華聯(lián)學(xué)院Java語(yǔ)言程序設(shè)計(jì)課件02 Java 基礎(chǔ)_第3頁(yè)
華聯(lián)學(xué)院Java語(yǔ)言程序設(shè)計(jì)課件02 Java 基礎(chǔ)_第4頁(yè)
華聯(lián)學(xué)院Java語(yǔ)言程序設(shè)計(jì)課件02 Java 基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩78頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章Java 基礎(chǔ)一、Java符號(hào) Java語(yǔ)言采用Unicode字符集,它由16位數(shù)組成,而通常采用的ASCII碼也被包含其中。Java符號(hào)分為:標(biāo)識(shí)符、關(guān)鍵字、運(yùn)算符和分隔符。 標(biāo)識(shí)符 Java 的標(biāo)識(shí)符由字母、數(shù)字、_和$組成,其中字母可以是大寫或小寫的英文字母,數(shù)字為 0 到 9,長(zhǎng)度不限,但實(shí)際命名不宜過長(zhǎng)。標(biāo)識(shí)符的第一個(gè)字符必須為字母、下劃線“_”或美元符號(hào)“$” 。標(biāo)識(shí)符區(qū)分大小寫。標(biāo)識(shí)符用來命名變量、符號(hào)常量、數(shù)組、方法、類、對(duì)象、接口、包等。為了提高程序的可讀性,標(biāo)識(shí)符最好“見名知義”,而且規(guī)范大小寫的使用方式。例如:name、cha_1、$money、課程_1都是合法的標(biāo)

2、識(shí)符。而a b、3_6、m%n、都是不合法標(biāo)識(shí)符。 Java關(guān)鍵字關(guān)鍵字也稱為保留字,是 Java 語(yǔ)言規(guī)定了特定含義的標(biāo)識(shí)符。用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。關(guān)鍵字一律用小寫字母表示。按用途劃分為:數(shù)據(jù)類型、語(yǔ)句、修飾、方法、類、接口和包。用于表示數(shù)據(jù)類型:byte,short,int,long,float,double,boolean,true,false,null,void等。用于語(yǔ)句:if,else,switch,case,default,while,do,for,break,continue,try,catch,finally,throw等。用于修飾符:public,p

3、rivate,protected,abstract,final,static等。用于方法,類,接口,包:class,throws,interface,implements,package,import,extends等。保留字:goto,const 運(yùn)算符和分隔符將如“+”符號(hào)稱為運(yùn)算符。Java語(yǔ)言中包含有算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符等。分隔符被用來區(qū)分 Java 源程序中的基本成分(標(biāo)識(shí)符、關(guān)鍵字、分隔符、運(yùn)算符和常量),分隔符分為注釋、空白符和普通三種。 注釋注釋是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可讀性,書寫注釋是編寫程序的良好習(xí)慣。Java中有三種形式的注釋:

4、/ 注釋部分 (單行) /* 注釋部分 */ (多行) /* 注釋部分 */ (多行)二、數(shù)據(jù)類型Java數(shù)據(jù)類型基本類型整型浮點(diǎn)型字符型布爾型引用類型數(shù)組接口類 Java基本數(shù)據(jù)類型數(shù)據(jù)類型所占字節(jié)表示范圍long(長(zhǎng)整形)8-9223372036854775808 9223372036854775807int(整型)4-2147483648 2147483647short(短整型)2-3276832767byte(位)1-128127char(字符)10256boolean(布爾)1true 或 falsefloat(單精度)4-3.4E38 3.4E38double(雙精度)8-1.7E

5、308 1.7E308 三、常量與變量整型常量:十進(jìn)制、八進(jìn)制和十六進(jìn)制浮點(diǎn)型常量:double(雙精度)、float(單精度)字符型常量:?jiǎn)我?hào)括起來的單個(gè)字符布爾型常量:true 和 false字符串常量:雙引號(hào)括起來的字符序列如:26,47.3,a,true,”student”分別是幾種常量,這種方式的常量稱為直接常量。除此之外,還有一種可以用標(biāo)識(shí)符來表示的常量,稱為符號(hào)常量。符號(hào)常量有4個(gè)基本要素:名字,類型,值和使用范圍。符號(hào)常量 必須先聲明,后使用。符號(hào)常量的聲明方式如下:final 修飾符 類型標(biāo)識(shí)符 常量名(直接)常量例:final float PI=3.14159 final

6、 int MAX=100常量一般采用大寫字母。 定義變量變量指在程序的運(yùn)行過程中其值可以發(fā)生變化的量,在使用前必須進(jìn)行聲明。定義變量有兩個(gè)任務(wù):一是定義變量的名稱; 二是定義這個(gè)變量的數(shù)據(jù)類型在 Java 語(yǔ)言中,所有的變量必須先定義后使用。其格式為:數(shù)據(jù)類型 標(biāo)識(shí)符1=初值,標(biāo)識(shí)符2.;如果變量定義的是基本數(shù)據(jù)類型,變量在聲明時(shí)就為其分配內(nèi)存空間,否則,還需要用 new 為聲明的變量分配空間。變量的命名規(guī)則一、變量名必須是一個(gè)合法的標(biāo)識(shí)符例如:Girl_$,www_12,變量,z-7,12eb,e%2.二、變量名不能是關(guān)鍵字,如布爾值(true/false),保留字(null)。 由于保留字

7、在java中都已經(jīng)有特殊用途而被保留起來,因此盡管這些名稱符合標(biāo)識(shí)符的命名原則,也不能用來當(dāng)作變量名稱。例:各種數(shù)據(jù)類型,super,class,if,case等例如: boolean var; 或 boolean var=true; int n1, n2,n3; int n1=1, n2=6, n3=70; 例子Example201Java舉例public class exp1public static void main(String args)byte a=015; /八進(jìn)制byte b=20; /十進(jìn)制byte c=0 x25; /十六進(jìn)制int x=10;float y=95.63f

8、;double z=3.15647;System.out.println(“a=”+a+“ ”+“b=”+b+“ ”+“c=”+c);System.out.println(“x=”+x+“ ”+“y=”+y+“ ”+“z=”+z);四 語(yǔ)句、表達(dá)式和運(yùn)算符語(yǔ)句是構(gòu)成程序的基本單元,它由一個(gè)或多個(gè)表達(dá)式組成。一條語(yǔ)句是以分號(hào)“;”作為結(jié)束符。表達(dá)式是包含運(yùn)算符和操作數(shù)的算式。表達(dá)式可以是程序語(yǔ)句的一部分,也可以是一個(gè)獨(dú)立的程序語(yǔ)句。運(yùn)算符規(guī)定表達(dá)式中各變量和常量運(yùn)算的符號(hào)。 運(yùn)算符 算術(shù)運(yùn)算:+、-、*、/、%、+、- 邏輯運(yùn)算:&、|、!、&、| 關(guān)系運(yùn)算:=、!=、=、 其他運(yùn)算:?:、賦值

9、運(yùn)算符、( )、 算術(shù)運(yùn)算符運(yùn)算符含義示例求值+加c = a + b -減c = a - b *乘c = a * b /除c = a / b %取模c = a % b +遞增a+-遞減b-+=相加并賦值c += a c = c + a -=相乘并賦值c *= a c = c * a /=相除并賦值c /= a c = c / a %=取模并賦值c %= a c = c % a -取負(fù)數(shù)c= - a例子Example202關(guān)系運(yùn)算符關(guān)系運(yùn)算符用于測(cè)試兩個(gè)操作數(shù)之間的關(guān)系。關(guān)系表達(dá)式將返回一個(gè)布爾結(jié)果。運(yùn)算符含義示例=等于a=b!=不等于a!=b大于ab小于a=大于或等于a=b=小于或等于a=b邏

10、輯運(yùn)算符邏輯運(yùn)算符與布爾操作數(shù)一起使用運(yùn)算符含義示例&邏輯與A & B|邏輯或A | B邏輯異或A B!邏輯反 ! A|短路或A | B&短路與A & B例子條件運(yùn)算符 (?:)三元運(yùn)算符 (? :) 可以替代 if-else 結(jié)構(gòu)truefalse條件 ? 表達(dá)式 1 : 表達(dá)式 2 class TernaryOp public static void main(String args) int salary,daysPresent = 30; salary = daysPresent = 20 ? 2000 : 3000; System.out.println(您本月薪資為 $+salar

11、y); 賦值運(yùn)算符一次可以為多個(gè)變量賦值,如:int a = 20000;int p,q,r,s;p = q = r = s = a;賦值運(yùn)算符還可以與算術(shù)運(yùn)算符,邏輯運(yùn)算符和位運(yùn)算符組合程復(fù)合賦值運(yùn)算符。賦值運(yùn)算符 (=) 用于為變量賦值運(yùn)算符用例等價(jià)于xyxx+y-X-yxx-y*X*yxx*y/x/yxx/y。 運(yùn)算符的優(yōu)先級(jí)運(yùn)算符描述優(yōu)先級(jí)結(jié)合性. ( ) 域,數(shù)組,括號(hào)1從左至右+ - - ! 一元運(yùn)算符2從右至左* / %乘,除,取余3從左至右+ - 加,減4從左至右 位運(yùn)算5從左至右 =邏輯運(yùn)算6從左至右= !=邏輯運(yùn)算7從左至右&按位與8從左至右按位異或9從左至右 續(xù)前表運(yùn)算符

12、描述優(yōu)先級(jí)結(jié)合性|按位或10從左至右&邏輯與11從右至左|邏輯或12從左至右? :條件運(yùn)算13從左至右 = *= /= %= += = = = &= = |= 位運(yùn)算14從左至右 數(shù)據(jù)類型的轉(zhuǎn)換Java是強(qiáng)類型語(yǔ)言,因此,在進(jìn)行賦值操作時(shí)要對(duì)類型進(jìn)行檢查。數(shù)據(jù)類型轉(zhuǎn)換分為“自動(dòng)類型轉(zhuǎn)換”和“強(qiáng)制類型轉(zhuǎn)換”;當(dāng)將占位數(shù)少的類型賦值給占位數(shù)多的類型時(shí),Java自動(dòng)使用隱式類型轉(zhuǎn)換;當(dāng)將占位數(shù)多的類型賦值給占位數(shù)少的類型時(shí),需要由用戶使用顯式的強(qiáng)制類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換基本原則1、轉(zhuǎn)換前、后兩種類型必須是數(shù)值數(shù)據(jù)類型(包括char),則boolean不在范圍內(nèi)。2、存儲(chǔ)空間較小的類型可以轉(zhuǎn)為存儲(chǔ)空間較

13、大的類型:byte-short-char-int-long float-double如:long a;int b=3;a=b+5; 高優(yōu)先級(jí)轉(zhuǎn)換為低優(yōu)先級(jí)時(shí)必須使用強(qiáng)制類型轉(zhuǎn)換,否則編譯器會(huì)出錯(cuò)。只要是boolean型以外其他基本數(shù)據(jù)類型之間的轉(zhuǎn)型,全部都以“強(qiáng)制轉(zhuǎn)換”來達(dá)到目的。標(biāo)準(zhǔn)語(yǔ)法: (要轉(zhuǎn)成的類型)值 如:float a=5.42; int b; b=a; 注意:當(dāng)我們要做強(qiáng)制轉(zhuǎn)型的操作時(shí),需要考慮到精確度喪失的問題,以及編譯器是否會(huì)為了達(dá)到轉(zhuǎn)換目的,而將該值作不符合我們實(shí)際需求的轉(zhuǎn)換。否則編譯時(shí)雖沒有錯(cuò)誤產(chǎn)生,但實(shí)際上可能會(huì)因而使用到不符合需求的數(shù)據(jù),不能達(dá)到我們的目的。強(qiáng)制類型轉(zhuǎn)

14、換 Java舉例public class exp2public static void main(String args)int x=10;double y=95.63;double z=3.1415926;int j=x*(int)y;double k=x*z;System.out.println(j=+j);System.out.println(k=+k);1、根據(jù)語(yǔ)句內(nèi)部是否含有“子語(yǔ)句”,可以將語(yǔ)句分為“單行語(yǔ)句”和“區(qū)塊語(yǔ)句”。單行語(yǔ)句又可稱為分號(hào)語(yǔ)句,即以一行為單位的語(yǔ)句。而且每個(gè)語(yǔ)句的最末端都以“;”作為結(jié)束標(biāo)記。例如:int a=b+c/2+d;語(yǔ)句與流程控制塊是以一整個(gè)區(qū)塊為

15、單位的語(yǔ)句。它是由一對(duì)大括號(hào)“”劃出一個(gè)區(qū)域范圍,里面能放置各種語(yǔ)句。數(shù)目可以由零個(gè)到多個(gè),也可叫復(fù)合語(yǔ)句。例如: double x=-5.4,y=9; if(x=0) /如果x大于等于0,則x的絕對(duì)值是它本身 y=x; else /如果x小于0,則x的絕對(duì)值是它的相反數(shù) y=-x; System.out.println(x的絕對(duì)值是+y); 2、根據(jù)各語(yǔ)句執(zhí)行狀況與功能的差異,可以把語(yǔ)句分為“條件語(yǔ)句”,“循環(huán)語(yǔ)句”和“轉(zhuǎn)移語(yǔ)句”。條件語(yǔ)句分為兩類:if-else語(yǔ)句和switch語(yǔ)句.他們共同的特點(diǎn)是根據(jù)條件不同而執(zhí)行不同的語(yǔ)句. 循環(huán)語(yǔ)句分為三類: while 語(yǔ)句、do-while語(yǔ)句

16、和 for語(yǔ)句。他們共同的特點(diǎn)是重復(fù)執(zhí)行某些語(yǔ)句. 轉(zhuǎn)移語(yǔ)句主要包括break語(yǔ)句、continue語(yǔ)句 和return語(yǔ)句。一、選擇結(jié)構(gòu)控制 Java語(yǔ)句提供了兩條基本的分支選擇語(yǔ)句if和switch。if語(yǔ)句應(yīng)用在“二選一”的條件下,而switch語(yǔ)句應(yīng)用在“多選一”的條件下。它們都是對(duì)條件表達(dá)式進(jìn)行判斷,針對(duì)不同的結(jié)果,決定轉(zhuǎn)向要執(zhí)行java語(yǔ)句。 if語(yǔ)句if (條件表達(dá)式) 語(yǔ)句if (條件表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2條件?語(yǔ)句TrueFalse條件?語(yǔ)句1TrueFalse語(yǔ)句2例子Example205選擇結(jié)構(gòu) 多向分支(if嵌套) if(表達(dá)式)語(yǔ)句1else if(表達(dá)式

17、2) 語(yǔ)句2else if(表達(dá)式n)語(yǔ)句n注意:在if嵌套中,else總是與離它最近的未被匹配過的if相匹配.假表達(dá)式2表達(dá)式n真語(yǔ)句2假語(yǔ)句n真表達(dá)式1真語(yǔ)句1假下一條語(yǔ)句例子Example206 Switch語(yǔ)句switch(表達(dá)式) case 值1:語(yǔ)句塊1; break; case 值2:語(yǔ)句塊2; break; case 值n:語(yǔ)句塊n; break; default: 語(yǔ)句塊n+1;說明:、表達(dá)式的返回值類型必須是這幾種類型:int, byte, char, short。 2、所有case子句中的常量值應(yīng)是不同的。 3、 default子句是可選的。 4、break語(yǔ)句用來在執(zhí)行

18、完一個(gè)case分支后,使程序跳出switch語(yǔ)句,即終止switch語(yǔ)句的執(zhí)行。5、在一些特殊情況下,多個(gè)不同的case的值要執(zhí)行相同的操作,這時(shí)就可以不使用break。例:將上例用swith語(yǔ)句實(shí)現(xiàn)。switch語(yǔ)句例子Example207二、循環(huán)結(jié)構(gòu)控制循環(huán)語(yǔ)句的作用是在一定條件下,反復(fù)執(zhí)行一段程序代碼,被反復(fù)執(zhí)行的程序稱為循環(huán)體。Java語(yǔ)句提供的循環(huán)語(yǔ)句有:while語(yǔ)句、dowhile語(yǔ)句和for語(yǔ)句。 while語(yǔ)句 while(條件表達(dá)式) 循環(huán)體含義:當(dāng)循環(huán)條件表達(dá)式為true時(shí),重復(fù)執(zhí)行循環(huán)體當(dāng)循環(huán)體中只有一條語(yǔ)句時(shí),可省略大括號(hào)“”,但最好不要省略,以便增加程序的可讀性。語(yǔ)

19、句體中應(yīng)該有使條件表達(dá)式不斷趨近于假的語(yǔ)句,否則將會(huì)進(jìn)入死循環(huán)。TrueFalse條件?循環(huán)體例子Example208例:求5的階乘。dowhile語(yǔ)句do 循環(huán)體while(條件表達(dá)式); 含義:重復(fù)執(zhí)行循環(huán)體,直到循環(huán)條件表達(dá)式為false。while條件表達(dá)式后面的分號(hào)“;”一定不能省略,它代表語(yǔ)句的結(jié)束。與while語(yǔ)句不同的是,do-while語(yǔ)句的循環(huán)體至少執(zhí)行一次。例:將上例用do-while實(shí)現(xiàn)。True循環(huán)體條件?False for語(yǔ)句for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體表達(dá)式1:循環(huán)初值;表達(dá)式2:返回布爾值的條件表達(dá)式,判斷循環(huán)是否繼續(xù);表達(dá)式3:修整循環(huán)變量,

20、改變循環(huán)條件。True設(shè)定初值條件?修改表達(dá)式False循環(huán)體說明:1、表達(dá)式1用來完成循環(huán)控制變量的初始化。2、表達(dá)式2的值的類型是布爾型,用于判斷循環(huán)的條件。3、表達(dá)式3用于改變循環(huán)控制變量,即改變循環(huán)的條件。4、初始化、終止以及迭代部分都可以為空語(yǔ)句,三者均為空時(shí),相當(dāng)于死循環(huán)。例:計(jì)算從1到100的累加和。例子Example209循環(huán)總結(jié)while循環(huán)結(jié)構(gòu),只設(shè)置了結(jié)束循環(huán)的條件。循環(huán)體內(nèi)需要設(shè)置打破循環(huán)條件而使循環(huán)不斷趨近于結(jié)束的語(yǔ)句。do-while循環(huán)和while循環(huán)相類似,但do-while循環(huán)先執(zhí)行循環(huán)體,然后再進(jìn)行循環(huán)條件的判斷,因此循環(huán)體至少執(zhí)行一次。對(duì)于已知重復(fù)次數(shù)的循

21、環(huán),更多的是使用for循環(huán)。而僅知道循環(huán)結(jié)束條件時(shí),經(jīng)常使用while或do-while循環(huán)。break語(yǔ)句 :使程序的流程從一個(gè)語(yǔ)句塊內(nèi)部跳轉(zhuǎn)出來。通常在switch和循環(huán)語(yǔ)句中使用,如從switch語(yǔ)句的分支中跳出,或從循環(huán)體內(nèi)部跳出。 語(yǔ)法形式:break;說明:1、用在 switch語(yǔ)句中,用來終止switch語(yǔ)句的執(zhí)行,程序流程轉(zhuǎn)向switch語(yǔ)句的下一條語(yǔ)句。2、用在循環(huán)語(yǔ)句中,立即終止正在執(zhí)行的循環(huán),程序流程轉(zhuǎn)向循環(huán)后的第一條語(yǔ)句。例:進(jìn)行1至10的累加和,當(dāng)累加和大于20時(shí),輸出其和值跳轉(zhuǎn)語(yǔ)句例子Example210continue語(yǔ)句 :只能用在循環(huán)語(yǔ)句中,中斷本次循環(huán),立即

22、開始下次循環(huán)。語(yǔ)法格式:continue;說明:continue語(yǔ)句使控制無(wú)條件地轉(zhuǎn)移到循環(huán)語(yǔ)句的條件判定部分,即首先結(jié)束本次循環(huán),跳過循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,接著進(jìn)行終止條件的判斷,以決定是否繼續(xù)循環(huán)。對(duì)for語(yǔ)句而言,在進(jìn)行終止條件 的判斷前,還要先執(zhí)行 增減次數(shù)語(yǔ)句。例:輸出100以內(nèi)能被7整除的數(shù)跳轉(zhuǎn)語(yǔ)句例子Example211 Java舉例 跳轉(zhuǎn)程序public class ZhiShupublic static void main(String args)int i,j,k;boolean flag;for(i=2;i=50;i+) flag=true; k=i/2; for(

23、j=2;j=k;j+) if(i%j=0) /如果該數(shù)可以整除其余數(shù),則不可能是質(zhì)數(shù)flag=false;break; if(flag) System.out.print(i+ ); 類由數(shù)據(jù)成員和方法組成。方法定義類對(duì)象的行為或動(dòng)作,即對(duì)象可以執(zhí)行的操作,是相對(duì)獨(dú)立的程序模塊。本章學(xué)習(xí)方法的聲明和調(diào)用。一、方法聲明 在Java程序中,方法只能在類中聲明,格式如下: 修飾符 返回值類型 方法名 (參數(shù)表) 聲明部分 語(yǔ)句部分方法聲明包括方法頭和方法體兩部分。其中,方法頭確定方法的名字、形式參數(shù)的名字和類型、返回值的類型和訪問限制;方法體由在花括號(hào)內(nèi)的聲明部分和語(yǔ)句部分組成,描述方法的功能。修飾

24、符可以有public、protected和private等類型標(biāo)識(shí)符反映方法完成其功能后返回的運(yùn)算結(jié)果的數(shù)據(jù)類型。如果方法沒有返回值,用void關(guān)鍵字指明。方法名要符合標(biāo)識(shí)符的命名規(guī)則,不要與java中的關(guān)鍵字重名。參數(shù)表指定調(diào)用該方法時(shí),應(yīng)該傳遞的參數(shù)的個(gè)數(shù)和數(shù)據(jù)類型。參數(shù)表中可以包含多個(gè)參數(shù),相鄰的兩個(gè)參數(shù)之間用逗號(hào)隔開。每個(gè)參數(shù)項(xiàng)的形式如下:類型標(biāo)識(shí)符 參數(shù)名 這里的參數(shù)名是一個(gè)合法的變量名。如果是數(shù)組參數(shù),在其名的后面應(yīng)該加一對(duì)方括號(hào)。方法也可以沒參數(shù),稱為無(wú)參方法,但方法名后面的一對(duì)圓括號(hào)不能省略。對(duì)于有返回值的方法,其方法體中至少有一條return語(yǔ)句。形式為:return (表達(dá)

25、式)當(dāng)調(diào)用該方法時(shí),方法的返回值即此表達(dá)式的值方法不能嵌套,即不能在方法中在聲明其他的方法。例4-1 定義計(jì)算平方的方法static int square(int x) int s; s=x*x; return (s); 二、方法調(diào)用 1 方法表達(dá)式對(duì)于有返回值的方法作為表達(dá)式或表達(dá)式的一部分來調(diào)用,其在表達(dá)式中出現(xiàn)的形式為:方法名(實(shí)際參數(shù)表)例4-2 調(diào)用前面定義的方法public class SquareC static int square(int x) int s; s=x*x; return (s); public static void main(String args) int

26、 n = 5; int result = square(n); System.out.println(result); 2 方法語(yǔ)句方法名(實(shí)際參數(shù)表)即以獨(dú)立語(yǔ)句的方式調(diào)用方法。參數(shù)表的使用形式同方法表達(dá)式調(diào)用法。 例4-3 以方法語(yǔ)句方式調(diào)用方法class AreaC static void area(int a , int b ) int s; s = a * b; System.out.println(s); public static void main(String args) int x = 5; int y=3; area(x, y); 例4-4 無(wú)參方法class SumC

27、static void sum( ) int i, j, s; i=3; j=6; s=i+j; System.out.println(s); public static void main(String args) sum( ); 三、參數(shù)傳遞 例4-5 參數(shù)傳遞實(shí)例public class Swaping static void swap(int x , int y ) int temp ;System.out.println(Before Swapping);System.out.println(x= +x+ y= +y);temp = x; x = y; y = temp;System

28、.out.println(After Swapping);System.out.println(x= +x+ y= +y); 例4-5 參數(shù)傳遞實(shí)例(續(xù))public static void main(String args) int u=23 , v=100;System.out.println(Before Calling);System.out.println(u= +u+ v= +v);swap(u, v);System.out.println(After Calling);System.out.println(u= +u+ v= +v); 例4-5 參數(shù)傳遞實(shí)例(續(xù))輸出結(jié)果如下所示

29、:Before Callingu= 23 v= 100Before Swappingx= 23 y= 100After Swappingx= 100 y= 23After Callingu= 23 v= 100四、遞歸所謂遞歸就是用自身的結(jié)構(gòu)來描述自身,最典型的例子是對(duì)階乘運(yùn)算 例4-6:采用遞歸算法求n!。遞歸定義:fac(n)=1 n=1n*fac(n-1)遞歸算法程序class Factorial static long fac( int n ) if (n= =1 ) return 1; else return n*fac(n-1); 遞歸算法程序(續(xù))public static vo

30、id main(String args) int k ;long f;k=Integer.parseInt(args0);f=fac(k);System.out.println(f); 一、一維數(shù)組數(shù)組是用一個(gè)變量名表示一組數(shù)據(jù),每個(gè)數(shù)據(jù)稱為數(shù)組元素,各元素通過下標(biāo)來區(qū)分。如果用一個(gè)下標(biāo)就能確定數(shù)組中的不同元素,這種數(shù)組稱為一維數(shù)組,否則稱為多維數(shù)組。1 一維數(shù)組的聲明一維數(shù)組聲明的格式為:類型標(biāo)識(shí)符 數(shù)組名 或類型標(biāo)識(shí)符 數(shù)組名類型標(biāo)識(shí)符指定每個(gè)元素的數(shù)據(jù)類型,如int表明數(shù)組中的每個(gè)元素都是整型數(shù)。例如:int intArray ; int intArray; Date dateArray

31、;聲明一個(gè)數(shù)組僅為數(shù)組指定了數(shù)組名和元素的數(shù)據(jù)類型,并未指定數(shù)組元素的個(gè)數(shù),系統(tǒng)無(wú)法未數(shù)組分配存儲(chǔ)空間。要讓系統(tǒng)為數(shù)組分配空間,必須指出數(shù)組元素的個(gè)數(shù),該工作在數(shù)組初始化時(shí)進(jìn)行。一個(gè)數(shù)組初始化工作使用關(guān)鍵字new運(yùn)算符完成。2 一維數(shù)組的初始化 用new初始化數(shù)組先聲明數(shù)組再初始化int a;a=new int8;聲明的同時(shí)進(jìn)行初始化int a=new int8;賦初值初始化數(shù)組1、 類型 數(shù)組名=new 類型初值1,初值2,初值3,;2、類型 數(shù)組名=初值1,初值2,初值3, ;注意:用逗號(hào)(,)分隔數(shù)組中各個(gè)元素,系統(tǒng)自動(dòng)為數(shù)組分配一定的空間。大括號(hào)中的內(nèi)容必須是同一類型的,并與數(shù)組的類型

32、一致。范例:float f=12.45f,45.78f,89.2f; int s=new int1,2,3,4,5;二、多維數(shù)組1 二維數(shù)組的聲明二維數(shù)組的聲明方式與一維數(shù)組類似,只是要給出兩對(duì)方括號(hào)。二維數(shù)組聲明形式如下:類型標(biāo)識(shí)符 數(shù)組名 或類型標(biāo)識(shí)符 數(shù)組名2 二維數(shù)組的初始化 用new初始化二維數(shù)組用new運(yùn)算符初始化二維數(shù)組,只指定數(shù)組行數(shù)和列數(shù),為數(shù)組分配存儲(chǔ)空間,并不給數(shù)組元素賦值。先聲明數(shù)組再初始化 int a a= new int23;數(shù)組中各元素通過兩個(gè)下標(biāo)來區(qū)分,每個(gè)下標(biāo)的最小值為0。初始化數(shù)組后,如果項(xiàng)知道行數(shù)或列數(shù),可以通過屬性length獲得。獲得數(shù)組行數(shù)的格式為:

33、數(shù)組名.length獲得數(shù)組列數(shù)的格式為:數(shù)組名下標(biāo).length int a a= new int23; a.length=2a0.length,a1.length ,a2.length的值均為3在Java中,二維數(shù)組是作為一維數(shù)組來處理的,只是其每個(gè)元素本身又是一個(gè)一維數(shù)組。所以在進(jìn)行初始化的時(shí)候,可以各行單獨(dú)進(jìn)行,也允許各行的元素個(gè)數(shù)不同。例: int a a= new int2 ;a0 = new int3;a1 = new int5;聲明的同時(shí)進(jìn)行初始化 int a = new int23;賦初值初始化數(shù)組 int a =2,3,1,5,3,4;三、數(shù)組的基本操作 數(shù)組的引用 數(shù)組的

34、復(fù)制 數(shù)組的輸出 例子Example405四、 數(shù)組應(yīng)用舉例 例5-4 排序 import java.io.*; class ArraySort public static void main(String args) throws IOException BufferedReader keyin =new BufferedReader(new InputStreamReader(System.in);int a,i, j, k, temp; String c;System.out.println(Input the number of array elements!);例5-4 排序(續(xù))c

35、=keyin.readLine();temp=Integer.parseInt(c);a = new inttemp;System.out.println(Input + temp + numbers. One per line!);for ( i=0; ia.length; i+) c=keyin.readLine(); ai=Integer.parseInt(c);System.out.println(After sorting!);例5-4 排序(續(xù))for ( i=0; ia.length-1; i+)k = i;for( j = i + 1 ; j a.length; j+)if (

36、aj ak ) k = j;temp = ai; ai= ak; ak = temp;for ( i=0; ia.length; i+)System.out.println(ai);五、數(shù)組參數(shù)在java的過程中,允許參數(shù)是數(shù)組。在使用數(shù)組參數(shù)時(shí),應(yīng)該注意以下事項(xiàng):(1)在形式參數(shù)表中,數(shù)組名后的括號(hào)不能省略,括號(hào)個(gè)數(shù)和數(shù)組的維數(shù)相等。不需給出數(shù)組元素的個(gè)數(shù)。(2)在實(shí)際參數(shù)表中,數(shù)組名后不需括號(hào)。(3)數(shù)組名做實(shí)際參數(shù)時(shí),傳遞的是地址,而不是值,即形式參數(shù)和實(shí)際參數(shù)具有相同的存儲(chǔ)單元。字符數(shù)組與字符串 所謂字符數(shù)組指數(shù)組中每個(gè)元素是字符類型的數(shù)據(jù)。例如:char country=c,h,i,n,a;字符串中所包含的字符個(gè)數(shù)稱為字符串的長(zhǎng)度,如“china”的長(zhǎng)度為5。要表示長(zhǎng)度為50的字符串,雖然可以用如下的字符數(shù)組:char title=new char

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論