UỶ BAN NHÂN DÂN THÀNH PHà Hâ CHÍ MINH TR¯âNG CAO ĐÀNG BÁCH KHOA NAM SÀI GÒN ĀY BAN NHÂN DÂN THÀNH PHà Hâ CHÍ MINH TR¯âNG CAO ĐÀNG BÁCH KHOA NAM SÀI GÒN GIÁO TRÌNH MÔN HàC/MÔ ĐUN: L¾P TRÌNH CN BÀN NGÀNH/NGHÀ: GIÁO TIN HàC ĀNG DĀNG TRÌNH MÔN HàC/MÔTRÌNH ĐÞ: CAO ĐUN: L¾P ĐÀNG TRÌNH CN BÀN NGÀNH/ NGHÀ: TIN HàC ĀNG DĀNG TRÌNH ĐÞ: CAO ĐÀNG Ban hành kèm theo Quyết định số: /QĐ-. ngày ………tháng. năm…… Ban hành kèm theo Quyết định số: 459/QĐ-NSG, ngày 31 tháng 08 năm 2022. của Hiệu trưởng Trường Cao Đẳng Bách Khoa Nam Sài Gòn &&&&, nm &&&&& Tp.Hồ Chí Minh, nm 2022 Giáo trình Lập trình căn bản TUYÊN BÞ BÀN QUYÀN Tài liáu này thußc lo¿i sách giáo trình nên các nguãn thông tin có thể được phép dùng nguyên bÁn hoặc trích dùng cho các mÿc đích về đào t¿o và tham khÁo.
Mọi mÿc đích khác mang tính lách l¿c hoặc sử dÿng vái mÿc đích kinh doanh thiếu lành m¿nh sẽ bị nghiêm cấm. Trang 2/97 Giáo trình Lập trình căn bản LâI GIàI THIÞU Môn học này thußc khái kiến thức chuyên môn nghề trong chương trình đào t¿o ngành tin học ứng dÿng há cao đẳng. Lập trình căn bÁn là môn học bắt bußc trong chương trình ngành Tin học ứng dÿng trình đß cao đẳng. Nßi dung giáo trình gãm 5 bài: - Bài 1: Giái thiáu ngôn ngữ lập trình - Bài 2: Kiểu, toán tử, lánh IF, SWITCH - Bài 3: MÁng và lánh lặp - Bài 4: Láp và đái tượng - Bài 5: Kế thừa Trong quá trình biên so¿n chúng tôi đã kết hợp kinh nghiám giÁng d¿y trong nhiều năm cāa nhóm tác giÁ vái mong muán có thể giúp cho học sinh – sinh viên dß dàng nắm bắt được nßi dung cāa môn học.
Mặc dù, rất cá gắng trong quá trình biên so¿n, nhưng chắc chắn không thể tránh khßi những thiếu sót, vì vậy, nhóm tác giÁ chúng tôi rất mong nhận được ý kiến đóng góp cāa b¿n đọc để giáo trình ngày mßt hoàn thián hơn.HCM , ngày 31 tháng 08 năm 2022 Tham gia biên so¿n 1. Chā biên: ThS Bùi Thị Mai Châu 2. &&&&& Trang 3/97 Giáo trình Lập trình căn bản MỤC LỤC LâI GIàI THIàU .3 Bài 1: Giái thiáu ngôn ngữ lập trình. Giái thiáu ngôn ngữ.
Biến, toán tử, hàm toán học và lánh nhập xuất .18 Bài 2: Cấu trúc IF, SWITCH.24 Bài 3: MÁng và lánh lặp .42 Bài 4: Láp và đái tượng. Phương thức .57 Bài 5: Kế thừa. Láp và phương thức trừu tượng .92 TÀI LIàU THAM KHÀO:.97 Trang 4/97 Giáo trình Lập trình căn bản GIÁO TRÌNH MÔN HàC/MÔ ĐUN Tên môn hác/mô đun: L¾P TRÌNH WEB C¡ BÀN Tên môn học: Lập trình căn bÁn Mã sá môn học: MH09 Thãi gian môn học: 60 giã; (Lý thuyết: 30 giã, Thực hành, thí nghiám, bài tập, thÁo luận: 28 giã, Kiểm tra: 02 giã) Vß trí, tính chất cÿa môn hác: - Vị trí: Môn Lập trình căn bÁn là môn chuyên ngành, trong chương trình đào t¿o há cao đẳng Tin học ứng dÿng. - Tính chất: Môn Lập trình căn bÁn là môn học cung cấp kiến thức nền tÁng về ngôn ngữ lập trình (từ định ngh椃̀a đến kiểu dữ liáu, biến, câu lánh, mÁng, chùi.
cấu trúc điều khiển, phương thức, láp.), có khÁ năng tiếp tÿc phát triển ngôn ngữ lập trình nâng cao. Về kiến thức: - Trình bày được các kiến thức cơ bÁn về ngôn ngữ lập trình; - Phân biát các biến, cấu trúc dữ liáu, toán tử, biên dịch và thực thi chương trình, câu lánh, điều khiển; - Áp dÿng các kiến thức cơ bÁn về lập trình trong viác giÁi quyết các bài toán đơn giÁn. Về kỹ năng: - Nhận d¿ng được các lánh cơ bÁn; - Xây dựng được những chương trình ứng dÿng đơn giÁn. Về năng lực tự chā và trách nhiám: - Rèn luyán lòng yêu nghề, tư thế tác phong công nghiáp, tính kiên trì, sáng t¿o trong công viác.
Trang 5/97 Giáo trình Lập trình căn bản Nßi dung cÿa môn hác/mô đun: Bài 1: Giái thißu ngôn ngữ l¿p trình 1. Mÿc tiêu: - Trình bày được khái niám về biến, toán tử và các hàm toán học; - Áp dÿng để viết mã và thi hành chương trình đơn giÁn. Giái thißu ngôn ngữ Java là ngôn ngữ lập trình hưáng đái tượng (tựa C++) do Sun Microsystem đưa ra vào giữa thập niên 90. Chương trình viết bằng ngôn ngữ lập trình java có thể ch¿y trên bất kỳ há tháng nào có cài máy Áo java (Java Virtual Machine).
Ngôn ngữ lập trình Java do James Gosling và các công sự cāa Công ty Sun Microsystem phát triển. Đầu thập niên 90, Sun Microsystem tập hợp các nhà nghiên cứu thành lập nên nhóm đặt tên là Green Team. Nhóm Green Team có trách nhiám xây dựng công nghá mái cho ngành đián tử tiêu dùng. Để giÁi quyết vấn đề này nhóm nghiên cứu phát triển đã xây dựng mßt ngôn ngữ lập trình mái đặt tên là Oak tương tự như C++ nhưng lo¿i bß mßt sá tính năng nguy hiểm cāa C++ và có khÁ năng ch¿y trên nhiều nền phần cứng khác nhau.
Cùng lúc đó world wide web bắt đầu phát triển và Sun đã thấy được tiềm năng cāa ngôn ngữ Oak nên đã đầu tư cÁi tiến và phát triển. Sau đó không lâu ngôn ngữ mái vái tên gọi là Java ra đãi và được giái thiáu năm 1995. Java là tên gọi cāa mßt hòn đÁo å Indonexia, Đây là nơi nhóm nghiên cứu phát triển đã chọn để đặt tên cho ngôn ngữ lập trình Java trong mßt chuyến đi tham quan và làm viác trên hòn đÁo này. Hòn đÁo Java này là nơi rất nổi tiếng vái nhiều khu vưãn trãng cafe, đó chính là lý do chúng ta thưãng thấy biểu tượng ly café trong nhiều sÁn phẩm phần mềm, công cÿ lập trình Java cāa Sun cũng như mßt sá hãng phần mềm khác đưa ra.
Trang 6/97 Giáo trình Lập trình căn bản Mßt sá đặc điểm nổi bậc cāa ngôn ngữ lập trình Java Máy Áo Java (JVM - Java Virtual Machine) Tất cÁ các chương trình muán thực thi được thì phÁi được biên dịch ra mã máy. Mã máy cāa từng kiến trúc CPU cāa m̀i máy tính là khác nhau (tập lánh mã máy cāa CPU Intel, CPU Solarix, CPU Macintosh & là khác nhau), vì vậy trưác đây mßt chương trình sau khi được biên dịch xong chỉ có thể ch¿y được trên mßt kiến trúc CPU cÿ thể nào đó. Đái vái CPU Intel chúng ta có thể ch¿y các há điều hành như Microsoft Windows, Unix, Linux, OS/2, & Chương trình thực thi được trên Windows được biên dịch dưái d¿ng file có đuôi .EXE còn trên Linux thì được biên dịch dưái d¿ng file có đuôi .ELF, vì vậy trưác đây mßt chương trình ch¿y được trên Windows muán ch¿y được trên há điều hành khác như Linux chẳng h¿n thì phÁi chỉnh sửa và biên dịch l¿i. Ngôn ngữ lập trình Java ra đãi, nhã vào máy Áo Java mà khó khăn nêu trên đã được khắc phÿc.
Mßt chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ra mã cāa máy Áo java (mã java bytecode). Sau đó máy Áo Java chịu trách nhiám chuyển mã java bytecode thành mã máy tương ứng. Sun Microsystem chịu trách nhiám phát triển các máy Áo Java ch¿y trên các há điều hành trên các kiến trúc CPU khác nhau. Thông dịch: Java là mßt ngôn ngữ lập trình vừa biên dịch vừa thông dịch.
Chương trình nguãn viết bằng ngôn ngữ lập trình Java có đuôi *.java đầu tiên được biên dịch thành tập tin có đuôi *.class và sau đó sẽ được trình thông dịch thông dịch thành mã máy. Đßc lập nền: Mßt chương trình viết bằng ngôn ngữ Java có thể ch¿y trên nhiều máy tính có há điều hành khác nhau (Windows, Unix, Linux, &) mißn sao å đó có cài đặt máy Áo java (Java Virtual Machine). Viết mßt lần ch¿y mọi nơi (write once run anywhere). Hưáng đái tượng: Hưáng đái tượng trong Java tương tự như C++ nhưng Java là mßt ngôn ngữ lập trình hưáng đái tượng hoàn toàn.
Tất cÁ mọi thứ đề cập đến trong Java đều liên quan đến các đái tượng được định ngh椃̀a trưác, thậm chí hàm chính cāa mßt chương Trang 7/97 Giáo trình Lập trình căn bản trình viết bằng Java (đó là hàm main) cũng phÁi đặt bên trong mßt láp. Hưáng đái tượng trong Java không có tính đa kế thừa (multi inheritance) như trong C++ mà thay vào đó Java đưa ra khái niám interface để h̀ trợ tính đa kế thừa. Vấn đề này sẽ được bàn chi tiết trong chương 3. Đa nhiám - đa luãng (MultiTasking - Multithreading): Java h̀ trợ lập trình đa nhiám, đa luãng cho phép nhiều tiến trình, tiểu trình có thể ch¿y song song cùng mßt thãi điểm và tương tác vái nhau.
KhÁ chuyển (portable): Chương trình ứng dÿng viết bằng ngôn ngữ Java chỉ cần ch¿y được trên máy Áo Java là có thể ch¿y được trên bất kỳ máy tính, há điều hành nào có máy Áo Java. <Viết mßt lần, ch¿y mọi nơi= (Write Once, Run Anywhere). H̀ trợ m¿nh cho viác phát triển ứng dÿng: Công nghá Java phát triển m¿nh mẽ nhã vào <đ¿i gia Sun Microsystem= cung cấp nhiều công cÿ, thư vián lập trình phong phú h̀ trợ cho viác phát triển nhiều lo¿i hình ứng dÿng khác nhau cÿ thể như: J2SE (Java 2 Standard Edition) h̀ trợ phát triển những ứng dÿng đơn, ứng dÿng client-server; J2EE (Java 2 Enterprise Edition) h̀ trợ phát triển các ứng dÿng thương m¿i, J2ME (Java 2 Micro Edition) h̀ trợ phát triển các ứng dÿng trên các thiết bị di đßng, không dây, & 1. Bi¿n, toán tử, hàm toán hác và lßnh nh¿p xuất 1.
Bi¿n, quy tắc đặt tên. - Biến là vùng nhá dùng để lưu trữ các giá trị cāa chương trình. M̀i biến gắn liền vái mßt kiểu dữ liáu và mßt định danh duy nhất gọi là tên biến. - Tên biến thông thưãng là mßt chùi các ký tự (Unicode), ký sá.
o Tên biến phÁi bắt đầu bằng mßt chữ cái, mßt dấu g¿ch dưái hay dấu dollar. Tên biến không được trùng vái các từ khóa (xem phÿ lÿc các từ khóa trong java). Tên biến không có khoÁng trắng å giữa tên. Trang 8/97 Giáo trình Lập trình căn bản - Trong java, biến có thể được khai báo å bất kỳ nơi đâu trong chương trình.
Cách khai báo <kiểu_dữ_liáu> <tên_biến>; <kiểu_dữ_liáu> <tên_biến> = <giá_trị>; Gán giá trị cho biến <tên_biến> = <giá_trị>; Biến công cßng (toàn cÿc): là biến có thể truy xuất å khắp nơi trong chương trình, thưãng được khai báo dùng từ khóa public, hoặc đặt chúng trong mßt class. Biến cÿc bß: là biến chỉ có thể truy xuất trong khái lánh nó khai báo. Lưu ý: Trong ngôn ngữ lập trình java có phân biát chữ in hoa và in thưãng. Vì vậy chúng ta cần lưu ý khi đặt tên cho các đái tương dữ liáu cũng như các xử lý trong chương trình.
Ví dÿ: import java.