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

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

Chia sẻ: Gió Biển | Ngày: | Loại File: PDF | Số trang:27

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

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ủ đề:
Lưu

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

  1. Chương 7 Phương Thức
  2. 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ị và đệ quy.
  3. Định nghĩa o 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 đó. 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.
  4. Khai báo phương thức [public/private/…] [static] { // các câu lệnh. }
  5. Cấu trúc phương thức Kiểu trả về Danh sách tham số public static long giaiThua(int n) { long ketQua = 1; Thân Tên phương thức phương if (n==1) thức ketQua = 1; else ketQua = giaiThua(n-1)*n; return ketQua; } Kết quả trả về
  6. Cấu trúc phương thức Phương thức có thể trả về một giá trị. Kiểu của giá trị trả về đó là kiểu của phương thức trả về. • Ví dụ: public static float DienTich(float banKinh) Phương thức không có giá trị trả về → chúng ta dùng từ khóa void. • Ví dụ: Kiểu giá trị trả về trong phương thức main là void.
  7. Cấu trúc phương thức Tham số khai báo trong danh sách tham số được gọi là tham số hình thức (formal parameters) Khi phương thức được gọi, tham số hình thức được thay thế bởi các biến hoặc dữ liệu, được gọi là tham số thực sự (actual parameters). Lệnh return có thể xuất hiện ở nhiều nơi trong phương thức và là lệnh cuối cùng thực hiện trong phương thức. Lệnh trả về giá trị là bắt buộc phải có đối với phương thức có khai báo kiểu trả về khác void
  8. Ví dụ //Khai báo và 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+ “ là “ + k); } // Tim Max cua hai so public static int max(int so1, int so2) { int result; result = so1 > so2 ? so1 : so2; return result; } }
  9. Ví dụ //Khai báo và 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
  10. Chồng phương thức o Chồng phương thức là khai báo nhiều phương thức có cùng tên nhưng có số và/hoặc kiểu tham số khác nhau. o Ví dụ: Chồng phương thức max public static double max(double num1, double num2){ if (num1 > num2) return num1; else return num2; }
  11. Chồng phương thức public class TimSoLonNhat { public static double public static void main(String[] args){ max(double num1, double int i = 5, j = 2; num2){ double a =8, b =10; if (num1 > num2) int k = max (i, j); return num1; System.out.println("Max cua " +i+ " else va " +j+ " là " + k); return num2; 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; }
  12. Lợi ích của phương thức Viết một lần, dùng nhiều lần. Giấu thông tin. Giấu sự thực hiện đối với user. Giảm độ phức tạp.
  13. Lớp java.lang.Math o Các hằng 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, và random
  14. Các phương thức lượng giác o sin(double rad) o asin(double rad) o cos(double rad) o atan(double rad) o tan(double rad) o toRadians(double deg) o acos(double rad) o toDegrees(double rad) Phương thức Giá trị trả về o Math.sin(0) -> 0.0 o Math.sin(Math.PI/6) -> 0.5 o Math.cos(0) -> 1.0 o Math.cos(Math.PI/6) -> 0.866
  15. Các phương thức số mũ Phương thức Giá trị trả về o exp (double a) o ea o log (double a) o ln(a) o pow (double a,double b) o ab o sqrt (double a) o Căn bậc 2 của a
  16. Ví 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)); } }
  17. Các phương thức làm tròn • Làm tròn lên giá trị nguyên gần nhất double ceil(double x) → giá trị thực • làm tròn xuống giá trị nguyên gần double floor(double x) nhất → giá trị thực • làm tròn đến giá trị nguyên gần nhất. double rint(double x) Nếu phần lẻ của x bằng 0.5 → làm tròn xuống • Trả về (int) Math.floor(x+0.5) int round(float x) • Trả về (long) Math.floor(x+0.5) long round(double x)
  18. Ví dụ o Math.ceil(2.1) -> 3.0 o Math.ceil(-2.1) -> -2.0 o Math.floor(2.1) -> 2.0 o Math.floor(-2.1) -> -3.0 o Math.rint(2.1) -> 2.0 o Math.rint(-2.1) -> -2.0 o Math.rint(2.5) -> 2.0 o Math.round(2.6f) -> 3 (giá trị int) o Math.round(-2.6) -> -3 (giá trị long) o Math.round(2.0) -> 2 (giá trị long)
  19. Ví dụ max(a, b) và min(a, b) o Trả về giá trị lớn nhất và nhỏ nhất của a, b o VD: Math.max(2, 3) = 3 Math.min(2.5, 3) = 2.5 abs(a) o Trả về giá trị tuyệt đối của a o Math.abs(-2.4) = 2.4 random() o Trả về một giá trị double ngẫu nhiên trong 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)
  20. 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 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); } }
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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