Một phương thức là một tập các câu lệnh được nhóm lại với nhau nhằm thực hiện một công việc cụ thể nà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.
27 trang |
Chia sẻ: thuychi16 | Lượt xem: 993 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Java - Chương 7: Phương thức, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 7Phương ThứcChương 7: Phương thứcGiới thiệu phương thức.Định nghĩa chồng phương thức.Lớp Math.Chia để trị và đệ quy.Định nghĩaMột phương thức là một tập các câu lệnh được nhóm lại với nhau nhằm thực hiện một công việc cụ thể nà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.[public/private/] [static] { // các câu lệnh.}Khai báo phương thứcCấu trúc phương thứcpublic static long giaiThua(int n) { long ketQua = 1; if (n==1) ketQua = 1; else ketQua = giaiThua(n-1)*n; return ketQua;}Kiểu trả vềTên phương thứcDanh sách tham sốKết quả trả vềThân phương thứcCấu trúc phương thứcCấu trúc phương thứcVí dụ//Khai báo và gọi phương thứcpublic 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+ “ là “ + k); } // Tim Max cua hai so public static int max(int so1, int so2) { int result; result = so1 > so2 ? so1 : so2; return result; } }//Khai báo và gọi phương thứcclass 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; }Chồng phương thứcpublic class TimSoLonNhat { public static void main(String[] args){ int i = 5, j = 2; double a =8, b =10; int k = max (i, j); System.out.println("Max cua " +i+ " va " +j+ " là " + k); double h = max(a,b); System.out.println("Max cua " +a+ " va " +b+ " là " + h); } public static int max(int so1, int so2) { int result; result = so1 > so2 ? so1 : so2; return result; } public static double max(double num1, double num2){ if (num1 > num2) return num1; else return num2; }}Lợi ích của phương thứcLớp java.lang.MathCác hằng lớp:PIECá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ònCác phương thức min, max, abs, và randomCác phương thức lượng giácsin(double rad)cos(double rad)tan(double rad)acos(double rad)asin(double rad)atan(double rad)toRadians(double deg)toDegrees(double rad)Phương thứcMath.sin(0)Math.sin(Math.PI/6)Math.cos(0)Math.cos(Math.PI/6)Giá trị trả về-> 0.0-> 0.5-> 1.0-> 0.866Các phương thức số mũPhương thứcexp (double a)log (double a)pow (double a,double b)sqrt (double a)Giá trị trả vềealn(a)abCăn bậc 2 của aVí dụpublic class LopMath { public static void main(String[] args) { double tinhsin; tinhsin = Math.sin(0); System.out.println("sin cua 0 = "+tinhsin); System.out.println("kết quả = " + 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 2 của "+c + " = "+Math.sqrt(c)); }}Các phương thức làm trònVí dụMath.ceil(2.1) -> 3.0 Math.ceil(-2.1) -> -2.0 Math.floor(2.1) -> 2.0 Math.floor(-2.1) -> -3.0 Math.rint(2.1) -> 2.0 Math.rint(-2.1) -> -2.0 Math.rint(2.5) -> 2.0 Math.round(2.6f) -> 3 (giá trị int) Math.round(-2.6) -> -3 (giá trị long) Math.round(2.0) -> 2 (giá trị long)Ví dụmax(a, b) và min(a, b)Trả về giá trị lớn nhất và nhỏ nhất của a, bVD: Math.max(2, 3) = 3 Math.min(2.5, 3) = 2.5abs(a)Trả về giá trị tuyệt đối của aMath.abs(-2.4) = 2.4random()Trả về một giá trị double ngẫu nhiên trong khoảng [0.0; 1.0)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, randompublic 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 nhất = "+solon); System.out.println("Số lớn nhất = "+Math.min(a, b)); System.out.println("Giá trị tuyệt đối của "+a+" = " + Math.abs(a)); c = Math.random(); System.out.println("Giá trị c trong khoảng 0 đến 1.0 là " + c); }}Đệ quyBài toánIn ra 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 countDownVí dụ Phương thức đệ quy countDown()Hoạt động Phương thức đệ quy countDown()Hoạt động Phương thức đệ quy countDown()Tính tổng n số nguyên đầu tiên. public static int sumOf(int n){ int sum; if (n = = 1) sum = 1; // trường hợp cơ sở else sum = sumOf(n - 1) + n; // lời gọi đệ quy return sum; } // end sumOfVí dụ Phương thức đệ quy sumOf()Hoạt động - Phương thức đệ quy sumOf()