intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Phần 1: Cơ bản về lập trình Java - GV. Ngô Công Thắng

Chia sẻ: Quách Quang Ngọc | Ngày: | Loại File: PDF | Số trang:0

329
lượt xem
116
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'phần 1: cơ bản về lập trình java - gv. ngô công thắng', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Phần 1: Cơ bản về lập trình Java - GV. Ngô Công Thắng

  1. Chương 1: Giới thiệu về Java 1. Lịch sử hình thành và phát triển PHẦN I 2. Các đặc điểm của Java CƠ BẢN VỀ LẬP TRÌNH JAVA 3. Các phiên bản của Java 4. Các bước viết và chạy thử một chương GV. Ngô Công Thắng trình Java Bộ môn Công nghệ phần mềm 5. Các thành phần của chương trình Java Khoa Công nghệ thông tin 6. Cấu trúc chung của một chương trình Java Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 2 1. Lịch sử hình thành và phát triển 2. Các đặc điểm của Java l Java là một ngôn ngữ lập trình hướng đối được đang l Java is simple đơn giản được ưa chuộng. l Java is object-oriented hướng đối tượng l Java là một ngôn ngữ mạnh ngang tầm với C++. So với l Java is distributed phân tán C++, Java “mềm dẻo và tao nhã” hơn. l Java is interpreted thông dịch l Java được công bố vào năm 1990, tác giả là James l Java is robust mạnh mẽ Gosling và Sun Microsystems. l Java is secure bảo mật l Tên ban đầu là Oak (cây sồi) l Java is architecture-neutral không phụ thuộc HĐH l Java, 20/05/1995, Sun World l Java is portable khả chuyển l HotJava: Trình duyệt Web hỗ trợ Java đầu tiên l Java’s performance hiệu quả cao l JDK Evolutions l Java is multithreaded đa luồng l Java is dynamic linh động l J2SE, J2ME, and J2EE Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 3 Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 4
  2. 3. Các phiên bản của Java JDK Editions l JDK: Java Development Kit l Java Standard Edition (J2SE) J2SE có thể được dùng để phát triển các ứng dụng l Java 1 hoặc các applet độc lập phía client (client-side). l JDK 1.02 (1995) l Java Enterprise Edition (J2EE) l JDK 1.1 (1996) J2EE có thể được dùng để phát triển các ứng dụng phía server (server-side) như các Java servlet và l Java 2 Java ServerPages. l SDK 1.2 (JDK 1.2, 1998) l Java Micro Edition (J2ME). l SDK 1.3 (JDK 1.3, 2000) J2ME có thể được sử dụng để phát triển các ứng dụng cho các thiết bị di động như ĐTDĐ. l SDK 1.4 (JDK 1.4, 2002) l Các chương trình ví dụ trong môn học Lập trình l SDK 5.0 (JDK 1.5, 2004) Java viết trên J2SE. l SDK 6.0 (JDK 1.6, 2007) Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 5 Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 6 4. Các bước viết và chạy thử một Quá trình tạo và chạy một chương trình java chương trình Java Tạo/Sửa Source Code l Soạn thảo chương trình bằng một trình soạn thảo text hoặc trong IDE. Source Code l Biên dịch chương trình Compile Source Code vd: javac Welcome.java l Chạy chương trình Nếu có lỗi Bytecode bytecode Run Bytecode vd: java Welcome Kết quả Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 7 Nếu có lỗi hoặc kết quả Bài sai giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 8
  3. Tạo, biên dịch, chạy chương trình Một chương trình Java đơn giản trên DOS // Chuong trinh dua ra dong chu Welcome to Java! l Soạn thảo chương trình: package ch01; l Soạn thảo chương trình (Notepad, Wordpad…) public class Welcome l Ghi tệp với tên có đuôi .java { Ví dụ: Ghi tệp Welcome.java public static void main(String[] args) vào thư mục C:\javapro { l Biên dịch: System.out.println("Welcome to Java!"); l Trên cửa sổ DOS } l cd\ ¿ } l cd javapro ¿ l Chú ý: Đặt tên tệp phải trùng với tên lớp, khi gõ l javac Welcome.java ¿ lệnh biên dịch từ DOS thì tên tệp phải giống hệt l Chạy: tên lớp (cả hoa và thường). l java Welcome ¿ Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 9 Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 10 Thiết lập biến môi trường Thiết lập biến môi trường l Để biên dịch và chạy các chương trình Java từ bất kỳ thư mục nào trong DOS ta phải thiết lập biến môi trường PATH như sau: l Kích phải chuột vào My Computer -> Properties -> Advanced -> Environment Variables l Chọn biến Path -> Edit -> Gõ thêm đường dẫn tới thư mục Bin của JDK. Ví dụ: C:\Program Files\Java\jdk1.6.0_02\bin Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 11 Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 12
  4. 5. Các thành phần của Thiết lập biến môi trường một chương trình Java l Comments (Chú giải, như C++) l Reserved words (Từ khóa) l Modifiers (Như C++, ví dụ: public, private, static) l Statements (Câu lệnh, như C++) l Blocks (Khối lệnh, như C++) l Classes (Lớp, như C++) l Methods (Phương thức, như hàm thành viên trong C++) l main method (Phương thức chính, như hàm main() trong C++) Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 13 Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 14 6. Cấu trúc chung của main Method một chương trình Java Trình thông dịch Java coi chương trình Java như một lớp. l main method đóng vai trò là chương trình. l l Mọi chương trình Java phải có ít nhất một lớp chứa phương thức main. Tên lớp chứa phương thức main phải trùng với tên tệp l Mọi chương trình Java phải có main chương trình. method, nó là điểm khởi đầu khi thực hiện l Cấu trúc chung của một chương trình Java: import Thư viện lớp (package);//#include của C++ chương trình. public class TenLop //Ten lop nay la ten tep ctrinh l Dạng thức của main method: { public static void main(String[] args) public static void main(String[ ] args) { //Các lệnh của chương trình Java để ở đây { } //Dinh nghia cac phuong thuc khac // Statements; } } Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 15 Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 16
  5. 6. Cấu trúc chung của Ví dụ một chương trình Java l Ví dụ: l Trong ví dụ trên ta sử dụng phương thức Import javax.swing.JOptionPane; showMessageDialog trong lớp public class Welcome { JOptionPane để hiển thị thông báo trong public static void main(String[] args) một hộp hội thoại. { l JOptionPane là một trong nhiều lớp có //Hien thi chu Welcome to Java! Trong hop thoai JOptionPane.showMessageDialog(null,”Welcome to sẵn trong hệ thống Java để có thể tái sử Java!”,”Chuong trinh vi dụng. du”,JOptionPane.INFORMATION_MESSAGE); } } Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 17 Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 18 Phương thức showMessageDialog JOptionPane.showMessageDialog(null, "Welcome to Java!", "Example 1.2 Output", JOptionPane.INFORMATION_MESSAGE); Bài giảng LT JAVA - Phần 1,Chương 1 GV. Ngô Công Thắng 19
  6. Chương 2. Các kiểu dữ liệu cơ bản Chương 2. Các kiểu dữ liệu cơ bản I. Các kiểu dữ liệu cơ bản I. Các kiểu dữ liệu cơ bản II. Khai báo biến và hằng 1. Các kiểu dữ liệu số III. Biểu thức 2. Kiểu ký tự IV. Chuyển đổi kiểu dữ liệu 3. Kiểu logic V. Vào/Ra dữ liệu với Java 4. Kiểu xâu ký tự Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 1 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 2 I.1. Các kiểu dữ liệu số I.1. Các kiểu dữ liệu số l byte 1 byte l Các phép toán số học giống như C++: l short 2 byte +, -, *, /, % l int 4 byte l Hằng số nguyên viết như bình thường l long 8 byte l Hằng số thực có thể viết theo 2 dạng: l float 4 byte l Dạng thập phân: 2.25 l double 8 byte l Dạng mũ: 2.5E3 Giống các kiểu dữ liệu số của C++ Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 3 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 4
  7. I.2. Kiểu ký tự I.2. Kiểu ký tự l Giống như C++, được định nghĩa với từ khóa l Các ký tự điều khiển: char Description Escape Sequence Unicode l Kiểu char có kích thước 2 byte. Một biến char có Backspace ‘\b’ \u0008 thể chứa cả ký tự ASCII và ký tự Unicode. Tab ‘\t’ \u0009 l Kiểu char có thể dùng như kiểu số. Linefeed ‘\n’ \u000a l Hằng ký tự là một ký tự đặt giữa 2 dấu phẩy Carriage return ‘\r’ \u000d trên. Ví dụ: ‘A’ Backslash ‘\\’ \u005C l Hằng xâu ký tự là một dãy ký tự bất kỳ đặt giữa hai dấu nháy kép. Ví dụ: “DHNN1” Single Quote ‘\’’ \u0027 Double Quote ‘\”’ \u0022 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 5 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 6 I.3. Kiểu logic (boolean) I.4. Kiểu xâu ký tự l Khác với C++, Java đưa thêm vào kiểu l Khác với C++, Java đưa vào kiểu dữ liệu xâu ký logic được định nghĩa với tên chuẩn là tự. Kiểu xâu ký tự được định nghĩa với tên boolean, chỉ có 2 giá trị là true và false. chuẩn là String. Thực ra kiểu xâu ký tự là một lớp đối tượng xâu có sẵn trong Java. l Hằng boolean được viết là true và false l Khi khai báo biến xâu ký tự có thể khởi tạo bằng l Các phép toán logic và quan hệ giống một hằng xâu ký tự. C++. String st = “DHNN1”; l Có thể dùng phép toán + và += để ghép nhiều xâu ký tự, ghép xâu ký tự với dữ liệu không phải xâu ký tự (dữ liệu số). Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 7 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 8
  8. Ví dụ về ghép xâu ký tự II. Khai báo biến và hằng String message = "Welcome "+"to " + l Khai báo biến và khởi tạo giá trị ban đầu "Java"; cho biến giống như C++. Ví dụ: String s = "Chuong" + 2; // Chuong2 int a=100; String s1 = "Hello" + 'B'; l Khai báo hằng là đặt tên cho một giá trị cụ // s1 trở thành HelloB thể. Cú pháp khai báo hằng như sau: final TenKieu TenHang = GiaTri; Ví dụ: final double PI=3.14159; Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 9 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 10 III. Biểu thức IV. Chuyển đổi kiểu dữ liệu l Biểu thức trong Java giống trong C++. l Java có khả năng chuyển đổi kiểu tự l Lệnh gán và biểu thức gán cũng giống động, quy tắc chuyển đổi kiểu tự động C++. giống C++. l Thứ tự ưu tiên và thứ tự thực hiện các l Có thể ép kiểu, cú pháp ép kiểu như C++ phép toán trong một biểu thức giống C++. Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 11 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 12
  9. V. Vào/Ra dữ liệu với Java V.1. Lấy dữ liệu vào từ bàn phím 1. Lấy dữ liệu vào từ bàn phím l Để lấy dữ liệu vào từ bàn phím ta dùng 2. Đưa dữ liệu ra màn hình phương thức showInputDialog() của lớp 3. Ví dụ: JOptionPane, phương thức này cho phép ta nhập dữ liệu qua hộp thoại. l Dữ liệu nhận được từ hội thoại là xâu ký tự => dùng biến xâu để chứa dữ liệu nhập vào, sau đó chuyển xâu ký tự thành kiểu dữ liệu muốn nhập. l Cách nhập như sau: Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 13 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 14 V.1. Lấy dữ liệu vào từ bàn phím V.1. Lấy dữ liệu vào từ bàn phím String st = JOptionPane.showInputDialog( l Để chuyển xâu ký tự biểu diễn số thành null, “Prompt Message”, “Dialog Title”, giá trị số nguyên ta dùng phương thức JOptionPane.QUESTION_MESSAGE); parseInt của lớp Integer. int intV = Integer.parseInt(intString); l Để chuyển xâu ký tự biểu diễn số thành giá trị số thực ta dùng phương thức parseDouble của lớp Double. double doubleV = Double.parseDouble(doubleString); Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 15 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 16
  10. V.2. Đưa dữ liệu ra màn hình V.2. Đưa dữ liệu ra màn hình l Để đưa dữ liệu ra màn hình ta dùng JOptionPane.showMessageDialog(null, phương thức showMessageDialog() của "Welcome to Java!", lớp JOptionPane, phương thức này cho "Example 1.2 Output", phép ta đưa dữ liệu qua hộp thoại. JOptionPane.INFORMATION_MESSAGE); l Khi đưa dữ liệu ra hội thoại ta có thể dùng phép + hoặc += để nối xâu ký tự các các giá trị kiểu dữ liệu cơ bản. l Các dùng: Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 17 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 18 V.2. Đưa dữ liệu ra màn hình V.2. Đưa dữ liệu ra màn hình l Để định dạng dữ liệu đưa ra màn hình ta dùng Tác tử định dạng Loại dữ liệu định dạng Ví dụ phương thức format() của lớp String, phương %b logic false thức này định dạng các dữ liệu thành xâu ký tự và trả về xâu ký tự đã định dạng đó. %c Ký tự ‘a’ String st = String.format ( Hằng xâu chứa các tác tử định dạng, Các dữ liệu ); %d Số nguyên 200 l Các tác tử định dạng bắt đầu bằng dấu % theo %f Số thực 2.45 sau là các chữ cái biểu thị loại dữ liệu sẽ định %e Số thực dạng mũ 2.450E+2 dạng. Ví dụ: %b định dạng giá trị logic thành false hoặc true, %d định dạng các số nguyên,… %s Xâu ký tự “Ha Noi” Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 19 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 20
  11. V.2. Đưa dữ liệu ra màn hình V.2. Đưa dữ liệu ra màn hình l Có thể xác định độ rộng và độ chính xác ngay l Các dữ liệu cần định dạng phải phù hợp sau dấu %, giữa độ rộng và độ chính xác có một với các tác tử định dạng. dấu chấm. Độ rộng là số khoảng trống dành cho l Mặc định dữ liệu được căn phải trong độ dữ liệu, mỗi khoảng trống chứa được một ký tự. Độ chính xác là số chữ số sau dấu chấm thập rộng của nó, để căn trái ta thêm dấu trừ phân. ngay sau dấu %. Ví dụ %-10d => Số l Ví dụ: nguyên có độ rộng 10, được căn trái. l %8.2f định dạng cho số thực có độ rộng 8, số chữ số sau dấu chấm thập phân 2. l %10d định dạng cho số nguyên, có độ rộng 10. Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 21 Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 22 V.3. Ví dụ l Viết chương trình tính diện tích và chu vi hình chữ nhật biết hai cạnh a, b. Bài giảng LT JAVA - Phần 1,Chương 2 GV. Ngô Công Thắng 23
  12. Chương 3. Các lệnh điều khiển Chương 3. Các lệnh điều khiển chương trình chương trình I. Lệnh lựa chọn l Tất cả các lệnh điều khiển chương trình I.1. Lệnh if của Java đều giống C++. I.2. Lệnh switch l Lệnh break và continue cũng giống trong II. Lệnh lặp C++, tuy nhiên trong Java có mở rộng: II.1. Lệnh lặp với số lần lặp xác định for l Sau break và continue có thể có nhãn lệnh II.2. Lệnh với số lần lặp không xác định l Nhãn lệnh là một tên theo sau là dấu hai II.2.1. Lệnh lặp kiểm tra điều kiện trước while chấm. Nhãn lệnh được đặt trước câu lệnh. II.2.2. Lệnh lặp kiểm tra điều kiện sau do-while Người ta thường đánh nhãn cho các lệnh lặp. III. Lệnh break và continue Bài giảng LT JAVA - Phần 1,Chương 3 GV. Ngô Công Thắng 1 Bài giảng LT JAVA - Phần 1,Chương 3 GV. Ngô Công Thắng 2 Chương 3. Các lệnh điều khiển Chương 3. Các lệnh điều khiển chương trình chương trình l Ví dụ về lệnh break có nhãn l Ví dụ về lệnh continue có nhãn Bài giảng LT JAVA - Phần 1,Chương 3 GV. Ngô Công Thắng 3 Bài giảng LT JAVA - Phần 1,Chương 3 GV. Ngô Công Thắng 4
  13. Chương 3. Các lệnh điều khiển Chương 3. Các lệnh điều khiển chương trình chương trình l Bài tập 1: Viết chương trình nhập vào 3 số, sắp l Bài tập 4: Viết chương trình tìm ước số xếp 3 số này theo chiều tăng dần. chung lớn nhất của hai số nguyên dương l Bài tập 2: Viết chương trình nhập vào tháng và a, b. năm dương lịch. Cho biết tháng trong năm đó có l Bài tập 5: Viết chương trình tìm số nguyên bao nhiêu ngày. lớn nhất n sao cho n3 < 12000. l Bài tập 3: Viết chương trình tính gần đúng số p theo công thức: p 1 1 1 1 = 1 - + - + L + (-1) n 4 3 5 7 2n + 1 Bài giảng LT JAVA - Phần 1,Chương 3 GV. Ngô Công Thắng 5 Bài giảng LT JAVA - Phần 1,Chương 3 GV. Ngô Công Thắng 6
  14. Chương 4. Phương thức (Method) 4.1. Giới thiệu về phương thức 4.1. Giới thiệu về phương thức l Tất cả các chương trình con trong Java đều thuộc một lớp nào đó, chúng được gọi là các 4.2. Tạo phương thức phương thức (hàm thành viên trong C++). 4.3. Sử dụng phương thức l Khác với C++, các phương thức trong Java phải 4.4. Truyền đối số theo giá trị định nghĩa ngay trong khai báo lớp. 4.5. Chồng phương thức l Cú pháp định nghĩa phương thức giống định nghĩa hàm thành viên trong C++. 4.6. Biến cục bộ l Cú pháp gọi phương thức giống cú pháp gọi 4.7. Các phương thức của lớp Math hàm thành viên trong C++. 4.8. Đóng gói các lớp Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 1 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 2 4.2. Tạo phương thức 4.2. Tạo phương thức modifier DS cac tham so l Cú pháp định nghĩa phương thức hơi khác l Ví dụ: so với C++ ở chỗ là có thể có thêm các từ public static int max(int num1, int num2) khóa modifier trước kiểu trả về. { Modifier KieuTraVe TenPThuc(DS cac tham so) TenPThuc if (num1 > num2) { KieuTraVe return num1; //Than phuong thuc } else return num2; } Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 3 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 4
  15. 4.3. Sử dụng phương thức 4.3. Sử dụng phương thức l Sử dụng phương thức thông qua lời gọi l Nếu phương thức được gọi ngay trong lớp phương thức. chứa định nghĩa phương thức thì lời gọi l Các biến được khai báo trong phần tiêu phương thức chỉ có tên phương thức cùng đề của phương thức được gọi là các tham các đối số đặt trong ngoặc tròn. số hình thức hay gọi tắt là tham số. l Nếu phương thức được gọi từ lớp khác thì l Khi gọi phương thức, các giá trị truyền cho cú pháp gọi như sau: các tham số được gọi tham số thực sự TenDoiTuong.TenPThuc(Cac doi so) Hoặc hay đối số. TenLop.TenPThuc(Cac doi so) //nếu PThuc là tĩnh Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 5 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 6 4.4. Truyền đối số theo giá trị 4.5. Chồng phương thức l Trong Java, việc truyền đối số cho l Chồng phương thức giống như chồng phương thức chỉ có một kiểu là truyền đối hàm trong C++: Các phương thức có tên số theo giá trị. giống nhau nhưng danh sách các tham số l Các đối số có thể là hằng, biến, biểu thức. khác nhau. l Khi gọi một phương thức được chồng, trình biên dịch dựa vào kiểu đối số để xác định hàm được gọi. Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 7 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 8
  16. 4.7. Các phương thức của lớp 4.6. Biến cục bộ Math l Biến cục bộ là các biến được khai báo bên l Các hàm số học chuẩn của Java là các trong phương thức (giống biến tự động phương thức của lớp Math. trong C++). l Các phương thức của lớp Math đều là các l Phạm vi sử dụng của biến cục bộ là từ vị phương thức tĩnh (static) nên lời gọi trí khai báo đến hết khối lệnh chứa khai phương thức phải gắn với tên lớp. Ví dụ: báo biến cục bộ. Math.pow(a,b) cho giá trị ab Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 9 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 10 4.7. Các phương thức của lớp 4.7. Các phương thức của lớp Math Math l Các hàm lượng giác gồm có: l Các hàm mũ gồm có: sin(x) Cho sinx exp(x) ex cos(x) Cho cosx log(x) lnx tan(x) Cho tgx pow(y,x) yx sqrt(x) Căn bậc 2 của x asin(x) Cho arcsinx acos(x) Cho arccosx l Các hàm làm tròn gồm có: atan(x) Cho arctgx ceil(x) Làm tròn x lên số nguyên gần nhất toRadians(degrees) Đổi độ sang rad floor(x) Làm tròn x xuống số nguyên gần nhất rint(x) Làm tròn x tới số nguyên gần nhất, nếu x ở toDegrees(radians) Đổi rad sang độ giữa hai số nguyên thì làm tròn thành số chẵn Trong đó x có đơn vị là radian. round(x) Làm tròn x Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 11 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 12
  17. 4.7. Các phương thức của lớp 4.8. Đóng gói các lớp Math l Các hàm min, max và abs gồm có: l Các lớp có thể được nhóm lại với nhau max(a,b) Trả về giá trị lớn nhất thành các gói (package). min(a,b) Trả về giá trị nhỏ nhất l Có bốn lý do cần đóng gói các lớp: abs(x) Trả về |x| l Dễ tìm các lớp: Các lớp có chức năng tương l Hàm ngẫu nhiên random() trả về một số tự nhau được đặt trong cùng một gói để dễ ngẫu nhiên lớn hơn hoặc bằng 0 và nhỏ tìm. hơn 1. Để có số ngẫu nhiên nằm giữa a l Tránh sung đột tên và a+b (trừ a + b) ta dùng công thức sau: l Phân tán phần mềm thuận tiện a + Math.random() * b l Bảo vệ các thành viên của lớp Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 13 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 14 4.8.1. Quy ước đặt tên gói 4.8.2. Thư mục chứa các gói l Trong các gói có thể lại chứa các gói khác. l Java yêu cầu cấu trúc thư mục chứa gói phải Ví dụ: java.lang.Math cho biết lớp Math nằm tương ứng với tên gói. trong gói lang, gói lang nằm trong gói java. Tổ Ví dụ: với tên gói là vn.edu.hau1.mypackage thì phải chức các gói theo kiểu này sẽ đảm bảo các tên gói không bị trùng nhau. tạo cấu trúc thư mục là \vn\edu\hau1\mypackage l Nếu muốn đóng gói các lớp để đưa lên Internet l Để Java tìm được nơi đặt cây thư mục gói thì cho mọi người sử dụng thì phải chọn một tên biến môi trường classpath phải xác định thư duy nhất, người ta thường lấy đảo ngược của mục chứa cậy thư mục gói. tên miền Internet làm tiền tố của tên gói. Ví dụ: nếu cây thư mục gói đặt trong thư mục Ví dụ: Tên miền của ĐHNN1 là hau1.edu.vn thì c:\javapro thì classpath = . ;c:\javapro đặt tên gói là vn.edu.hau1.TenGoi Dấu . xác định thư mục hiện tại luôn ở trong classpath. l Theo quy ước đặt tên gói dùng chữ thường. Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 15 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 16
  18. 4.8.3. Đặt các lớp vào trong các gói 4.8.3. Đặt các lớp vào trong các gói l Mỗi lớp Java đều thuộc một gói nào đó. l Lưu ý: l Một lớp được đặt vào gói khi nó được biên l Các lớp phải được khái báo là puplic để các dịch. chương trình khác có thể dùng được. Nếu muốn chứa nhiều lớp trong một gói thì phải l Để đặt một lớp vào trong một gói thì cần để mỗi lớp trên một file riêng vì trên một file đặt lệnh sau ở đầu file chứa lớp. chỉ được phép có một lớp public. package tengoi; l Các file class có thể nén thành một file, để sử l Ví dụ: dụng các lớp trong file nén này thì trong classpath phải chứa đường dẫn tới file nén. package vn.edu.hau1.mypackage; Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 17 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 18 4.8.4. Sử dụng các lớp từ các gói Bài tập chương 4 l Sử dụng trực tiếp tên lớp gắn với tên gói, l Bài tập 1: Viết chương trình tính trung ví dụ như javax.swing.JOptionPane bình và độ lệch chuẩn. l Sử dụng lệnh import n import một lớp xác định, ví dụ: n (åxi )2 l import javax.swing.JOptionPane l import dựa vào khai báo, ví dụ: åx i åi- x2 n i=1 import javax.swing.* mean = i =1 n n deviation= i=1 Dấu * xác định import dựa vào khai báo lớp. n -1 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 19 Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 20
  19. Bài tập chương 4 l Bài tập 2: Viết chương trình tính tổng các chữ số trong một số nguyên. Ví dụ: số nguyên 234 có tổng các chữ số bằng 2 + 3 + 4 = 9. Bài giảng LT JAVA - Phần 1,Chương 4 GV. Ngô Công Thắng 21
  20. 5.1. Khai báo và định nghĩa Chương 5. Mảng biến mảng 5.1. Khai báo và định nghĩa biến mảng 5.1.1. Khai báo biến mảng 5.2. Copy mảng 5.1.2. Tạo mảng (định nghĩa mảng) 5.3. Truyền mảng cho phương thức 5.1.3. Kích thước và giá trị mặc định của 5.4. Trả về mảng từ phương thức mảng 5.5. Mảng nhiều chiều 5.1.4. Truy nhập phần tử mảng Bài tập chương 5 Bài giảng LT JAVA - Phần 1,Chương 5 GV. Ngô Công Thắng 1 Bài giảng LT JAVA - Phần 1,Chương 5 GV. Ngô Công Thắng 2 5.1.1. Khai báo biến mảng 5.1.2. Tạo mảng (định nghĩa mảng) l Cú pháp khai báo biến mảng: l Sau khi khai báo biến mảng ta dùng toán KieuDuLieu[ ] TenBienMang; tử new để tạo ra mảng (giống cấp phát l Khác với C++, việc khai báo biến mảng trong mảng động trong C++) theo cú pháp sau: Java không tạo ra mảng, tức là không cấp phát TenBienMang = new KieuDuLieu[KichThuoc]; vùng nhớ cho mảng, nó chỉ tạo ra một biến mà Ví dụ: a = new double[10]; sau này có thể dùng để tham chiếu tới mảng. l Biến mảng thực chất là biến tham chiếu. Về bản l Lệnh này tạo ra một mảng có KichThuoc chất biến tham chiếu giống như con trỏ. phần tử và gán tham chiếu tới l Ví dụ: double[ ] a; TenBienMang. Bài giảng LT JAVA - Phần 1,Chương 5 GV. Ngô Công Thắng 3 Bài giảng LT JAVA - Phần 1,Chương 5 GV. Ngô Công Thắng 4
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
20=>2