Lap trinh mang

78 255 0
Tài liệu đã được kiểm tra trùng lặp
Lap trinh mang

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

- 1 - TRNG I HC HÀNG HI KHOA CÔNG NGH THÔNG TIN B MÔN K THUT MÁY TÍNH BÀI GING MÔN HC LP TRÌNH MNG Hi Phòng – 2009 - 2 - MC LC Chng 1: CÁC KHÁI NIM CN BN V MNG VÀ JAVA . I. CÁC KHÁI NIM CN BN V MNG . II. LCH S PHÁT TRIN CA JAVA . ch đn thun là mt ngôn ng lp trình mà nó là gii pháp cho nhiu vn đ. . III. CU TRÚC CA MÁY O JAVA IV. CÁC C TRNG CA NGÔN NG LP TRÌNH JAVA V. CÁC N BN JAVA VII. CÁC KIU NG DNG TRONG JAVA . Chng 2. NGÔN NG L P TRÌNH JAVA . I. NH DANH, KIU D LIU VÀ KHAI BÁO BIN . II. CU TRÚC LNH TRONG JAVA III. QUN LÝ NGOI L IV. CÁC LP VÀ CÁC I TNG TRONG JAVA V. CÁC LUNG VÀO RA . VI. LP TRÌNH TUYN ON TRONG JAVA . Chng 3. LP TRÌNH MNG BNG JAVA . I. X LÝ A CH IP II. CÁC LP URL VÀ URLConnection . III. LP TRÌNH SOCKET . VI. LP TRÌNH APPLET . V. LP TRÌNH C S D LIU VI. LP TRÌNH SOCKET TIÊN TIN . TÀI LIU THAM KHO CHÍNH . - 3 - Chng 1: CÁC KHÁI NIM CN BN V MNG VÀ JAVA I. CÁC KHÁI NIM CN BN V MNG Mng máy tính Là tp hp các máy tính đc ni vi nhau bi các đng truyn vt lý và theo mt kin trúc nào đó. Kin trúc mng  cp ti hai khía cnh là Hình trng mng và Giao thc mng. Hình trng mng: Là cách ni các máy tính vi nhau. Ngi ta phân loi mng theo hình trng mng nh mng sao, mng bus, mng ring… Giao thc mng: Là tp hp các qui tc qui c truyn thông ca mng mà tt c các thc th tham gia truyn thông phi tuân theo. Giao thc TCP/IP IP (Internet Protocol)-Giao thc cung cp kh nng kt ni các mng con thành liên mng. TCP Là giao thc hng liên kt (connection oriented) bt buc phi có giai đon thit lp và gii phóng liên kt. Host Máy tính đc kt ni vi Internet đc gi là host.  a ch IP: Mi host đc đnh danh duy nht trên mng và đnh danh này đc gi là đa ch Internet hay đa ch IP. Ví d Máy tính có hostname là www.microsoft.com có đa ch IP là 207.46.230.219 Máy ch DNS Tin thân ca mng Internet là mng Arpanet ca B quc phòng M. Thi k đó s máy tính  mc đ đ lit kê chúng trong mt tp tin vn bn và lu trên tng máy kt ni vào mng. Thông tin trong tp tin này bao gm đa ch IP và hostname. Tuy nhiên do quy mô ca mng ngày càng m rng ngi ta cn có các máy tính chuyên dng đ lu tr và phân gii tên min. Các máy tính có chc nng nh vy đc gi là Máy ch DNS. Dch v tên min (Domain Name Service) Là tp hp nhiu máy tính đc liên kt vi nhau và phân b rng trên mng Internet. Các máy tính này đc gi là name server. Chúng cung cp cho ngi dùng tên, đa ch IP ca bt k máy tính nào ni vào mng Internet hoc tìm ra nhng name server có kh nng cung cp thông tin này. C ch truy tìm đa ch IP thông qua dch v DNS Gi s trình duyt cn tìm tp tin hay trang Web ca mt máy ch nào đó, khi đó c ch truy tìm đa ch s din ra nh sau: 1. Trình duyt yêu cu h điu hành trên client chuyn hostname thành đa ch IP. 2. Client truy tìm xem hostname có đc ánh x trong tp tin localhost, hosts hay không? -Nu có client chuyn đi hostname thành đa ch IP và gi v cho trình duyt. -Nu không client s tìm cách liên lc vi máy ch DNS. 3. Nu tìm thy đa ch IP ca hostname máy ch DNS s gi đa ch IP cho client. 4. Client gi đa ch IP cho trình duyt. 5. Trình duy t s dng đa ch IP đ liên lc vi Server. 6. Quá trình kt ni thành công. Máy ch gi thông tin cho client. - 4 - Cng (Port) Khi kt ni vào máy ch ta có th yêu cu nhiu dch v khác nhau. Mi dch v đu có cách gi và nhn d liu theo qui c riêng. TCP/UDP ch chu trách nhim gi d liu t máy tính này ti máy tính khác. Vic gi d liu cho dch v nào thì thông qua cng (port). Mi máy tính vi mt đa ch IP có 65535 cng. Mi cng đc dành cho mt dch v đc bit. Chng hn dch v Web đc chy trên cng 80. Socket Socket là mt phng pháp đ thit lp kt ni truyn thông gia mt chng trình yêu cu dch v và mt chng trình cung cp dch v trên mng LAN, WAN, hay Internet và đôi khi là gia các tin trình trong cùng mt máy tính. Thông tin ca mt Socket bao gm đa ch IP và s hiu cng. URL (Uniform Resource Locator) là mt con tr ch ti mt tài nguyên c th trên Internet  v trí xác đnh. Cú pháp ca URL: protocol://hostname [:80]/path/filename#section Ví d: http://www.sun.com/index.html II. LCH S PHÁT TRIN CA JAVA Lch s phát trin ca Java bt đu nm 1991 khi SUN tin hành các d án lp trình cho vi x lý dùng trong các thit b đin t khác nhau. C ++ không đáp ng đc các yêu cu này vì C ++ ch tính kh chuyn v mã ngun nhng sau khi biên dch li hoàn toàn ph thuc vào tng b vi x lý c th. Vi x lý dùng trong các thit b đin t rt đa dng và có vòng đi khá ngn ngi. Vic thay đi b x lý dn đn cn phi thay đi trình biên dch C ++ , điu này gây lên tn kém. SUN đã thit k mt ngôn ng lp trình mi có tính kh chuyn cao hn đó chính là Java. Java là tên đa phng ni xut x ca mt loi cà phê ngon ni ting. Java đc chính thc công b nm 1995 và ngay lp tc đã to lên mt trào lu mi trên toàn th gii và t đó đn nay vn to đc sc cun hút mnh m. Bi vì Java không ch đn thun là mt ngôn ng lp trình mà nó là gii pháp cho nhiu vn đ. III. CU TRÚC CA MÁY O JAVA Chng trình ng dng hot đng bng cách s dng các đi tng ca Java (Java Object). Máy o Java to thành mt lp ngn cách gia trình ng dng và h điu hành. Cu trúc ca máy o Java (Java Virtual Machine) Máy o Java bao gm các thành phn sau : Trình np lp (Class Loader), Trình kim tra lp (Class Verifier), và Trình thc thi (Execution Unit). Trình np lp: đc bytecode t đa hoc t kt ni mng. Trình kim tra lp: (Class Verifier) Kim tra các lp s không sinh ra các li nh hng ti h thng khi thc thi. Trình thc thi s thc hin các lnh đc quy đnh trong tng bytecode. IV. CÁC C TRNG CA NGÔN NG LP TRÌNH JAVA Java là mt môi trng đc lp (Independent Platform) Do cu trúc ca Java nên ta có th son tho chng trình trên bt k h thng nào. Sau khi đã đc biên dch thành tp tin lp (*.class) ng dng có th thc thi  bt k h thng nào. ó là đc tính mà các ngôn ng khác không có. Java là mt ngôn ng lp trình hng đi tng Java là mt ngôn ng lp trình hng đi tng thun túy, mi th trong Java đu là đi tng. - 5 - Java là mt ngôn ng kh chuyn (Portibility) Java có tính kh chuyn đi vi c mã ngun và bn thân mã biên dch (bytecode) Java là môi trng x lý phân tán Bytecode không ph thuc vào h thng vì vy bytecode có th nm phân tán trên mng. Vic liên kt vi th vin ch đc thc hin vào lúc chy chng trình do vy mã byte thng gn nh. Chng trình Java đc np dn mt cách linh hot nên không gây quá ti cho mng. Ngoài ra, Java còn cho phép x lý đa tuyn đon. C ch truyn thông đip thun tin cho vic t chc mng. Java là môi trng an toàn Khi phát trin các ng dng phân tán thì mt trong nhng vn đ đc quan tâm hàng đu là an toàn h thng. Java đc thit k đ đm bo an toàn cho ngi dùng Java trên mng. Java có bn tng bo an: Tng 1: Mc ngôn ng và trình biên dch. Java không có kiu con tr. Trình biên dch kim tra kiu rt cht ch. Mi chuyn đi kiu đu phi đc thc hin mt cách tng minh. Trình biên dch Java t chi sinh ra mã byte nu mã ngun không tuân th nghiêm ngt các quy tc an toàn. Tng 2: Trình np lp (Class Loader) Có kh nng phân bit nhng lp đn t mng và nhng lp np t h thng. Nh kh nng phân bit nh vy lp đc np qua mng đc khng ch cht ch, không đc phép thc hin các thao tác mc thp. Tng 3: Trình kim tra mã byte. Trình này s kim tra mã byte vào lúc chy chng trình bo đm chng trình Java đã đc biên dch mt cách đúng đn. Khi thc hin s không gây li nh hng ti h thng cng nh không đng chm ti d liu riêng t trên máy khách. Tng 4: Trình bo an. Kim tra mã byte vào lúc chy nhm b o đm mã đang xét không vi phm qui tc an toàn đã đc thit lp. Các thao tác ca ng dng đc lit vào kh nng gây nguy him nh đc, xóa tp đu phi đc Trình bo an cho phép. Java cung cp cho ngi lp trình mt th vin khng l Java cung cp cho ngi lp trình mt th vin khng l các hàm chun, gi là core API. Các hàm chun này đc đt trong các gói. Java có c ch qun lý b nh t đng. Qun lý b nh là mt trong nhng vn đ phc tp đi vi C và C ++ . Khi thc hin chng trình ngi lp trình chu trách nhim khi to các vùng nh, sau khi dùng phi gii phóng các vùng nh này. Ch cn mt li nh có th làm cn kit tài nguyên dn đn treo h thng. Java đã loi b gánh nng này cho ngi lp trình. Các vùng nh đc t đng gii phóng nu nh nó không tham chiu đn bt k đi tng nào đang hot đng Chi phí phát tri n ng dng bng Java thp Khi phát trin ng dng da trên công ngh Java thì s có rt nhiu công c phát trin và dch v đc cung cp min phí. V. CÁC N BN JAVA J2SE ( Java 2 Platform, Second Edition) ây là n bn chun, bao gm mt môi trng thi gian chy và mt tp hp các API đ xây dng mt lot các ng dng khác nhau t applet, cho ti các ng dng đc lp chy trên các nn khác nhau,  ng dng cho client cho các ng dng doanh nghip khác nhau. J2EE (Java 2 Platform, Enterprise Edition (J2EE) J2EE là nn tng đ xây dng các ng dng phía server. J2ME (Java 2 Platform, Micro Edition ) - 6 - n bn này cho phép xây dng các ng dng Java cho các “vi thit b” (các thit b có màn hình hin th và h tr b nh ti thiu, nh đin thoi di đngm và các thit b tr giúp cá nhân). VI. CÔNG C JAVA Sun cung cp mt s tin ích cho phép biên dch bt li và to tài liu cho mt ng dng Java. JDK bao gm: Javac: B biên dch đ chuyn mã ngun thành bytecode. Java: B thông dch đ th c thi các ng dng Java trc tip t tp tin lp. Apppletviewer: Thc thi Java Applet t tài liu html. VII. CÁC KIU NG DNG TRONG JAVA Có hai kiu ng dng ng dng đc lp (Standalone Applicaiton) Cho phép lp trình nh các ngôn ng lp trình khác nh Pascal, C. ng dng ký sinh (Applet) Cho phép to ra chng trình liên kt vi các vn bn Web và đc khi đng bi trình duyt h tr Java. 2 - 7 - Chng 2. NGÔN NG LP TRÌNH JAVA I. NH DANH, KIU D LIU VÀ KHAI BÁO BIN nh danh (Identifier) Tên gi ca các thành phn trong chng trình đc gi là đnh danh nh danh thng đc s dng đ xác đnh bin, kiu, phng thc, lp Qui tc cho đnh danh: • nh danh là mt dãy các ký t gm các ch cái, ch s và các ký t khác: ‘_’, $, . • nh danh không bt đu bng ch s. •  dài ca đnh danh không gii hn. • Java phân bit ch hoa và ch thng. Qui c đt tên • nh danh cho các lp: ch cái đu ca mi t trong đnh danh đu vit hoa Ví d: MyClass, HocSinh, SocketServer, URLConnection, . • nh danh cho các bin, phng thc, đi tng: ch cái đu ca mi t trong đnh danh đu vit hoa tr t đu tiên. Ví d: hoTen (h tên), namSinh (nm sinh), tinhTong (tính tng). Chú thích Chú thích trong các chng trình đ gi i thích công vic hoc cách thc hin đ ngi đc d hiu và tin theo dõi. • Chú thích trên mt dòng //ây là chú thích dòng • Chú thích trên nhiu dòng /* ây là chú thích khi nhiu dòng */ Các kiu d liu nguyên thy (primitive datatype) Kiu d liu c bn đnh ngha sn đc gi là kiu nguyên thy Kiu nguyên thy bao gm các kiu: • Kiu nguyên: char (ký t), byte, short, int, long. • Kiu s thc: float, double. • Ki u logic: boolean. Kiu d liu  rng char 16 byte 8 short 16 int 32 long 64 float 32 doube 64 - 8 - Chú ý: • Các giá tr kiu nguyên thy không phi là đi tng. • Mi kiu d liu có min xác đnh và các phép toán xác đnh trên nó. • Mi kiu d liu nguyên thy có mt lp gói (wrapper class) đ s dng các kiu nguyên thy nh là các đi tng. Kiu d liu Lp gói char Char byte Byte short Short int Integer long Long float Float double Double Khai báo các bin a. Các loi bin trong Java • Các bin thành phn: là các thành phn ca lp và đc khi to giá tr mi khi mt đi tng ca lp đc to ra. Ví d: URL u ; HocSinh hs = new HocSinh(“Tuan Anh”); • Các bin tham chiu đi tng (Object Reference) là bin đc s dng đ x lý các đi tng. • Các bin tnh (static variable) là bin ca lp đi din cho c lp. • Các bin c c b: là bin đc khai báo trong các phng thc và trong các khi. b. Khai báo bin kieu_du_lieu bien; Ví d: int i; char b,c; float giaBan, dienTich; c. Khi to giá tr cho các bin Các giá tr mc đnh cho các bin thành phn Kiu d liu Giá tr mc đnh boolean false char ‘\u000’ byte, short, int, long 0 float, double +0.0F,+0.0D tham chiu đi tng null - 9 - Qui tc chuyn đi kiu trong Java (<kieu>)<bieu_thuc> Ví d float f = (float)100.15D; M rng và thu hp kiu byte short int long float double char Ví d 1:M rng kiu char c = ‘A’; int k =c; Ví d 2:Thu hp kiu int k =10; char c=(char)k; II. CU TRÚC LNH TRONG JAVA Khi lnh Khi lnh trong Java tng t nh khi lnh trong C/C++. ̇ Lnh gán Ví d int a, b, c,d; d=b*b-4*a*c; ̇ Khi lnh Mt khi lnh nm trong cp ngoc { } ̇ Biu thc điu kin Biu thc điu kin A?B:C tr v giá tr B nu A có giá tr true, tr v giá tr C nu A có giá tr false. ̇ Các lnh điu khin dòng thc hin trong Java - Các lnh điu khin r nhánh chng trình Lnh if đn gin Cú pháp if<biu_thc_đk> <câu_lnh> Lnh if – else Cú pháp if <biu_thc_đk> <câu_lnh_1>; else - 10 - <câu_lnh_2>; Ví d Hàm tính tng các s dng ca mt mng public double tongDuong(double[] v) { if(v.length>1) { for(int i=0; i<v.length; i++) if(v[i]>0) tong+=v[i]; } else { tong = v[0]; } return tong; } Lnh switch Lnh này cho phép r nhánh theo nhiu nhánh tuyn chn da trên các giá tr nguyên ca biu thc. Cú pháp: switch(<biu_thc_nguyên>) { case nhan_1:<câu_lnh_1>; case nhan_2:<câu_lnh_2>; case nhan_3:<câu_lnh_3>; . case nhan_n:<câu_lnh_n>; default:<câu_lnh>; } Lnh lp Lnh lp cho phép mt khi các câu lnh thc hin m t s ln lp li. Lnh while while (<iu_kin>) <Thân_chu_trình> Chú ý: Có th <Thân_chu_trình> không đc thc hin ln nào nu ngay t đu <iu_kin> có giá tr false. <iu_kin> là biu thc boolean. [...]... xu t m ng vào m ng b In d li u t m ng b ra màn hình import java.io.*; class LuongXuatMang { public static void main(String[] args) { try{ //Tao mot luong xuat mang 100 byte ByteArrayOutputStream os = new ByteArrayOutputStream(100); //Ghi du lieu vao luong for(byte i=0;i . NegativeArraySizeException { ArraySizeException() { super("Nhap kich thuoc mang khong hop le"); } } class ThrowDemo { int size, a[]; ThrowDemo(int. - C:MyJavaBaitap>java ThrowDemo -1 ArraySizeException: Nhap kich thuoc mang khong hop le Gii thích: Chúng ta đã to ra mt lp có tên ArraySizeException,

