1. Trang chủ
  2. » Tất cả

Java_Programming_Language

249 4 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 249
Dung lượng 2,24 MB

Nội dung

Tr-ờng đại học s- phạm kỹ thuật h-ng yên khoa c«ng nghƯ th«ng tin -ooo Đề c-ơng giảng Java Nhúm biờn so n: Hoàng Tr ng Th Nguy n Duy Tân Trang CL C Ch ng 1: CÁC KHÁI NI M C B N BÀI LÀM QUEN V I JAVA I L ch s java II Java em II M t s c tr ng c a java III Các ki u ng d ng Java IV Máy o Java (JVM-Java Virtual Machine) BÀI N N T NG C A JAVA I T p ký t dùng java II T khoá c a Java III nh danh (tên) 10 IV C u trúc m t ch ng trình java 10 V Ch ng trình JAVA u tiên 12 VI Chú thích ch ng trình 14 VII Ki u d li u 15 VII M t s phép toán ki u d li u nguyên thu 17 IX Toán t chuy n ki u 23 X Các hàm toán h c 24 XI Các phép tốn ki u kí t 26 BÀI I U KHI N LU NG CH NG TRÌNH 27 I C u trúc r nhánh 27 II C u trúc l p while do-while 30 III C u trúc for 32 IV L nh break continue 34 Ch ng 2: L P TRÌNH H NG IT NG 37 BÀI NH NGH A L P 38 I Khai báo l p 38 II Chi ti t v khai báo m t ph ng th c 40 III T khoá this 43 IV T khoá super 43 V S d ng l p 44 VI i u n vi c truy c p n thành viên c a m t l p 44 BÀI KH I U VÀ D N D P 47 I Ph ng th c t o d ng (constructor) 47 II Kh i kh i u vô danh kh i kh i u t nh 49 III D n d p: k t thúc thu rác 51 BÀI CÁC THÀNH PH N T NH 52 I Thu c tính t nh 52 II Ph ng th c t nh 52 BÀI N P CH NG PH NG TH C 53 I Khái ni m v ph ng th c b i t i 53 Trang II Yêu c u c a ph ng th c b i t i 53 BÀI K TH A (INHERITANCE) 54 I L p c s l p d n xu t 54 II Cách xây d ng l p d n xu t 54 III Th a k thu c tính 54 IV Th a k ph ng th c 54 V Kh i u l p c s 54 VI Ghi è ph ng th c ( Override ) 56 VI Thành ph n protected 56 VII T khoá final 56 BÀI L P C S TR U T NG 61 BÀI A HÌNH THÁI 62 BÀI GIAO DI N, L P TRONG, GÓI 63 I Giao di n 63 II L p 65 Bài M NG, XÂU KÝ T , T P H P 67 I M ng 67 II Xâu ký t 70 III L p StringTokenizer 75 IV M t s l p c b n c a Java 77 V Các l p t p h p 83 Ch ng 3: X LÝ NGO I L 92 I M c ích c a vi c x lý ngo i l 92 II Mơ hình s lý ngo i l c a java 92 III c t ngo i l 93 III Ném ngo i l 93 IV B t ngo i l 93 V Kh i ‘finally’ 95 VI M t s l p ngo i l chu n c a Java 96 Ch ng 4: L P TRÌNH A TUY N 97 I Các ki n th c liên quan 97 II L p trình a n Java 98 Ch ng 5: NH P XU T (Input/Output) 104 I L p lu ng 105 II L p File 113 Ch ng 6: L P TRÌNH HO AWT 120 I Gi i thi u v h th ng ho c a Java 120 II Trình qu n lý hi n th Java 124 III X lý s ki n Java 125 Ch ng L P TRÌNH C S D LI U 143 I T ng quan 143 II Các k u trình i u n JDBC 143 Trang III Các l p JDBC API dùng truy c p CSDL 146 IV K t n i CSDL v i JDBC 147 V T ng tác v i CSDL 152 VI Qu n lý giao d ch 160 Ch ng 8: L P TRÌNH SOCKET 164 I Các ki n th c liên quan 164 II Kh o sát m t s l p gói java.net 164 L p URL URI 171 L p Socket 176 L p ServerSocket 182 L p DatagramSocket 185 L p DatagramPacket 185 III TCP Socket 185 Ch ng 9: JAVA MAIL 205 I Các khái ni m MAIL 205 II G i mail v i th vi n có s n c a java 206 III Gi i thi u java mail API 207 III G i mail 212 IV Nh n mail 215 V Xoá mail 221 Ch ng 10: L P TRÌNH PHÂN TÁN V I 222 JAVA RMI ( REMOTE METHOD INVOKE) 222 I RMI l p trình phân tán i t ng 222 II G i ph ng th c t xa v n phát sinh 223 III Vai trò c a l p trung gian 223 IV Cài t i t ng phân tán 224 Ch ng 11: JAVA JSP (JAVA SERVLET) 233 Ch ng 12: EJB (ENTERPRISE JAVA BEANS) 234 I T ng quan v JavaBean 234 II Xây d ng thành ph n JavaBean 234 III Tìm hi u Instrospector 247 IV óng gói JavaBean 249 Trang Ch ng 1: CÁC KHÁI NI M C B N BÀI LÀM QUEN V I JAVA I L ch s java Java m t ngơn ng l p trình c Sun Microsystems gi i thi u vào tháng n m 1995 T ó, ã tr thành m t cơng c l p trình c a l p trình viên chuyên nghi p Java c xây d ng n n t ng c a C C++ Do v y s d ng cú pháp c a C c tr ng h ng i t ng c a C++ Ban u Java c thi t k làm ngôn ng vi t ch ng trình cho s n ph m i n t dân d ng nh u video, tivi, n tho i, máy nh n tin Tuy nhiên v i s mãnh m c a Java ã n n i ti ng n m c v t s t ng t ng c a nhà thi t k Java kh i thu tên Oak- s i m c phía sau v n phịng c a nhà thi t k ông Jame Gosling, sau ông th y r ng ã có ngơn ng l p trình tên Oak r i, v y nhóm thi t k quy t nh i tên, “Java” tên c ch n, Java tên c a m t quán cafe mà nhóm thi t k java hay n ó u ng II Java em Java ngôn ng l p trình h ng i t ng, v y không th dùng Java vi t m t ch ng trình h ng ch c n ng Java có th gi i quy t h u h t công vi c mà ngơn ng khác có th làm c Java ngôn ng v a biên d ch v a thông d ch u tiên mã ngu n c biên d ch b ng công c JAVAC chuy n thành d ng ByteCode Sau ó c th c thi t ng lo i máy c th nh ch ng trình thơng d ch JAVA M c tiêu c a nhà thi t k Java cho phép ng i l p trình vi t ch ng trình m t l n nh ng có th ch y b t c ph n c ng c th , th nên kh u hi u c a nhà thi t k Java “Write One, Run Any Where” Ngày nay, Java c s d ng r ng rãi vi t ch ng trình ch y Internet Nó ngơn ng l p trình h ng i t ng c l p thi t b , không ph thu c vào h u hành Java không ch dùng vi t ng d ng ch y n l hay m ng mà xây d ng trình i u n thi t b cho n tho i di ng, PDA, … II M t s c tr ng c a java n gi n Nh ng ng i thi t k mong mu n phát tri n m t ngôn ng d h c quen thu c v i a s ng i l p trình Java t a nh C++, nh ng ã l c b i c tr ng ph c t p, không c n thi t c a C C++ nh : thao tác tr , thao tác nh ngh a ch ng toán t (operator overloading),… Java không s d ng l nh “goto” c ng nh file header (.h) C u trúc “struct” “union” c ng c lo i b kh i Java Nên có ng i b o Java “C++ “, ng ý b o java C++ nh ng ã b i nh ng th ph c t p, không c n thi t H ng i t ng Có th nói java ngơn ng l p trình hồn tồn h ng i t ng, t t c c java u s v t, âu âu c ng s v t c l p v i h n n M c tiêu c a nhà thi t k java c l p v i h n n hay g i c l p ph n c ng h u hành ây kh n ng m t ch ng trình c vi t t i m t máy nh ng có th ch y c b t k âu Trang Tính c l p v i ph n c ng c hi u theo ngh a m t ch ng trình Java n u ch y úng ph n c ng c a m t h máy ó c ng ch y úng t t c h máy khác M t ch ng trình ch ch y úng m t s h máy c th c g i ph thu c vào ph n c ng Tính c l p v i h u hành c hi u theo ngh a m t ch ng trình Java có th ch y c t t c h u hành M t ch ng trình ch ch y c m t s h i u hành c g i ph thu c vào h u hành Các ch ng trình vi t b ng java có th ch y h u h t h n n mà không c n ph i thay i gì, i u ã c nh ng ng i l p trình t cho m t kh u hi u vi t m t l n, ch y m i n , i u không th có v i ngơn ng l p trình khác i v i ch ng trình vi t b ng C, C++ ho c m t ngôn ng khác, trình biên d ch s chuy n t p l nh thành mã máy (machine code), hay l nh c a b vi x lý Nh ng l nh ph thu c vào CPU hi n t i máy b n Nên mu n ch y lo i CPU khác, ph i biên d ch l i ch ng trình M nh m Java ngôn ng yêu c u ch t ch v ki u d li u, vi c ép ki u t ng b a bãi c a C, C++ c h n ch Java, u làm ch ng trình rõ ràng, sáng s a, l i n.Java ki m tra lúc biên d ch c th i gian thông d ch v y Java lo i b m t m t s lo i l i l p trình nh t nh.Java không s d ng tr phép toán tr Java ki m tra t t c truy nh p n m ng, chu i th c thi m b o r ng truy nh p ó khơng ngồi gi i h n kích th c Trong mơi tr ng l p trình truy n th ng, l p trình viên ph i t c p phát b nh Tr c ch ng trình k t thúc ph i t gi i phóng b nh ã c p V n n y sinh l p trình viên qn gi i phóng b nh ã xin c p tr c ó Trong ch ng trình Java, l p trình viên khơng ph i b n tâm n vi c c p phát b nh Qúa trình c p phát, gi i phóng c th c hi n t ng, nh d ch v thu nh t nh ng i t ng khơng cịn s d ng n a (garbage collection) ch b y l i c a Java giúp n gi n hóa qúa trình x lý l i h i ph c sau l i H tr l p trình a n ây tính n ng cho phép vi t m t ch ng trình có nhi u n mã l nh c ch y song song v i V i java ta có th vi t ch ng trình có kh n ng ch y song song m t cách d dàng, h n th n a vi c ng b tài nguyên dùng chung Java c ng r t ng gi n u khơng th có i v i m t s ngơn ng l p trình khác nh C/C++, pascal … Phân tán Java h tr y mơ hình tính tốn phân tán: mơ hình client/server, g i th t c t xa… H tr internet M c tiêu quan tr ng c a nhà thi t k java t o u ki n cho nhà phát tri n ng d ng có th vi t ch ng trình ng d ng internet web m t cách d dàng, v i java ta có th vi t ch ng trình s d ng giao th c TCP, UDP m t cách d dàng, v l p trình web phía máy khách java có cơng ngh java applet, v l p trình web phía máy khách java có cơng ngh servlet/JSP, v l p trình phân tán java có cơng ngh RMI, CORBA, EJB, Web Service Trang Thông d ch Các ch ng trình java c n c thơng d ch tr c ch y, m t ch ng trình java c biên d ch thành mã byte code mã c l p v i h n n, ch ng trình thơng d ch java s ánh x mã byte code lên m i n n c th , u n java ch m ch p i ph n III Các ki u ng d ng Java V i Java ta có th xây d ng ki u ng d ng sau: ng d ng Applets Applet ch ng trình Java c t o s d ng Internet thông qua trình t h tr Java nh IE hay Netscape Applet c nhúng bên trang Web Khi trang Web hi n th trình t, Applet s c t i v th c thi t i trình t ng d ng dòng l nh (console) Các ch ng trình ch y t d u nh c l nh không s d ng giao di n h a Các thông tin nh p xu t c th hi n t i d u nh c l nh ng d ng h a ây ch ng trình Java ch y c l p cho phép ng i dùng t ng tác qua giao di n h a JSP/Servlet Java thích h p phát tri n ng d ng nhi u l p Applet ch ng trình h a ch y trình t t i máy tr m ng d ng Web, máy tr m g i yêu c u t i máy ch Máy ch x lý g i k t qu tr l i máy tr m Các Java API ch y máy ch ch u trách nhi m x lý t i máy ch tr l i yêu c u c a máy tr m Các Java API ch y máy ch m r ng kh n ng c a ng d ng Java API chu n Các ng d ng máy ch c g i JSP/Servlet ho c Applet t i máy ch X lý Form c a HTML cách s d ng n gi n nh t c a JSP/Servlet Chúng cịn có th c dùng x lý d li u, th c thi giao d ch th ng c th c thi thông qua máy ch Web ng d ng c s d li u Các ng d ng s d ng JDBC API k t n i t i c s d li u Chúng có th Applet hay ng d ng, nh ng Applet b gi i h n b i tính b o m t ng d ng m ng Java m t ngơn ng r t thích h p cho vi c xây d ng ng d ng m ng V i th vi n Socket b n có th l p trình v i hai giao th c: UDP TCP ng d ng nhi u t ng V i Java b n có th xây d ng phân tán nhi u t ng v i nhi u h tr khác nh : RMI, CORBA, EJB, Web Service ng d ng cho thi t b di ng Hi n ph n l n thi t b di ng nh : i n tho i di ng, máy tr giúp cá nhân… u h tr Java Th nên b n có th xây d ng ng d ng ch y thi t b di ng ây m t ki u ng d ng h p dãn, b i thi t b di ng ngày ph bi n nhu c u có ng d ng ch y ó, c bi t ng d ng mang tính ch t gi i trí nh game IV Máy o Java (JVM-Java Virtual Machine) Máy o m t ph n m m mơ ph ng m t máy tính th t (máy tính o) Nó có t p h p l nh logic xác nh ho t ng c a máy tính có m t h u hành o Ng i ta có th xem nh m t máy tính th t (máy tính có ph n c ng o, h u hành Trang o) Nó thi t l p l p tr u t ng cho: Ph n c ng bên d i, h u hành, mã ã biên d ch Trình biên d ch chuy n mã ngu n thành t p l nh c a máy o mà không ph thu c vào ph n c ng h u hành c th Trình thơng d ch m i máy s chuy n t p l nh thành ch ng trình th c thi Máy o t o m t môi tr ng bên th c thi l nh b ng cách: Ø N p file class Ø Qu n lý b nh Ø D n “rác” 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 thông tin sau: Ø Các “Frame” ch a tr ng thái c a 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 Khi JVM th c thi mã, m t ghi c c b có tên “Program Counter” c s d ng Thanh ghi tr t i l nh ang th c hi n Khi c n thi t, có th thay i n i dung ghi i h ng th c thi c a ch ng trình Trong tr ng h p thơng th ng t ng l nh m t n i ti p s c th c thi M t khái ni m thơng d ng khác Java trình biên d ch “Just In Time-JIT” Các trình t thơng d ng nh Netscape hay IE u có JIT bên t ng t c th c thi ch ng trình Java M c ích c a JIT chuy n t p l nh bytecode thành mã máy c th cho t ng lo i CPU Các l nh s c l u tr s d ng m i g i n Trang BÀI N N T NG C A JAVA I T p ký t dùng java M i ngơn ng nói chung, ngơn ng l p trình nói riêng u ph i xây d ng m t t p h p ch (hay g i b ng ch cái), kí t c nhóm l i theo m t cách ó t o thành t , t l i c nhóm l i thành câu (trong ngơn ng l p trình g i câu l nh), m t ch ng trình máy tính tính m t t p câu l nh c b trí theo m t tr t t mà ng i vi t chúng s p t Ngôn ng java c c xây d ng b ng ch unicode, v y ta có th dùng kí t unicode t tên cho nh danh II T khố c a Java M i ngơn ng l p trình có m t t p t khố, ng i l p trình ph i s d ng t khoá theo úng ngh a mà ng i thi t k ngôn ng ã ra, ta không th nh ngh a l i ngh a c a t khố, nh s d ng t tên bi n, hàm Sau ây m t s t khố th ng g p: T khóa Mơ t S d ng khai báo l p, ph ng th c tr u t ng abstract Ki u d li u logic boolean c s d ng k t thúc vòng l p ho c c u trúc switch break ki u d li u s nguyên byte c s d ng l n switch case Ch a c s d ng ( dành cho t ng lai) cast c s d ng x lý ngo i l catch ki u d li u ký t char Dùng khai báo l p class Ch a c dùng const c dùng vòng l p b t u m t vòng l p m i continue c s d ng l nh switch default c dùng vòng l p u ki n sau ki u d li u s th c double kh n ng l a ch n th hai câu l nh if else ch r ng m t l p c k th a t m t l p khác extends Gía tr logic false Dùng khai báo h ng s , ph ng th c không th ghi è, ho c l p không final th k th a finally ph n cu i c a kh i x lý ngo i l ki u s th c float Câu l nh l p for Ch a c dùng goto Câu l nh l a ch n if ch r ng m t l p tri n khai t m t giao di n implements Khai báo s d ng th vi n import ki m tra m t i t ng có ph i m t th hi n c a l p hay không instanceof s d ng khai báo giao di n interface ki u s nguyên long Khai báo ph ng th c c vi t b ng ngông ng biên d ch C++ native t o m t i t ng m i new Trang null package private protected public return short static super switch synchronized this throw throws true try void while m t i t ng không t n t i Dùng khai báo m t gói c t truy xu t c t truy xu t c t truy xu t Quay t ph ng th c v ch g i ki u s nguyên Dùng khai báo bi n, thu c tính t nh Truy xu t n l p cha l nh l a ch n m t ph ng th c c quy n truy xu t m t i t ng Ám ch l p ó Ném ngo i l Khai báo ph ng th c ném ngo i l Giá tr logic s d ng b t ngo i l Dùng khai báo m t ph ng th c không tr v giá tr Dùng c u trúc l p III nh danh (tên) Tên dùng xác nh nh t m t i l ng ch ng trình Trong java tên c t theo quy t c sau: - Khơng trùng v i t khố - Khơng b t u b ng m t s , tên ph i b t u b ng kí t ho c b t u b ng kí $,_ - Khơng ch a d u cách, kí t tốn h c nh +, -, *,/, % - Không trùng v i m t nh danh khác m t ph m vi Chú ý: - Tên nên t cho có th mô t c i t ng th c t - Gi ng nh C/C++, java có phân bi t ch hoa ch th ng - Trong java ta có th t tên v i dài tu ý - Ta có th s d ng kí t ti ng vi t t tên Quy c v t tên java Ta nên t tên bi n, h ng, l p, ph ng th c cho ngh a c a chúng rõ ràng, d hi u, khoa h c mang tính c l qu c t Do java có phân bi t ch hoa, ch th ng nên ta ph i c n th n ý Sau ây quy c t tên java (chú ý ây ch quy c v y không b t bu c ph i tuân theo quy c này): i v i bi n ph ng th c tên bao gi c ng b t u b ng ký t th ng, n u tên có nhi u t ghép l i thì: ghép t t c t thành m t, ghi t u tiên ch th ng, vi t hoa kí t u tiên c a m i t theo sau tên, ví d area, radius, readInteger… i v i tên l p, giao di n ta vi t hoa kí t u tiên c a m i t tên, ví d l p WhileTest, Circle - Tên h ng bao gi c ng vi t hoa, n u tên g m nhi u t chúng c n i v i hau b i kí t gh ch d i ‘_’, ví d PI, MAX_VALUE IV C u trúc m t ch ng trình java - M i ng d ng Java bao g m m t ho c nhi u n v biên d ch (m i m t t p tin có ph n m r ng Java) - M i n v biên d ch bao g m m t ho c nhi u l p Trang 10 n v biên d ch

Ngày đăng: 03/10/2016, 00:13

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN