Bài giảng Kỹ thuật lập trình Java - Chương 7: Phương thức

27 5 0
Bài giảng Kỹ thuật lập trình Java - Chương 7: Phương thức

Đ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 Kỹ thuật lập trình Java - Chương 7: Phương thức cung cấp cho người đọc các kiến thức: Giới thiệu phương thức, định nghĩa chồng phương thức, lớp Math, chia để trị và đệ quy. Mời các bạn cùng tham khảo nội dung chi tiết.

Chương Phương Thức Chương 7: Phương thức o Giới thiệu phương thức o Định nghĩa chồng phương thức o Lớp Math o Chia để trị đệ quy Định nghĩa o Một phương thức tập câu lệnh nhóm lại với nhằm thực cơng việc cụ thể o Ví dụ:  Tính giai thừa  Tính diện tích hình chữ nhật  Giải phương trình Khai báo phương thức [public/private/…] [static] { // câu lệnh } Cấu trúc phương thức Kiểu trả Danh sách tham số public static long giaiThua(int n) { long ketQua = 1; Thân if (n==1) phương thức ketQua = 1; else ketQua = giaiThua(n-1)*n; return ketQua; } Tên phương thức Kết trả Cấu trúc phương thức Phương thức trả giá trị Kiểu giá trị trả kiểu phương thức trả • Ví dụ: public static float DienTich(float banKinh) Phương thức khơng có giá trị trả → dùng từ khóa void • Ví dụ: Kiểu giá trị trả phương thức main void Cấu trúc phương thức Tham số khai báo danh sách tham số gọi tham số hình thức (formal parameters) Khi phương thức gọi, tham số hình thức thay biến liệu, gọi tham số thực (actual parameters) Lệnh return xuất nhiều nơi phương thức lệnh cuối thực phương thức Lệnh trả giá trị bắt buộc phải có phương thức có khai báo kiểu trả khác void Ví dụ //Khai báo gọi phương thức public class TestMax{ public static void main(String[] args){ int i = 5, j = 2; int k = max (i, j); System.out.println(“Max cua “ +i+ “ va “ +j+ “ “ + k); } // Tim Max cua hai so public static int max(int so1, int so2) { int result; result = so1 > so2 ? so1 : so2; return result; } } Ví dụ //Khai báo gọi phương thức class Message{ public static void main(String[] args) { String str = "Hello"; int n = 9; nPrintln(str, n); //Goi phuong thuc System.out.println("Goodbye."); } public static void nPrintln(String message, int n) { for (int i = 1; i num2) return num1; else return num2; } Lớp java.lang.Math o Các lớp:  PI E o Các phương thức lớp:  Các phương thức lượng giác  Các phương thức số mũ  Các phương thức làm tròn  Các phương thức min, max, abs, random Các phương thức lượng giác o o o o sin(double rad) cos(double rad) tan(double rad) acos(double rad) Phương thức o Math.sin(0) o Math.sin(Math.PI/6) o Math.cos(0) o Math.cos(Math.PI/6) o o o o asin(double rad) atan(double rad) toRadians(double deg) toDegrees(double rad) Giá trị trả -> 0.0 -> 0.5 -> 1.0 -> 0.866 Các phương thức số mũ Phương thức o exp (double a) o log (double a) o pow (double a,double b) o sqrt (double a) Giá trị trả o ea o ln(a) o ab o Căn bậc a Ví dụ public class LopMath { public static void main(String[] args) { double tinhsin; tinhsin = Math.sin(0); System.out.println("sin cua = "+tinhsin); System.out.println("kết = " + Math.sin(Math.PI/6)); int a = 4, b=5; System.out.println(a + " mũ "+ b + " = "+Math.pow(a,b)); int c = 9; System.out.println("Căn bậc "+c + " = "+Math.sqrt(c)); } } Các phương thức làm trịn double ceil(double x) • Làm trịn lên giá trị nguyên gần → giá trị thực double floor(double x) • làm tròn xuống giá trị nguyên gần → giá trị thực double rint(double x) int round(float x) long round(double x) • làm trịn đến giá trị ngun gần Nếu phần lẻ x 0.5 → làm trịn xuống • Trả (int) Math.floor(x+0.5) • Trả (long) Math.floor(x+0.5) Ví dụ o o o o o o o o o o Math.ceil(2.1) Math.ceil(-2.1) Math.floor(2.1) Math.floor(-2.1) Math.rint(2.1) Math.rint(-2.1) Math.rint(2.5) Math.round(2.6f) Math.round(-2.6) Math.round(2.0) -> 3.0 -> -2.0 -> 2.0 -> -3.0 -> 2.0 -> -2.0 -> 2.0 -> (giá trị int) -> -3 (giá trị long) -> (giá trị long) Ví dụ max(a, b) min(a, b) o Trả giá trị lớn nhỏ a, b o VD: Math.max(2, 3) = Math.min(2.5, 3) = 2.5 abs(a) o Trả giá trị tuyệt đối a o Math.abs(-2.4) = 2.4 random() o Trả giá trị double ngẫu nhiên khoảng [0.0; 1.0) o VD: 10+(int)(Math.random()*20) ⇒ Số nguyên thuộc [10; 30) 10 + (Math.random()*20) ⇒ Số thực thuộc [10.0; 30.0) min, max, abs, random public class LopMath { public static void main(String[] args) { int a, b, solon, sonho; a = -8; b = 10; solon = Math.max(a,b); System.out.println("Số lớn = "+solon); System.out.println("Số lớn = "+Math.min(a, b)); System.out.println("Giá trị tuyệt đối "+a+" = " + Math.abs(a)); c = Math.random(); System.out.println("Giá trị c khoảng đến 1.0 " + c); } } Đệ quy Đệ quy kỹ thuật giải toán Chia tồn thành tốn tương tự có kích thước nhỏ Tiếp tục chia gặp trường hợp sở (base case) mà lời giải cho toán rõ ràng Sử dụng lời giải để giải tốn lớn trước Tiếp tục tốn gốc giải Bài toán Một phương thức chứa lời gọi đến phương thức đệ quy Một tốn đệ quy giải cách dùng vịng lặp ngược lại Ví dụ: Một số tốn đệ quy điển hình • Tính giai thừa • Tìm số fibonacci thứ n • Tháp Hà Nội Ví dụ Phương thức đệ quy countDown() o In số nguyên theo thứ tự giảm dần public static void countDown(int integer) { System.out.println(integer); if (integer > 1) countDown(integer - 1); } // end countDown Hoạt động Phương thức đệ quy countDown() Hoạt động Phương thức đệ quy countDown() Ví dụ Phương thức đệ quy sumOf() o Tính tổng n số nguyên public static int sumOf(int n){ int sum; if (n = = 1) sum = 1; // trường hợp sở else sum = sumOf(n - 1) + n; // lời gọi đệ quy return sum; } // end sumOf Hoạt động - Phương thức đệ quy sumOf() ... Math.ceil (-2 .1) Math.floor(2.1) Math.floor (-2 .1) Math.rint(2.1) Math.rint (-2 .1) Math.rint(2.5) Math.round(2.6f) Math.round (-2 .6) Math.round(2.0) -> 3.0 -> -2 .0 -> 2.0 -> -3 .0 -> 2.0 -> -2 .0 -> 2.0 -> ... if (n==1) phương thức ketQua = 1; else ketQua = giaiThua(n-1)*n; return ketQua; } Tên phương thức Kết trả Cấu trúc phương thức Phương thức trả giá trị Kiểu giá trị trả kiểu phương thức trả •.. .Chương 7: Phương thức o Giới thiệu phương thức o Định nghĩa chồng phương thức o Lớp Math o Chia để trị đệ quy Định nghĩa o Một phương thức tập câu lệnh nhóm lại với

Ngày đăng: 11/05/2021, 03:08

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

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

Tài liệu liên quan