Ngày đăng: 28/10/2013, 10:15

Hình ảnh liên quan

Java cung cp mt mô hình q un lý các ngo il cho phép k im tra các li các v trí có liên quan - Lap trinh mang

ava.

cung cp mt mô hình q un lý các ngo il cho phép k im tra các li các v trí có liên quan Xem tại trang 13 của tài liệu.
ivi lu ng x ut nh p tp tin ta hình dung nh sau: ch ng trình Java là ni tiêu th d li u, t p tin là n i cung c p d  li u - Lap trinh mang

ivi.

lu ng x ut nh p tp tin ta hình dung nh sau: ch ng trình Java là ni tiêu th d li u, t p tin là n i cung c p d li u Xem tại trang 27 của tài liệu.
Mô hình lp trình đn tu yn đ on th ng gp nhi u ngôn ngl p trình. Trong m t ngân hàng th c t , có nhi u tuy n  đo n cùng ho t đng đ ng th i - Lap trinh mang

h.

ình lp trình đn tu yn đ on th ng gp nhi u ngôn ngl p trình. Trong m t ngân hàng th c t , có nhi u tuy n đo n cùng ho t đng đ ng th i Xem tại trang 30 của tài liệu.
repaint():đ cgi tk khi nào có sc n thi tđ v li đ it ng hình - Lap trinh mang

repaint.

():đ cgi tk khi nào có sc n thi tđ v li đ it ng hình Xem tại trang 58 của tài liệu.
Hình 3. 1- JDBC truy x ut ki u1 Hình 3. 2- JDBC truy x ut ki u2 - Lap trinh mang

Hình 3..

1- JDBC truy x ut ki u1 Hình 3. 2- JDBC truy x ut ki u2 Xem tại trang 62 của tài liệu.
Hình trên ch r ar ngl p java.util.Date là kh tu nt. Nh ng không phi t tc các lp là kh t un t  - Lap trinh mang

Hình tr.

ên ch r ar ngl p java.util.Date là kh tu nt. Nh ng không phi t tc các lp là kh t un t Xem tại trang 67 của tài liệu.

Trích đoạn

Tài liệu cùng người dùng

Tài liệu liên quan