Bài giảng về Java

151 938 4
Bài giảng về Java

Đ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

Bài giảng về Java

M C L CỤ ỤM C L CỤ Ụ 1 Đ tài 0. Gi i thi u v Javaề ớ ệ ề 6 I. L ch s hình thành và phát tri n ngôn ng l p trình Javaị ử ể ữ ậ . 6 I.1. Gi i thi u v Javaớ ệ ề . 6 I.2 Tóm t t l ch s hình thành c a Java ắ ị ử ủ . 6 II. Các đ c tr ng c a Javaặ ư ủ . 7 II.1. Tính đ n gi nơ ả . 7 II.2. Tính h ng đ i t ngướ ố ượ . 7 II.3. Tính phân tán 7 II.4. Tính m nh mạ ẽ 7 II.5. Tính an toàn 7 II.6. Tính trung l pậ . 8 II.7. Tính di đ ngộ . 8 II.8. Tính thông d chị . 9 II.9. Tính th c thi caoự . 9 II.10. Tính đa lu ngồ 9 II.11. Tính đ ng ộ . 9 III. Các lo i ng d ng c a Javaạ ứ ụ ủ 9 IV. Công c và môi tr ng l p trình Javaụ ườ ậ 9 V. Cài đ t Java ặ 10 Đ tài 1. Ngôn ng mô hình hóa UMLề ữ . 13 I. Xây d ng h th ng ph n m m theo h ng đ i t ngự ệ ố ầ ề ướ ố ượ 13 I.1 Các khái ni m căn b n c a công ngh h ng đ i t ngệ ả ủ ệ ướ ố ượ 13 I.2 Quy trình chung phát tri n h th ng ph n m mể ệ ố ầ ề . 14 I.3 Nh ng thách th c c a ngành công nghi p ph n m m hi n nayữ ứ ủ ệ ầ ề ệ 14 II. L ch s phát tri n ngôn ng mô hình hóa UMLị ử ể ữ . 14 II.1. Tóm t t l ch s UMLắ ị ử . 14 II.2. Khái ni m v UMLệ ề 15 II.3 Đ c tr ng c a UMLặ ư ủ 15 III. Ngôn ng UMLữ 16 III.1. Các thành ph n c a UMLầ ủ . 16 III.2. Các h ng nhìn (view)ướ 17 III.3 ng d ng UML trong quy trình làm ph n m mỨ ụ ầ ề 24 IV. Quy trình Rational Unified Process (RUP) phát tri n ph n m m d a trên UMLể ầ ề ự 26 IV.1. Gi i thi u v RUPớ ệ ề 26 IV.2. Các nguyên t c chính c a RUP:ắ ủ . 26 IV.3. Vòng đ i c a ph n m m theo quy trình RUPờ ủ ầ ề . 26 IV.4. Các công c c a RUPụ ủ . 28 Bài t pậ 28 Đ tài 2. Nh p môn Javaề ậ . 29 I. Vi t và th c hi n m t ch ng trình Java ế ự ệ ộ ươ 29 I.1 Tìm hi u mã ngu n m t ch ng trình đ n gi nể ồ ộ ươ ơ ả 29 I.2. Th c hi n ch ng trình Java.ự ệ ươ . 29 I.3. M t s chú ý khi l p trình Javaộ ố ậ . 30 1 I.4. C u trúc m t ch ng trình Javaấ ộ ươ . 30 II. Các ki u d li u trong Javaể ữ ệ 31 II.1 Các ki u d li u s nguyênể ữ ệ ố 31 II.2 Các ki u s th cể ố ự . 32 II.3 Ki u ký t (character)ể ự . 32 II.4 Ki u logic (boolean)ể 32 II.5 Ki u chu iể ỗ . 32 II.6 Chuy n đ i gi a các ki u sể ổ ữ ể ố 32 III. Khai báo bi n và h ng trong Javaế ằ . 33 III.1 Quy t c đ t tên bi nắ ặ ế 33 III.2 Khai báo bi nế . 33 III.3 Bi n ki u m ngế ể ả . 34 III.4 H ng s (literal)ằ ố . 35 III.5 Ph m vi ho t đ ng c a h ng và bi n:ạ ạ ộ ủ ằ ế . 36 IV. Các toán t và bi u th cử ể ứ . 36 IV.1 Các toán t và th t u tiênử ứ ự ư . 36 IV.2 Bi u th cể ứ . 37 V. Các l nh đi u khi n r nhánhệ ề ể ẽ 38 V.1 L nh ifệ . 38 V.2. L nh switch …caseệ 38 VI. Các l nh l pệ ặ . 39 VI.1. Vòng l p forặ 39 VI.2. Vòng l p whileặ 40 VI.3. Vòng l p do . whileặ 41 VI.4. Phép nh yả 41 VII. Vào d li u t bàn phím và xu t d li u ra màn hìnhữ ệ ừ ấ ữ ệ . 42 VII.1. L y giá tr nh p vào t bàn phímấ ị ậ ừ . 42 VII.2 K t xu t d li u ra màn hìnhế ấ ữ ệ . 43 Bài t pậ 44 Đ tài 3. L p trình h ng đ i t ng trong Javaề ậ ướ ố ượ 46 I. Khái ni m l p trình h ng đ i t ng (Object-Oriented Programming - OOP)ệ ậ ướ ố ượ . 46 I.1. Khái ni m OOPệ . 46 I.2 C s lý lu n c a OOPơ ở ậ ủ 46 I.3 Tr u t ng hóaừ ượ . 46 II. Tính đóng gói trong Java . 48 II.1 Khái ni m tính đóng góiệ 48 II.2 M i quan h gi a các classố ệ ữ . 48 II.3 M t s g i ý khi thi t k classộ ố ợ ế ế . 48 IV. S d ng các Class xây d ng s n trong th vi nử ụ ự ẵ ư ệ 49 V. Xây d ng Class trong Javaự 50 V.1 C u trúc c a classấ ủ . 50 V.2 Các thu c tính thành ph n:ộ ầ . 51 V.3 Các ph ng th c thành ph nươ ứ ầ . 52 V.4 G i và truy n tham s cho ph ng th cọ ề ố ươ ứ . 53 V.6 Các hàm và ph ng th c đ c bi tươ ứ ặ ệ . 53 V.7 Khai báo ch ng các ph ng th cồ ươ ứ . 54 V.8 L p l ng nhau – l p n iớ ồ ớ ộ . 55 2 VI. Tính k th a trong Javaế ừ . 56 VI.1 S k th a các thu c tính và ph ng th cự ế ừ ộ ươ ứ 56 VI.2 S k th a đ i v i các constructorự ế ừ ố ớ . 59 VII. Tính đa hình trong Java . 60 VII.1 S ép ki u và gán tham chi u đ i t ngự ể ế ố ượ 60 VII.2 S ràng bu c đ ng –Dynamic Binding ự ộ ộ . 61 VIII. L p Objectớ . 62 IX. Giao di nệ 62 IX.1 C u trúc c a giao di nấ ủ ệ 62 IX.2 Các tính ch t c a giao di nấ ủ ệ . 64 X. Package 64 X.1 S d ng các package trong th vi n Javaử ụ ư ệ 64 X.2 Đ t l p vào packageặ ớ . 65 Bài t pậ 65 Đ tài 4. L p và ph ng th c tr u t ngề ớ ươ ứ ừ ượ 67 I. Khái ni m l p tr u t ngệ ớ ừ ượ 67 II. Cài đ t l p và ph ng th c tr u t ng trong Javaặ ớ ươ ứ ừ ượ . 67 Bài t pậ 68 Đ tài 5. L u tr và x lý đ i t ngề ư ữ ử ố ượ 69 I. L p Vector và giao di n Enumerationớ ệ . 69 I.1 L p Vectorớ 69 I.2 Giao di n Enumerationệ . 70 II. M ng trong Java và l p ArrayListả ớ 72 II.1 M ng trong Javaả 72 II.2. Các thu t toán c b n trên m ngậ ơ ả ả 73 II.3 Class Arrays . 74 III Danh sách trong java và giao di n Lists ệ 76 Bài t pậ 77 Đ tài 6. Các lu ng vào ra d li u v i fileề ồ ữ ệ ớ . 78 I. Khái ni m lu ng vào ra (I/O stream)ệ ồ . 78 II. L p InputStream:ớ . 79 III. L p OutputStreamớ 80 IV. L p FileInputStreamớ 80 V. L p FileOutputStreamớ . 80 VI. L p Fileớ 80 VII. Nh p xu t l c ậ ấ ọ . 82 VII.1 L p FilterInputStream: ớ 82 VII.2 L p FilterOutputStreamớ 82 VIII. Vào/ra có s d ng b đ m ử ụ ộ ệ 82 VIII.1 L p BufferedInputStream:ớ 82 VIII.2 L p BufferedOutputStreamớ . 82 IX. L p RandomAccessFile ớ 85 X. Đ i t ng System.inố ượ . 85 XI. Truy c p file ch đ tu n tậ ở ế ộ ầ ự . 85 XII. Truy c p file nh phânậ ị 89 Bài t p ậ . 90 Đ tài 7. X lý ngo i lề ử ạ ệ 91 3 I. Các tình hu ng s d ng ngo i lố ử ụ ạ ệ 91 II. C s qu n lý ngo i l trong Javaơ ở ả ạ ệ . 91 III. C u trúc cây k th a các x lý ngo i lấ ế ừ ử ạ ệ 92 IV. S d ng ngo i l đ c ki m soátử ụ ạ ệ ượ ể 93 V. Xây d ng m t ngo i lự ộ ạ ệ 94 VI. Bài t pậ 95 Đ tài 8. X lý các s ki n trong Javaề ử ự ệ 96 I. Khái ni m và c s x lý s ki nệ ơ ở ử ự ệ . 96 II. Truy c p thông tin s ki nậ ự ệ . 102 III. X lý các s ki n trên windowử ự ệ . 103 IV. Các l p thích nghiớ 104 V. X lý các s ki n chu tử ự ệ ộ 106 Bài t pậ 107 Đ tài 9. Appletề 108 I. Xây d ng m t Applet đ n gi nự ộ ơ ả . 108 II. C u trúc c b n và vòng đ i c a m t Appletấ ơ ả ờ ủ ộ . 108 III. An ninh và kh năng c a Appletả ủ . 110 IV. ng d ng Applet v i c a s PopupỨ ụ ớ ủ ổ . 110 V. Các th HTML c a Appletẻ ủ . 111 VI. Các ph ng th c, l p trình đ h a và b t s ki n c a appletươ ứ ậ ồ ọ ắ ự ệ ủ 112 Đ tài 10. L p trình giao di n đ h a GUIề ậ ệ ồ ọ 114 I. Gi i thi u AWT ớ ệ 114 II. V t ch a (Container)ậ ứ 115 II.1 JFrame 115 II.2 JPanel . 115 II.3 JDialog . 116 II.4 JScrollPane . 118 III. Gi i thi u v các thành ph n GUI c b nớ ệ ề ầ ơ ả . 118 III.1 Nút nh n ấ 118 III.2 Nhãn (Label) . 118 III.3 Nút đánh d u (checkbox)ấ . 120 III.4 Nút ch n (radio button)ọ 122 III.5 H p tho i Combo ộ ạ . 122 III.6 Danh sách (Lists) 123 III.7 Ô văn b n (text field) và vùng văn b n (text areas)ả ả 125 III.8 Thanh tr t (Scrollbar)ượ 128 IV. Thành ph n Menuầ 129 V. B qu n lý cách trình bày (Layout Manager)ộ ả . 132 V.1 Cách trình bày FlowLayout: 133 V.2 Cách trình bày GridLayout: . 133 V.3 Cách trình bày BorderLayout 133 VI. Các h p tho iộ ạ . 133 VI.1 H p tho i thông báoộ ạ 133 VI.2 H p tho i ch n Fileộ ạ ọ . 134 VI.3 H p tho i ch n màuộ ạ ọ 135 Bài t pậ 135 Đ tài 11. Threadingề 137 4 I. Khái ni m threadệ 137 I.1 Khái ni m:ệ 137 I.2. L p Threadớ . 137 I.3 Các b c đ t o m t threadướ ể ạ ộ 138 II. Các tr ng thái c a thread.ạ ủ . 138 III. Các thu c tính c a threadộ ủ 139 III.1 Đ u tiên c a threadộ ư ủ 139 III.2 Nhóm thread . 140 III.3 Qu n lý các ngo i l c a threadả ạ ệ ủ . 140 IV. Đi u khi n các threadề ể 141 IV.1 Interrupt m t threadộ . 141 IV.2 D ng m t threadừ ộ 142 IV.3 T m d ng và ph c h i m t threadạ ừ ụ ồ ộ . 143 IV.4 Gi i phóng th i gian cho CPUả ờ 143 IV.5 Đ i m t thread k t thúc công vi cợ ộ ế ệ . 143 V. Đ ng b threadồ ộ . 144 V.1 Tình tr ng “đua tranh”ạ 144 V.2 Khóa đ i t ngố ượ . 145 V.3 Đ i t ng đi u ki nố ượ ề ệ . 146 Bài t pậ 148 Ph l c A. Các t khóa c a Javaụ ụ ừ ủ 149 Ph l c B M t s hàm hay s d ngụ ụ ộ ố ử ụ . 150 Tài li u tham kh oệ ả . 151 5 Đ tài 0. Gi i thi u v Javaề ớ ệ ềI. L ch s hình thành và phát tri n ngôn ng l p trình Javaị ử ể ữ ậI.1. Gi i thi u v Javaớ ệ ềJava là m t ngôn ng l p trình m nh đang đ c s d ng r t r ng rãi hi n nay trên toànộ ữ ậ ạ ượ ử ụ ấ ộ ệ th gi i. Trên th c t , Java đ c bi t đ n không ch là m t ngôn ng l p trình mà là m tế ớ ự ế ượ ế ế ỉ ộ ữ ậ ộ platform – m t môi tr ng và công ngh phát tri n – riêng bi t. Khi làm vi c v i Java, ng iộ ườ ệ ể ệ ệ ớ ườ l p trình đ c s h u m t th vi n l n, có tính m v i m t l ng mã ngu n tái s d ngậ ượ ở ữ ộ ư ệ ớ ở ớ ộ ượ ồ ử ụ kh ng l luôn có trên internet. Ngoài ra, các ch ng trình vi t b ng Java có môi tr ng th cổ ồ ươ ế ằ ườ ự thi riêng v i các tính năng b o m t, kh năng tri n khai trên nhi u h đi u hành khác nhau vàớ ả ậ ả ể ề ệ ề nhi u tính năng u vi t khác chúng ta s xem xét trong ph n sau.ề ư ệ ẽ ầI.2 Tóm t t l ch s hình thành c a Java ắ ị ử ủNăm 1991, m t nhóm k s c a hãng SUN bao g m Patrick Naughton, Sun Fellow vàộ ỹ ư ủ ồ James Gosling có ý t ng phát minh ra m t ngôn ng l p trình nh g n có th th c thi đ cưở ộ ữ ậ ỏ ọ ể ự ượ trên các thi t b d ng nh b chuy n kênh c a truy n hình cáp vì các thi t b ki u này có bế ị ạ ư ộ ể ủ ề ế ị ể ộ nh nh . Bên c nh đó, do các hãng khác nhau s d ng các chíp x lý (CPUs) khác nhau nênớ ỏ ạ ử ụ ử m t đ c tính quan tr ng mà ngôn ng này ph i có là đ c l p v i các dòng CPUs khác nhau –ộ ặ ọ ữ ả ộ ậ ớ g i là đ c tính di đ ng. Nhóm đã m m t d án có tên là Green đ hi n th c hóa ý t ng này.ọ ặ ộ ở ộ ự ể ệ ự ưở Đ gi i quy t v n đ di đ ng, nhóm đã s d ng ý t ng c a k s Niklaus Wirth –ể ả ế ấ ề ộ ử ụ ưở ủ ỹ ư ng i sáng l p ngôn ng Pascal – v vi c s d ng c ch thông d ch và máy o (virtualườ ậ ữ ề ệ ử ụ ơ ế ị ả machine).V n n t ng ngôn ng , do hãng SUN phát tri n trên n n UNIX nên h s d ng ngônề ề ả ữ ể ề ọ ử ụ ng l p trình C++ là ch y u. Do đó, ngôn ng m i thiên v h ng đ i t ng (Objectữ ậ ủ ế ữ ớ ề ướ ố ượ Oriented) c a C++ h n là h ng th t c nh Pascal.ủ ơ ướ ủ ụ ưBan đ u nhóm đ t tên cho ngôn ng m i là “Oak” nh ng sau đó đ c chuy n thànhầ ặ ữ ớ ư ượ ể Java do Oak cũng đã là tên m t ngôn ng l p trình khác.ộ ữ ậNăm 1992, d án Green cho ra đ i s n ph m đ u tiên có tên là “*7” nh ng đã khôngự ờ ả ẩ ầ ư đ c chào đón nh mong đ i. Sau đó nhóm đã ph i m t c năm 1993 và n a đ u 1994 đ điượ ư ợ ả ấ ả ử ầ ể ti p th công ngh c a mình. T năm 1994, s phát tri n c a Internet đã t o c h i đ Javaế ị ệ ủ ừ ự ể ủ ạ ơ ộ ể phát tri n nhanh chóng. Nhóm đã phát tri n m t trình duy t có tên là HotJava cho phép cácể ể ộ ệ ch ng trình Java nhúng đ c trong đó (applet). Đây chính là minh ch ng rõ ràng v s c m nhươ ượ ứ ề ứ ạ c a Java đã nhanh chóng đ c c ng đ ng ng i s d ng internet bi t đ n và là ti n đ đủ ượ ộ ồ ườ ử ụ ế ế ề ề ể Java phát tri n r c r nh ngày hôm nay.ể ự ỡ ưPhiên b n đ u tiên 1.0 c a Java ra đ i vào năm 1996, sau đó là phiên b n 1.1 m c dùả ầ ủ ờ ả ặ khá m nh nh ng cũng còn nhi u h n ch .ạ ư ề ạ ếNăm 1998 đánh đ u b c chuy n mình m nh m c a Java v i s ra đ i c a phiên b nấ ướ ể ạ ẽ ủ ớ ự ờ ủ ả 1.2 làm cho Java ti n g n t i m c tiêu “vi t m t l n, ch y kh p n i” (Write once, Runế ầ ớ ụ ế ộ ầ ạ ắ ơ Anywhere). Các nhân viên ti p th c a Java g i đây là phiên b n “Java 2 Standard Editionế ị ủ ọ ả Software Development Kit Version 1.2” ý nói t i s có m t đ ng th i c a 2 phiên b nớ ự ặ ồ ờ ủ ả “Standard Edition” là Micro Edition và Enterprise Edition trong Java.Các phiên b n 1.3, 1.4 là s phát tri n m r ng ti p theo c a phiên b n 1.2. Phiên b nả ự ể ở ộ ế ủ ả ả 1.5 (chuy n sang g i là phiên b n 5.0) đánh d u s tích h p đ y đ nh t các công ngh Java.ể ọ ả ấ ự ợ ầ ủ ấ ệB ng sau cho th y s phát tri n th vi n Java qua các phiên b n:ả ấ ự ể ư ệ ả6 Phiên b nảS các Class và Interfaceố1.0 2111.1 4771.2 15241.3 18401.4 27235.0 3270Hi n t i, Java đã phát tri n t i phiên b n 1.6.ệ ạ ể ớ ảII. Các đ c tr ng c a Javaặ ư ủJava đ c bi t đ n v i các đ c tr ng sau:ượ ế ế ớ ặ ưII.1. Tính đ n gi nơ ảJava đ c phát tri n d a trên C++ nh ng l c b t đi ho c thay th các khái ni m khóượ ể ự ư ượ ớ ặ ế ệ hi u nh header file, con tr , structures, union, operator overloading, virtual base class. Trongể ư ỏ Java ch có th a k đ n mà không có tính đa th a k nh c a C++. Tuy nhiên tính đa th a kỉ ừ ế ơ ừ ế ư ủ ừ ế đ c bi u hi n thông qua vi c s d ng các Interface.ượ ể ệ ệ ử ụII.2. Tính h ng đ i t ngướ ố ượNh đã trình bày trên, Java đ c phát tri n t C++ nên nó là ngôn ng l p trìnhư ở ượ ể ừ ữ ậ h ng đ i t ng.ướ ố ượII.3. Tính phân tánJava cho phép l p trình truy c p các đ i t ng t xa thông qua các giao th c HTTP,ậ ậ ố ượ ừ ứ FTP b ng các ph ng th c nh RMI hay Socket.ằ ươ ứ ưJava hoàn toàn thích h p cho các ng d ng Internet. Các công ngh JSP, Servlet choợ ứ ụ ệ phép xây d ng các website t ng tác v i các tính năng th c thi t i uự ươ ớ ự ố ưII.4. Tính m nh mạ ẽVi c lo i b con tr làm tăng đ tin c y c a ch ng trình. L p trình viên không c nệ ạ ỏ ỏ ộ ậ ủ ươ ậ ầ quan tâm đ n thao tác c p phát ế ấ và gi i phóng b nh . V i Java, b nh đ c gi i phóng tả ộ ớ ớ ộ ớ ượ ả ự đ ng.ộII.5. Tính an toànNgôn ng Java đ c thi t k đ tránh các s c :ữ ượ ế ế ể ự ố• N p ch ng stack lúc runtime.ạ ồ• nh h ng t i b nh n m ngoài ph m vi đ c c p phát.Ả ưở ớ ộ ớ ằ ạ ượ ấ• Đ c và ghi file t doọ ự7 II.6. Tính trung l pậCác ch ng trình vi t b ng Java không b ph thu c vào h đi u hành. Đi u này cóươ ế ằ ị ụ ộ ệ ề ề đ c là do mã ngu n ch ng trình không đ c biên d ch thành mã máy ngay mà thành mãượ ồ ươ ượ ị Bytecode. Khi đem mã Bytecode này ch y trên h máy tính nào thì m t trình thông d ch virtualạ ệ ộ ị machine (Java Vitual Machine-JVM) s thông d ch chúng sang mã máy t ng ng đ th c thi.ẽ ị ươ ứ ể ựMã ngu n -> ByteCodes -> machine code.ồT mã ngu n -> Bytecodes: Trình biên d ch Java.ừ ồ ịT Bytecodes -> machine code: Trình thông d ch Virtual machine. ừ ị Java Virtual Machine – JVMMáy o là m t ph n m m d a trên c s máy tính o. Nó có t p h p các l nh logic đả ộ ầ ề ự ơ ở ả ậ ợ ệ ể xác đ nh các ho t đ ng c a máy tính. Ng i ta có th xem nó nh m t h đi u hành thu nh .ị ạ ộ ủ ườ ể ư ộ ệ ề ỏ JVM thi t l p các l p tr u t ng cho ph n c ng bên d i, h đi u hành, mã đã biên d ch.ế ậ ớ ừ ượ ầ ứ ướ ệ ề ịTrình biên d ch chuy n mã ngu n thành t p các l nh c a máy o mà không ph thu cị ể ồ ậ ệ ủ ả ụ ộ vào ph n c ng c th . Trình thông d ch trên m i máy s chuy n t p l nh này thành ch ngầ ứ ụ ể ị ỗ ẽ ể ậ ệ ươ trình th c thi. Máy o t o ra m t môi tr ng bên trong đ th c thi các l nh b ng cách: ự ả ạ ộ ườ ể ự ệ ằ• N p các file .classạ• Qu n lý b nh ả ộ ớ• D n “rác”, thu h i b nh c p cho các bi n không còn đ c s d ng.ọ ồ ộ ớ ấ ế ượ ử ụVi c không nh t quán c a ph n c ng làm cho máy o ph i s d ng ngăn x p đ l uệ ấ ủ ầ ứ ả ả ử ụ ế ể ư tr các thông tin sau:ữ• Các “Frame” ch a các tr ng thái c a các ph ng th c.ứ ạ ủ ươ ứ• Các toán h ng c a mã bytecode.ạ ủ• Các tham s truy n cho ph ng th c.ố ề ươ ứ• Các bi n c c b .ế ụ ộII.7. Tính di đ ngộKhông gi ng C++ và C, các ki u d li u nguyên th y c a Java đ c c p phát m tố ể ữ ệ ủ ủ ượ ấ ộ l ng b nh c đ nh. Ch ng h n ki u d li u int c a Java luôn là 4 byte (32 bit) trong khiượ ộ ớ ố ị ẳ ạ ể ữ ệ ủ ki u int c a C++ có th hi u là 2 byte ho c 4 byte. Thi t k này giúp cho trình biên d ch luônể ủ ể ể ặ ế ế ị có s bytecode nh nhau trên m i h máy và sau đó phát sinh mã máy theo khuôn d ng cố ư ọ ệ ạ ố đ nh.ịTrong các phiên b n đ u c a Java, v n đ giao di n đ h a cho ng i s d ng (GUI)ả ầ ủ ấ ề ệ ồ ọ ườ ử ụ ch a đ c x lý tri t đ và ph thu c vào h máy. Ngày nay, th vi n GUI c a Java đã đ cư ượ ử ệ ể ụ ộ ệ ư ệ ủ ượ MacintoshTrình biên d chịBytecodeTrình thôngd ch ịJava(Java Interpreter)IBMSparc8 vi t l i hoàn toàn và có tính đ c l p cao giúp cho ch ng trình Java có giao di n gi ng nhauế ạ ộ ậ ươ ệ ố trên m i h máy.ọ ệII.8. Tính thông d chịTrình thông d ch Java s thông d ch mã bytecode sang mã máy n i mà nó đ c cài đ t.ị ẽ ị ơ ượ ặ Quá trình này cũng làm các ch ng trình Java ch y ch m h n. Tuy nhiên đây l i là gi i phápươ ạ ậ ơ ạ ả cho tính di đ ng.ộII.9. Tính th c thi caoựJava s d ng công ngh Just-In-Time (JIT) giúp quá trình thông d ch th c hi n nhanhử ụ ệ ị ự ệ h n. V i công ngh này, nh ng mã bytecode gi ng nhau s ch c n thông d ch m t l n. Ngàyơ ớ ệ ữ ố ẽ ỉ ầ ị ộ ầ nay, công ngh này liên t c đ c c i ti n và cho k t qu v t tr i so v i các trình thông d chệ ụ ượ ả ế ế ả ượ ộ ớ ị truy n th ng. Ví d nh JIT có th qu n lý các đo n mã đ c s d ng th ng xuyên trongề ố ụ ư ể ả ạ ượ ử ụ ườ ch ng trình, t i u chúng đ nâng cao t c đ c th c hi n.ươ ố ư ể ố ộ ự ệII.10. Tính đa lu ngồV i ch ng trình Java, l p trình viên có th cùng lúc qu n lý nhi u ti n trình khácớ ươ ậ ể ả ề ế nhau. Đi u này giúp cho vi c cài đ t các thu t toán song song b ng Java trên các máy tínhề ệ ặ ậ ằ nhi u CPU đ c d dàng h n, đ c bi t trong các ng d ng th i gianề ượ ễ ơ ặ ệ ứ ụ ờ th c.ựII.11. Tính đ ng ộCác ch ng trình Java có th đ c nâng c p mà không nh h ng t i ng i s d ng.ươ ể ượ ấ ả ưở ớ ườ ử ụ Các ph ng th c m i có th đ c cài đ t thêm vào các l p đ i t ng hay các giao di n trongươ ứ ớ ể ượ ặ ớ ố ượ ệ th vi n c a ch ng trình đang ch y.ư ệ ủ ươ ạIII. Các lo i ng d ng c a Javaạ ứ ụ ủ• ng d ng console: Không có giao di n GUI.Ứ ụ ệ• ng d ng đ ho : Có giao di n GUI.Ứ ụ ồ ạ ệ• Applet: Nhúng trong các trang Web.• Servlet: Các class th c thi phía ự web server.• JSP: Các file nhúng mã Java và HTML.• ng d ng EJB, RMI, JMS: Xây d ng ng d ng b i nhi u thành ph n ghép l i,Ứ ụ ự ứ ụ ở ề ầ ạ giao ti p t xa.ế ừIV. Công c và môi tr ng l p trình Javaụ ườ ậHi n nay có r t nhi u môi tr ng phát tri n Java (Integrated Development Environmentệ ấ ề ườ ể - IDE). M i môi tr ng cung c p cho l p trình viên nh ng ti n ích l p trình m c đ khácỗ ườ ấ ậ ữ ệ ậ ở ứ ộ nhau. M t s IDE thông d ng là:ộ ố ụ• Netbeans (mi n phí t i http://ễ ạ www.netbeans.org). • Jcreator (th ng m i).ươ ạ• Jbuilder (th ng m i).ươ ạ• Eclipse (mi n phí ễ http://www.eclipse.org/).9 V. Cài đ t Java ặJava phiên b n Java m i nh t có th download t i đ a ch http://java.sun.com/j2se. Sauả ớ ấ ể ạ ị ỉ đó cài đ t nh ng d ng bình th ng. ặ ư ứ ụ ườTh m c cài đ t m c đ nh c a Java trên ư ụ ặ ặ ị ủ Windows là C:\Program Files\Java\jdk1.6.0_02 (n u phiên b n cài là jdk1.6.0_02). Trong đó có ch a các th m c v i ý nghĩa sau:ế ả ứ ư ụ ớbin Ch a các công c và trình biên d ch Java ứ ụ ịdemo Ch a các ch ng trình Java Demoứ ươdocs Ch a các tài li u mô t th vi n c a Javaứ ệ ả ư ệ ủincludes Ch a các file dùng đ biên d ch các đo n mã ngu n vi t b ng ngôn ng khácứ ể ị ạ ồ ế ằ ữ (native).jre Ch a các file l u thông tin môi tr ng lúc th c thiứ ư ườ ựlib Ch a các file th vi nứ ư ệsrc Ch a mã ngu n javaứ ồTrong th m c \bin có ch a các công c chính c a Java:ư ụ ữ ụ ủTrình biên d ch, 'javac' ịCú pháp:javac [options] sourcecodename.javaTrình thông d ch, 'java' ịCú pháp:java [options] classname Trình d ch ng c, 'jaị ượ vap' javap d ch ng c bytecode và in ra thông tin v các thu c tính (các tr ng), các ph ngị ượ ề ộ ườ ươ th c c a m t l p.ứ ủ ộ ớ Cú pháp:javap [options] classname Công c sinh tài li u, 'javadoc' ụ ệTi n ích này cho phép ta t o ra t p HTML d a trên các l i gi i thích trong mã ch ngệ ạ ệ ự ờ ả ươ trình (ph n n m trong c p d u /* */).ầ ằ ặ ấ Cú pháp:javadoc [options] sourcecodename.javaCh ng trình tìm l i - Debug, 'jdb‘ươ ỗCú pháp:jdb [options] sourcecodename.javahayjdb -host -password [options] sourcecodename.javaCài đ t đ ng d n m c đ nh.ặ ườ ẫ ặ ị1. M Control Panelở2. Ch n Systemọ10 [...]... file ch a mã ngu n Java. Gi s ghi vào th m c c:\JavaSample. ứ ồ ả ử ư ụ 3. G i c a s Command Line c a Windows: T Menu Start, ch n Run và gõ vào l nhọ ử ổ ủ ừ ọ ệ “cmd”. 4. T d u nh c gõ l nh: ừ ấ ắ ệ javac c:\JavaSample\Vidu .java Sau l nh này, n u ch ng trình khơng có l i cú pháp, Java s sinh ra m t file mãệ ế ươ ỗ ẽ ộ bytecode có tên Vidu.class m c đ nh cũng n m trong th m c c:\JavaSample.ặ ị ằ... V. Cài đ t Java ặ Java phiên b n Java m i nh t có th download t i đ a ch http:/ /java. sun.com/j2se. Sauả ớ ấ ể ạ ị ỉ đó cài đ t nh ng d ng bình th ng. ặ ư ứ ụ ườ Th m c cài đ t m c đ nh c a Java trên ư ụ ặ ặ ị ủ Windows là C:\Program Files \Java\ jdk1.6.0_02 (n u phiên b n cài là jdk1.6.0_02). Trong đó có ch a các th m c v i ý nghĩa sau:ế ả ứ ư ụ ớ bin Ch a các công c và trình biên d ch Java ứ ụ ị demo... ch, 'javac' ị Cú pháp:javac [options] sourcecodename .java Trình thơng d ch, &apos ;java& apos; ị Cú pháp :java [options] classname Trình d ch ng c, 'jaị ượ vap' javap d ch ng c bytecode và in ra thơng tin v các thu c tính (các tr ng), các ph ngị ượ ề ộ ườ ươ th c c a m t l p.ứ ủ ộ ớ Cú pháp:javap [options] classname Công c sinh tài li u, 'javadoc' ụ ệ Ti n ích này cho... ng trình Java Demoứ ươ docs Ch a các tài li u mô t th vi n c a Java ệ ả ư ệ ủ includes Ch a các file dùng đ biên d ch các đo n mã ngu n vi t b ng ngôn ng khácứ ể ị ạ ồ ế ằ ữ (native). jre Ch a các file l u thông tin môi tr ng lúc th c thiứ ư ườ ự lib Ch a các file th vi nứ ư ệ src Ch a mã ngu n java ồ Trong th m c \bin có ch a các cơng c chính c a Java: ư ụ ữ ụ ủ Trình biên d ch, 'javac'... c hi n ch ng trình Java trong ví d trên, ta th c hi n theo các b c sau:ể ự ệ ươ ụ ự ệ ướ 1. Dùng m t trình so n th o b t kỳ ho c m t IDE Java thì càng t t đ so n ch ngộ ạ ả ấ ặ ộ ố ể ạ ươ trình. 2. Ghi file v a so n v i tên Vidu .java. ừ ạ ớ đây, tên file ph i b t bu c là Vidu gi ng nhỞ ả ắ ộ ố ư tên l p trong ch ng trình.ớ ươ Ph n m r ng cũng b t bu c là .java đ trình biên d ch Java bi tầ ở ộ ắ ộ... vi n Java ụ ư ệ 64 X.2 Đ t l p vào packageặ ớ 65 Bài t pậ 65 Đ tài 4. L p và ph ng th c tr u t ngề ớ ươ ứ ừ ượ 67 I. Khái ni m l p tr u t ngệ ớ ừ ượ 67 II. Cài đ t l p và ph ng th c tr u t ng trong Java ớ ươ ứ ừ ượ 67 Bài t pậ 68 Đ tài 5. L u tr và x lý đ i t ngề ư ữ ử ố ượ 69 I. L p Vector và giao di n Enumerationớ ệ 69 I.1 L p Vectorớ 69 I.2 Giao di n Enumerationệ 70 II. M ng trong Java. .. HTML d a trên các l i gi i thích trong mã ch ngệ ạ ệ ự ờ ả ươ trình (ph n n m trong c p d u /* */).ầ ằ ặ ấ Cú pháp:javadoc [options] sourcecodename .java Ch ng trình tìm l i - Debug, 'jdb‘ươ ỗ Cú pháp:jdb [options] sourcecodename .java hay jdb -host -password [options] sourcecodename .java Cài đ t đ ng d n m c đ nh.ặ ườ ẫ ặ ị 1. M Control Panelở 2. Ch n Systemọ 10 Đây là mơ hình mơ t vi c chuy n... Java, m i ch ng trình n u c n th c thi đ u b tọ ươ ế ầ ự ề ắ đ u t hàm main. Trình thơng d ch s tìm hàm main làm đi m kh i phát cho m t ng d ngầ ừ ị ẽ ể ở ộ ứ ụ Java. Dòng 5 và 7 cũng là đánh d u m và đóng cho m t kh i l nh thu c hàm main.ấ ở ộ ố ệ ộ Dòng 6: Câu l nh in ra màn hình dịng ch “Hello, World!”. Các l nh trong Java luônệ ữ ệ đ c k t thúc b i d u ;.ượ ế ở ấ I.2. Th c hi n ch ng trình Java. ự... ng ừ ượ hóa 47 Đ tài 2. Nh p môn Java ậ I. Vi t và th c hi n m t ch ng trình Java ế ự ệ ộ ươ I.1 Tìm hi u mã ngu n m t ch ng trình đ n gi nể ồ ộ ươ ơ ả 1. /* Day la chuong trinh vi du*/ 2. public class Vidu 3. { 4. public static void main(String[] args) 5. { 6. System.out.println("Hello, World!"); 7. } 8. } Dòng 1: Dịng chú thích trong m t ch ng trình Java. Trong khi l p trình, ta c n... th y c a Java đ c c p phát m tố ể ữ ệ ủ ủ ượ ấ ộ l ng b nh c đ nh. Ch ng h n ki u d li u int c a Java luôn là 4 byte (32 bit) trong khiượ ộ ớ ố ị ẳ ạ ể ữ ệ ủ ki u int c a C++ có th hi u là 2 byte ho c 4 byte. Thi t k này giúp cho trình biên d ch lnể ủ ể ể ặ ế ế ị có s bytecode nh nhau trên m i h máy và sau đó phát sinh mã máy theo khn d ng cố ư ọ ệ ạ ố đ nh.ị Trong các phiên b n đ u c a Java, v . ngu n java ồTrong th m c in có ch a các công c chính c a Java: ư ụ ữ ụ ủTrình biên d ch, 'javac' ịCú pháp:javac [options] sourcecodename.javaTrình. ễ http://www.eclipse.org/).9 V. Cài đ t Java Java phiên b n Java m i nh t có th download t i đ a ch http:/ /java. sun.com/j2se. Sauả ớ ấ ể ạ ị ỉ đó cài

Ngày đăng: 16/08/2012, 14:00

Từ khóa liên quan

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

Tài liệu liên quan