Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java
Nội dung
Môi trường lập trình
Chương trình đầu tiên
Kiểu dữ liệu
Nhập & xuất ở màn hình Console
Các cú pháp rẽ nhánh, lặp
Mảng một chiều
Mảng hai chiều
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Lập trình Java - Chương 1: Lập trình cơ bản với ngôn ngữ Java
Chương 1 : Lập trình cơ bản với ngôn ngữ JAVA Môi trường, cấu trúc chương trình, kiểu dữ liệu Nội dung Môi trường lập trình Chương trình đầu tiên Kiểu dữ liệu Nhập & xuất ở màn hình Console Các cú pháp rẽ nhánh, lặp Mảng một chiều Mảng hai chiều Môi trường lập trình Netbeans IDE 7.2 Môi trường lập trình Download: Platform : Windows Linux Solaris Mac OS X Chương trình đầu tiên File 🡪 New Project Chương trình đầu tiên Thiết lập: Project name, location, folder 🡪 Finish Chương trình đầu tiên Chương trình đầu tiên Chương trình xuất ra màn hình console chuỗi "Hello World" Chương trình đầu tiên: Hàm main public static void main (String[] args) { // TODO code application logic here String s = new String("Hello World"); System.out.println(s); } Một chương trình JAVA phải có 1 hàm main. Hàm main là điểm bắt đầu của chương trình (Entry Point) Chương trình đầu tiên Cấu hình Entry Point cho chương trình: Chọn project 🡪 Properties🡪 Run 🡪 Main Class: Chương trình đầu tiên Ghi chú: //Ghi chú trên 1 dòng /* Ghi chú trên nhiều dòng */ /** * @param args the command line arguments: Ghi chú để sử dụng tạo ra các tài liệu Java doc */ Chương trình đầu tiên Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh: Hai lệnh cơ bản: javac : Biên dịch các tập tin *.java thành tập tin thực thi *.class java : Chạy chương trình từ các tập tin sau khi biên dịch Sau khi cài JDK, kiểm tra các lệnh java, javac đã sẳn sàng hay chưa?: Lỗi Chương trình đầu tiên Biên dịch và thực thi mã nguồn JAVA từ dòng lệnh: Nếu chưa: 1. Tìm đường dẫn thư mục đã cài đặt JDK/bin 2. Thay đổi biến môi trường PATH Control Panel 🡪 System 🡪 Advance System Setting 🡪 Enviroment Variables Bổ sung đường dẫn của thư mục cài đặt JDK/bin vào biến PATH 3. Tắt và mở lại cửa sổ command line và thực thi lại để kiểm tra. Ví dụ: C:\Program Files (x86)\Java\jdk1.7.0_06\bin Chương trình đầu tiên Chương trình đầu tiên Khi các lệnh java và javac đã sẳn sàng: OK OK Chương trình đầu tiên Giả sử project HelloWorld ở đường dẫn: C:\Users\TruongSon\Documents\NetBeansProjects\HelloWorld Chương trình đầu tiên 1. Biên dịch lớp HelloWorld.java, kết quả biên dịch được bỏ vào trong thư mục classes 2. Thực thi lớp HelloWorld nằm trong package helloworld: C:\Users\..\HelloWorld> javac -d " classes " "src/helloworld/HelloWorld.java" C:\Users\..\HelloWorld> java -classpath " classes " helloworld.HelloWorld Biên dịch và thực thi bằng command line Chương trình đầu tiên Biên dịch và thực thi bằng Netbeans Kiểu dữ liệu và khai báo biến Kiểu dữ liệu thường dùng: Số nguyên: int , long Số thực: float , double Chuỗi: char , String Ngày: Date Khai báo biến: KieuDuLieu TenBien; KieuDuLieu TenBien = GiaTri; Kiểu dữ liệu Chuyển đổi kiểu dữ liệu sang chuỗi: String String. valueOf ( Object obj) String String. valueOf ( boolean b) String String. valueOf ( char c) String String. valueOf ( char [] data) String String. valueOf ( char [] data, int offset, int count) String String. valueOf ( boolean b) String String. valueOf ( int i) String String. valueOf ( long l) String String. valueOf ( float f) String String. valueOf ( double d) Kiểu dữ liệu Chuyển đổi kiểu dữ liệu sang kiểu int / Integer , long/Long Integer Integer. valueOf (String str) Integer Integer. valueOf (int i) int Integer. valueOf (String str). intValue () int i Integer. parseInt (String str) Long Long. valueOf (String str) Long Long. valueOf (long l) long l = Long. parseLong (String str) long i = Long. valueOf (String str). longValue () (*) int, long: kiểu dữ liệu cơ sở (**) Integer, Long : Kiểu dữ liệu Lớp hướng đối tượng Kiểu dữ liệu Chuyển đổi kiểu dữ liệu sang kiểu float/ Float, double/Double Float Float. valueOf (String str) Float Float. valueOf (int i) float Float. valueOf (String str). floatValue () float Float. parseFloat (String str) Double Double. valueOf (String str) Double Double. valueOf (double l) double Double. valueOf (String str). doubleValue () double Double. parseDouble (String str) (*) float, double: kiểu dữ liệu cơ sở (**) Float, Double: Kiểu dữ liệu Lớp hướng đối tượng Chuyển đổi kiểu dữ liệu sang kiểu ngày: //Ngày tháng năm SimpleDateFormat sdf = new SimpleDateFormat ("dd/MM/yyyy"); Date d= sdf. parse ("20/3/2000"); //Năm tháng ngày SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd"; Date d= sdf. parse ("2000-3-20"); //Tháng ngày năm SimpleDateFormat sdf = new SimpleDateFormat ("MM/dd/yyyy"); Date d= sdf. parse ("3/20/2000"); Hằng số Khai báo: final KieuDuLieu TENHANGSO = GiaTri ; Ví dụ: final double PI = 3.14 ; Toán tử +, -, *, /, % ++, -- +=, -=, *=, /= , %= & , | , ! &&, || Nhập liệu từ màn hình console Thư viện: java.util.Scanner; Sử dụng: Scanner scan = new Scanner (System.in); String str = scan. nextLine (); Xuất ra màn hình console Cú pháp: System.out. print (); System.out. println (); Ví dụ: System.out. print ( "Hello World" ); String s = "Hello World" ; System.out. println (s); Nhập & Xuất từ màn hình console Định dạng xuất %b : boolean %c : char %d : int, long %f : float, double %s : String Định dạng xuất Cú pháp: String.format("định dạng", tham số 1, , tham số n); Ví dụ int n = 100; double m = 20.8; String str = String.format ("n = %d, m= %f", n, m); System.out.println (str); Định dạng xuất Ví dụ String mssv= "0212055" ; String hoVaTen = "Trần Duy Thảo" ; Double diem = 9.5; //Xuất theo cách thông thường System.out. println (mssv + "-" + hoVaTen + ":" + diem); //Xuất sử dụng định dạng xuất String str = String. format ("%s - %s : %f", mssv, hoVaTen, diem); System.out. println (str); if 1 2 3 4 5 if ( biểu thức điều kiện ) { lệnh 1; ... lệnh n } 1 2 3 4 5 6 Scanner scan = new Scanner (System.in); String str = scan. nextLine (); int n = Integer.parseInt(str); if ( n > 0 ) { System.out.println(“n là số dương"); } if - else 1 2 3 4 5 if ( biểu thức điều kiện ) { ... } else { ... } 1 2 3 4 5 6 7 8 System.out. println ("n="); Scanner scan = new Scanner (System.in); int n = Integer.parseInt(scan. nextLine ()); if ( n > 0 ) { System.out. println ("n là số dương"); } else { System.out. println ("n là số âm"); } if - else if - else 1 2 3 4 5 8 9 10 11 if ( biểu thức điều kiện ) { ... } else if ( biểu thức điều kiện ) { ... } else if ( biểu thức điều kiện ) { ... } else { ... } if - else if - else 1 2 3 4 5 8 9 10 11 12 13 14 15 16 17 Scanner scan = new Scanner(System.in); System.out.print( "Điểm trung bình:" ); int diem = Integer.parseInt(scan.nextLine()); if (diem>=9) { System.out.println( "Xuất sắc" ); } else if (diem>=8 && diem<9) { System.out.println( "Giỏi" ); } else if (diem>=7 && diem <8) { System.out.println( "Khá" ); } else if (diem>=5 && diem <7) { System.out.println( "Trung bình" ); } else { System.out.println( "Dưới trung bình" ); } switch - case 1 2 3 4 5 6 7 8 9 10 11 switch ( giá trị ){ case giá trị 1 : ... break ; ... case giá trị N : ... break ; default : } Lưu ý: Giá trị : char, byte, short, int Giá trị 1 , giá trị 2 có cùng kiểu dữ liệu với giá trị Cấu trúc lặp while 1 2 3 while (điều kiện lặp) { ... } 1 2 3 4 5 6 7 8 9 Scanner scan = new Scanner (System.in); System.out.print( "Nhập n:" ); int n = Integer.parseInt(scan.nextLine()); int s=0; int i=1; while (i<=n) { s = s + i; i ++; } System.out.println(“ S=" +s); Cấu trúc lặp do while 1 2 3 do { } while (điều kiện lặp) 1 2 3 4 5 6 Scanner scan = new Scanner (System.in); int n; do { System.out.print("Nhập n:"); n = Integer.parseInt(scan.nextLine()); } while (n =10) Cấu trúc lặp for 1 2 3 4 for (khởi tạo biến; điều kiện lặp; hành động sau mỗi lần lặp) { ... } 1 2 3 4 5 6 7 8 Scanner scan = new Scanner (System.in); System.out.print(“Nhập n:"); int n = Integer.parseInt(scan.nextLine()); int s=0; for (int i=1; i<=n; i++){ s = s + i; } System.out.println(“S=“+s); break Phạm vi sử dụng Sử dụng trong for, while, do-while Công dụng Thoát khỏi vòng lặp 1 2 3 4 5 6 7 8 Scanner scan = new Scanner (System.in); System.out.print(“Nhập n:"); int n = Integer.parseInt(scan.nextLine()); for (int i=1; i<=n; i++){ System.out.print(i+" “); if(i==5){ break; } } continue Phạm vi sử dụng Sử dụng trong for, while, do-while Công dụng Bỏ qua bước lặp hiện tại, quay trở lại vòng lặp để thực hiện tiếp 1 2 3 4 5 6 7 8 9 Scanner scan = new Scanner (System.in); System.out.print (“Nhập n:"); int n = Integer.parseInt(scan.nextLine()); for ( int i=1; i<=n; i++){ if(i==5){ continue; } System.out.print(i+" “); } Math Một số hàm số học phổ biến : 1 2 3 4 5 6 7 8 9 10 double Math. abs (double d) double Math. sqrt (double d) double Math. min (double a, double b) double Math. max (double a, double b) double Math. exp (double e) double Math. round (double r) double Math. pow (double a, double b) double Math. random () double Math. PI double Math. E Math Ví dụ: 1 2 3 4 5 6 7 8 9 10 11 //sqrt double d = 9.5; double s = Math.sqrt (d); //pow double a = 2.3; double b = Math.pow (b, 3); //min – max double c = 6; double d = 9.2; double min = Math.min (c, d); double max = Math.max (c, d); Console Menu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //Xuất menu chọn chức năng sử dụng do while, switch case public static void main(String[] args){ System.out.println( "--------------------------------" ); System.out.println( "------DEMO JAVA PROGRAMMING ----" ); System.out.println( "--------------------------------" ); System.out.println( "CAC CHUC NANG: " ); System.out.println( "1. Chuc nang 1" ); System.out.println( "2. Chuc nang 2" ); System.out.println( "3. Chuc nang 3" ); System.out.println ("4. Chuc nang 4" ); System.out.println( "0. THOAT" ); Scanner scan = new Scanner(System.in); int nChucNang = -1; Console Menu 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 while (nChucNang != 0) { System.out.print("Vui long chon chuc nang 0-5: "); nChucNang = Integer.parseInt(scan.nextLine()); switch (nChucNang){ case 1: System.out.println( "BAN VUA CHON CHUC NANG 1 " ); break; case 2: System.out.println( "BAN VUA CHON CHUC NANG 2 " ); break; case 3: System.out.println( "BAN VUA CHON CHUC NANG 3 " ); break; case 4: System.out.println( "BAN VUA CHON CHUC NANG 4 " ); break; case 0: System.out.println ("BAN VUA CHON THOAT !!! " );break; } } } Mảng một chiều (1) Khai báo: Cách 1: KieuDuLieu[ ] tenBien ; Cách 2: KieuDuLieu tenBien [ ] ; Lưu ý: Chỉ số mảng: bắt đầu từ 0 Ví dụ: 0 1 2 3 6 7 5 4 Chỉ số mảng 1 2 3 4 5 6 int [] arr1 ; //Khai báo mảng kiểu int long [] arr2 ; //Khai báo mảng kiểu long float [] arr3 ; //Khai báo mảng kiểu float double [] arr4 ; //Khai báo mảng kiểu double boolean [] arr5 ; //Khai báo mảng kiểu boolean String [] arr6 ; //Khai báo mảng kiểu string Mảng một chiều (2) Cấp phát vùng nhớ: Cách 1: KieuDuLieu [] tenBien = new KieuDuLieu [ n ] ; Cách 2: KieuDuLieu [] tenBien ; tenBien = new KieuDuLieu [ n ]; Ví dụ: 1 2 3 4 5 6 7 int [] arr1 = new int [5]; //Khai báo và cấp phát mảng kiểu int , a.length = 5 long [] arr2 = new long [5]; // Khai báo và cấp phát mảng kiểu long , a.length = 5 float [] arr3 = new float [7]; //Khai báo và cấp phát mảng kiểu float, a.length = 7 String [] arr6 = new String [6]; //Khai báo và cấp phát mảng kiểu string, a.length = 6 Mảng một chiều (3) Khởi tạo mảng: Cách 1 int [] arr = {1, 3, 5, 7, 9}; //a.length = 5 Cách 2 int [] arr = new int[5 ]; arr [0]=1; arr [1]=3; arr [2]=5; arr [3]=7; arr [4]=9; Mảng một chiều (3) Khởi tạo mảng Ví dụ: //Khởi tạo mảng một chiều kiểu long long [] arr1 = {1, 3, 5, 7, 9}; //a.length = 5 //Khởi tạo mảng một chiều kiểu float float [] arr2 = { ( float ) 1.3, ( float ) 3.2, ( float ) 5.5}; //a.length = 3 //Khởi tạo mảng một chiều kiểu double double [] arr2 = {2.3, 7.2, 9.5}; //a.length= 3 //Khởi tạo mảng một chiều kiểu string String [] ngay = { "chủ nhật","thứ hai","thứ ba", "thứ tư","thứ năm","thứ sáu","thứ bảy" }; //a.length= 7 Mảng một chiều (4) Xuất mảng Cách 1: sử dụng cấu trúc lặp foreach //tenBien lần lượt là các phần tử bên trong mảng for (KieuDuLieu tenBien : tenMang){ Các câu lệnh; } Ví dụ: 1 2 3 4 5 6 //Xuất các phần tử của mảng các số nguyên a System.out. println ( "Xuất mảng dùng foreach" ); System.out. println ( "Số phần tử của mảng " + a.length); for (int pt : a ){ System.out. println (pt); } Mảng một chiều (4) Xuất mảng Cách 2: Sử dụng cấu trúc lặp for để xuất mảng Ví dụ: 1 2 3 4 5 System.out. println (" Xuất mảng dùng for bình thường "); System.out. println (" Số phần tử của mảng " + a.length); for (int i=0 ; i<a.length; i++){ System.out. println (a[i]); } Mảng một chiều (5) Nhập mảng: 1 2 3 4 5 6 7 System.out.print( "Số phần tử của mảng là " ); int n = Integer.parseInt (scan. nextLine ()); int [] a = new int [n]; //a.Length = n for ( int i = 0; i < a.length; i++) { System.out.print("a["+i+"]="); a[i] = Integer.parseInt (scan. nextLine ()); } Mảng một chiều (6) Xuất mảng: 1 2 3 4 5 6 7 8 9 System.out. println ("Số phần tử của mảng " + a.length); //Xuất mảng dùng for for ( int i = 0; i < a.length; i++) { System.out. println (a[i]); } //Xuất mảng dùng foreach for ( int pt : a) { System.out. println (pt); } Mảng một chiều (7) Một số bài toán trên mảng 1 chiều: Tính tổng các phần tử của mảng 1 2 3 4 5 6 7 8 9 10 11 12 13 //Tính tổng dùng for int s = 0; for ( int i = 0; i < a.length; i++) { s = s + a[i]; } System.out. println (" s = {0} ", s); //Tính tổng dùng foreach s = 0; for ( int pt : a) { s = s + pt; } System.out. println (" s = " + s); Mảng một chiều (8) Một số bài toán trên mảng 1 chiều: Sắp xếp mảng tăng dần 1 2 3 4 5 6 7 8 9 10 11 12 13 int i, j; int min, temp; for (i = 0; i < a.length - 1; i++) { min = i; for (j = i + 1; j < a.length; j++) { if (a[j] < a[min]) { min = ... MangSoNguyen msn3=new MangSoNguyen (3, 2, 8); MangSoNguyen msn4=new MangSoNguyen (4, 9, 1, 5); int [] arr = {3,4,7}; MangSoNguyen msn5=new MangSoNguyen (arr); //Sử dụng phương thức khởi tạo sao chép MangSoNguyen msn6=new MangSoNguyen (mps3); } } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package tenpackage; public class TenLop{ //Khai báo các thuộc tính private KieuDuLieu thuocTinh1; . . . private KieuDuLieu thuocTinhN ; //Các phương thức khởi tạo đối tượng ... //Các phương thức get/set public KieuDuLieu getThuocTinh1() { return thuocTinh1; } public void setThuocTinh1(KieuDuLieu thuocTinh1) { this .thuocTinh1 = thuocTinh1; } ... public KieuDuLieu getThuocTinhN() { return thuocTinhN; } public void setThuocTinhN(KieuDuLieu thuocTinhN) { this .thuocTinhN = thuocTinhN; } } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 public class PhanSo{ //Khai báo các thuộc tính private int tuSo; private int mauSo ; //Phương thức khởi tạo đối tượng//Các phương thức get/set public int getTuSo() { return tuSo; } public void setTuSo( int tuSo) { this .tuSo = tuSo; } public int getMauSo() { return mauSo; } public void setMauSo( int mauSo) { if (mauSo != 0 ) { this .mauSo = mauSo; } } } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 package bt1; public class Main { public static void main(String[] args) { PhanSo ps1= new PhanSo(); System.out.println(ps1.getTuSo() + "/" + ps1.getMauSo()); ps1.setTuSo( 3 );ps1.setMauSo( 4 ); System.out.println(ps1.getTuSo() + "/" + ps1.getMauSo()); } } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class MangPhanSo { //Khai báo thuộc tính private PhanSo[] arr; //Phương thức khởi tạo mặc định ... public PhanSo[] getArr() { return arr; } public void setArr(PhanSo ... arr) { this .arr = new PhanSo[arr.length]; for ( int i = 0 ; i < arr.length; i++) { this .arr[i] = new PhanSo(arr[i]); } } } ... Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... public void set( int index, PhanSo value) { if (index >= 0 && index < this .arr.length) { //this.arr[index] = new PhanSo(value); this .arr[index]=value; } } public PhanSo get( int index) { PhanSo ps = null ; if (index >= 0 && index < this .arr.length) { //ps=new PhanSo(this.arr[index]); ps = this .arr[index]; } return ps; } } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public static void main(String[] args) { MangPhanSo mps = new MangPhanSo( new PhanSo( 1 , 3 ), new PhanSo( 4 , 3 ), new PhanSo( 5 , 9 )); //Sử dụng get PhanSo[] arr = mps.getArr(); int index = 1 ;PhanSo ps = mps.get(index); //Sử dụng set PhanSo[] arr2 = new PhanSo[ 2 ]; arr2[ 0 ] = new PhanSo( 2 , 4 ); arr2[ 1 ] = new PhanSo( 3 , 7 ); mps.setArr(arr2); index= 0 ;mps.set(index, new PhanSo( 8 , 5 )); } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package bt1; public class MangSoNguyen { //Khai báo thuộc tính private int [] arr; //Phương thức khởi tạo mặc định ... public int [] getArr() { return arr; } public void setArr( int [] arr) { this .arr = new int [arr.length]; for ( int i = 0 ; i < arr.length; i++) { this .arr[i] = rr[i]; } } ... } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... public void set( int index, int value) { if (index >= 0 && index < this .arr.length) { this .arr[index]=value; } } public Integer get( int index) { Integer value = null ; if (index >= 0 && index < this .arr.length) { value = this .arr[index]; } return value; } } Định nghĩa các phương thức Get / Set 1 2 3 4 5 6 7 8 9 10 11 12 public static void main(String[] args) { MangSoNguyen mps = new MangSoNguyen( 3, 9, 5); //Sử dụng get int [] arr = mps.getArr(); int index = 1 ; Integer value = mps.get(index); //Sử dụng set int [] arr2 = {9,6,8};mps.setArr(arr2);index= 0 ;mps.set(index, 7); } Định nghĩa các phương thức nhập xuất 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class PhanSo{ //Khai báo các thuộc tính private int tuSo; private int mauSo ;public void nhap(String tieuDe) { System.out.println(tieuDe);Scanner scan = new Scanner(System.in); System.out.print( "Tử số:" ); this .tuSo = Integer.parseInt(scan.nextLine()); System.out.print( "Mẫu số:" ); this .mauSo = Integer.parseInt(scan.nextLine()); } public void xuat(String tieuDe){ System.out.println(tieuDe);String str=String.format( "%d / %d" , this .tuSo, this .mauSo); System.out.println(str); } } Định nghĩa các phương thức nhập xuất 1 2 3 4 5 6 7 8 9 10 11 12 13 package bt1; public class Main { public static void main(String[] args) { PhanSo ps1= new PhanSo(); ps1.nhap( "Nhập phân số 1" ); ps1.xuat( "Xuất phân số 1" ); PhanSo ps2= new PhanSo(); ps2.nhap( "Nhập phân số 2" ); ps2.xuat( "Xuất phân số 2" ); } } Định nghĩa các phương thức nhập xuất 1 2 3 4 5 6 7 8 9 10 11 12 13 package bt1; public class MangPhanSo { //Khai báo thuộc tính private PhanSo [] arr; public void nhap(String tieuDe){ Scanner scan= new Scanner(System.in); System.out.println(tieuDe); System.out.print( "Số lượng phần tử:" ); int n=Integer.parseInt(scan.nextLine()); this .arr= new PhanSo[n]; for ( int i= 0 ; i< this .arr.length; i++){ this .arr[i] = new PhanSo(); this .arr[i].nhap( "Phân số thứ " +i); } } } Định nghĩa các phương thức nhập xuất 1 2 3 4 5 6 7 8 9 10 public void xuat(String tieuDe){ System.out.println(tieuDe); int n = this .arr.length; System.out.println( "Số lượng phần tử: " + n); for ( int i= 0 ; i< this .arr.length; i++){ this .arr[i].xuat( "Phân số thứ " +i); } } } 1 2 3 4 5 6 7 public static void main ( String [] args) { MangPhanSo mps= new MangPhanSo(); mps.nhap( "Nhập mảng phân số" ); mps.xuat( "Xuất mảng phân số" ); } Định nghĩa các phương thức nhập xuất 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package bt1; public class MangSoNguyen { //Khai báo thuộc tính private int [] arr;... public void nhap(String tieuDe){ Scanner scan= new Scanner(System.in); System.out.println(tieuDe); System.out.print( "Số lượng phần tử:" ); int n=Integer.parseInt(scan.nextLine()); this .arr= new int [n]; for ( int i= 0 ; i< this .arr.length; i++){ System.out.print( "Phần tử thứ " + i + ":" ); this .arr[i]=Integer.parseInt(scan.nextLine()) } } ... } Định nghĩa các phương thức nhập xuất 1 2 3 4 5 6 7 8 9 10 11 ...public void xuat(String tieuDe){ System.out.println(tieuDe); int n = this .arr.length; System.out.println( "Số lượng phần tử: " + n); for ( int i= 0 ; i< this .arr.length; i++){ System.out.print( "Phân số thứ " +i+ ":" ); System.out.println( this .arr[i]); } } } 1 2 3 4 5 6 7 public static void main(String[] args) { MangSoNguyen msn= new MangSoNguyen(); msn.nhap( "Nhập mảng số nguyên" ); msn.xuat( "Xuất mảng số nguyên" ); } Định nghĩa các phương thức xử lý nghiệp vụ 1 2 3 4 5 6 7 8 9 10 11 12 public class PhanSo{ //Khai báo các thuộc tính private int tuSo; private int mauSo ;...public PhanSo cong(PhanSo ps){ PhanSo kq= new PhanSo(); kq.tuSo= this .tuSo*ps.mauSo+ this .mauSo*ps.tuSo; kq.mauSo= this .mauSo*ps.mauSo; return kq; } ... } Định nghĩa các phương thức xử lý nghiệp vụ 1 2 3 4 5 6 7 8 9 10 11 12 13 package bt1; public class Main { public static void main(String[] args) { PhanSo ps1= new PhanSo(); ps1.nhap( "Nhập phân số 1" ); ps1.xuat( "Xuất phân số 1" ); PhanSo ps2= new PhanSo(); ps2.nhap( "Nhập phân số 2" ); ps2.xuat( "Xuất phân số 2" ); PhanSo kq=ps1.cong(ps2); kq.xuat( "Tổng hai phân số" ); } } Định nghĩa các phương thức xử lý nghiệp vụ 1 2 3 4 5 6 7 8 9 10 11 12 13 package bt1; public class MangPhanSo { //Khai báo thuộc tính private PhanSo [] arr; ... public PhanSo tong(){ PhanSo s= this .arr[0]; for ( int i= 1 ; i< this .arr.length; i++){ s=s.cong( this .arr[i]); } } ... } Định nghĩa các phương thức xử lý nghiệp vụ 1 2 3 4 5 6 7 8 9 public static void main(String[] args) { MangPhanSo mps= new MangPhanSo(); mps.nhap( "Nhập mảng phân số" ); mps.xuat( "Xuất mảng phân số" ); PhanSo s=mps.tong(); s.xuat( "Tổng mảng phân số" ); } Định nghĩa các phương thức xử lý nghiệp vụ 1 2 3 4 5 6 7 8 9 10 11 12 package bt1; public class MangSoNguyen { //Khai báo thuộc tính private int [] arr; ... public int tong(){ int s= 0 ; for ( int i=0; i< this .arr.length; i++){ s=s + this .arr[i]; } return s; } ... } Định nghĩa các phương thức xử lý nghiệp vụ 1 2 3 4 5 6 7 8 9 public static void main(String[] args) { MangSoNguyen msn= new MangSoNguyen(); msn.nhap( "Nhập mảng số nguyên" );msn.xuat( "Xuất mảng số nguyên" ); int s=msn.tong();System.out.println( "Tổng mảng số nguyên: " + s); } Định nghĩa các phương thức overload 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class PhanSo{ private int tuSo; private int mauSo ; public PhanSo cong(PhanSo ps){ PhanSo kq= new PhanSo(); kq.tuSo= this .tuSo*ps.mauSo+ this .mauSo*ps.tuSo; kq.mauSo= this .mauSo*ps.mauSo; return kq; } public PhanSo cong( int k){ PhanSo kq= new PhanSo(); kq.tuSo= this .tuSo+ this .mauSo*k; kq.mauSo= this .mauSo; return kq; } } Định nghĩa các phương thức overload 1 2 3 4 5 6 7 8 9 10 11 package bt1; public class Main { public static void main(String[] args) { PhanSo ps1= new PhanSo(2, 3); PhanSo ps2= new PhanSo(3, 4); PhanSo kq1=ps1.cong(ps2); kq1.xuat( "Tổng hai phân số ps1 và ps2" ); PhanSo kq2=ps1.cong(40); kq2.xuat( "Tổng hai phân số ps1 và 40" ); } } Định nghĩa các phương thức overload 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package bt1; public class MangPhanSo { private PhanSo [] arr; ... public PhanSo tong(){ PhanSo s= this .arr[0]; for ( int i= 1 ; i< this .arr.length; i++){ s=s.cong( this .arr[i]); } } public PhanSo tong( MangPhanSo mps ){ PhanSo s1= this. tong(); PhanSo s2=mps.tong(); PhanSo kq=s1.tong(s2); return kq; } } Định nghĩa các phương thức overload 1 2 3 4 5 6 7 8 9 10 11 public static void main(String[] args) { MangPhanSo mps1= new MangPhanSo(); mps1.nhap( "Nhập mảng phân số" ); PhanSo s1=mps1.tong(); s1.xuat( "Tổng mảng phân số 1" ); MangPhanSo mps2= new MangPhanSo(); mps2.nhap( "Nhập mảng phân số" ); PhanSo s2=mps1.tong(mps2); s2.xuat( "Tổng mảng phân số 1 & 2" ); } Định nghĩa các phương thức overload 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 package bt1; public class MangSoNguyen { private int [] arr; public PhanSo tong(){ int s=0; for ( int i= 0 ; i< this .arr.length; i++){ s=s + this .arr[i]; } } public int tong( MangSoNguyen msn ){ int s1= this. tong(); int s2=msn.tong(); int kq=s1 + s2; return kq; } } Định nghĩa các phương thức overload 1 2 3 4 5 6 7 8 9 10 11 public static void main(String[] args) { MangSoNguyen msn1= new MangSoNguyen(); msn1.nhap( "Nhập mảng số nguyên 1" ); int s1=msn1.tong();System.out.println( "Tổng mảng số nguyên 1" + s1); MangSoNguyen msn2= new MangSoNguyen(); msn2.nhap( "Nhập mảng số nguyên 2" ); int s2=msn1.tong(msn2);System.out.println( "Tổng mảng số nguyên 1&2" + s2); } Định nghĩa các phương thức static 1 2 3 4 5 6 7 8 9 10 11 12 13 public class PhanSo{ private int tuSo; private int mauSo ; public static PhanSo parsePhanSo(String str){ PhanSo kq= new PhanSo();String [] s=str.split( "/" ); kq.tuSo=Integer.parseInt(s[ 0 ]); kq.mauSo=Integer.parseInt(s[ 1 ]); return kq; } } Định nghĩa các phương thức static 1 2 3 4 5 6 7 8 9 10 11 package bt1; public class Main { public static void main(String[] args) { PhanSo ps1=PhanSo.parsePhanSo( "2/3" ); PhanSo ps2=PhanSo.parsePhanSo( "3/4" ); PhanSo kq1=ps1.cong(ps2); kq1.xuat( "Tổng hai phân số ps1 và ps2" ); PhanSo kq2=ps1.cong(40); kq2.xuat( "Tổng hai phân số ps1 và 40" ); } } Định nghĩa các phương thức static 1 2 3 4 5 6 7 8 9 10 11 12 13 14 package bt1; public class MangPhanSo { private PhanSo [] arr; public static MangPhanSo parseMangPhanSo(String str{ MangPhanSo mps= new MangPhanSo(); String []s=str.split( ";" ); mps.arr= new PhanSo[s.length]; for ( int i= 0 ; i<s.length; i++){ mps.arr[i]=PhanSo.parsePhanSo(s[i].trim()); } return mps; } } Định nghĩa các phương thức static 1 2 3 4 5 6 7 8 9 10 11 public static void main(String[] args) { MangPhanSo mps1=MangPhanSo.parseMangPhanSo( “1/2;2/3;3/4” ); s1.xuat( "Tổng mảng phân số 1" ); MangPhanSo mps2=MangPhanSo.parseMangPhanSo( “4/3;7/6;9/2” ); mps2.nhap( "Nhập mảng phân số" ); PhanSo s2=mps1.tong(mps2); s2.xuat( "Tổng mảng phân số 1 & 2" ); } Định nghĩa các phương thức static 1 2 3 4 5 6 7 8 9 10 11 12 13 14 package bt1; public class MangSoNguyen { private int [] arr;... public static MangSoNguyen parseMangSoNguyen(String str){ MangSoNguyen msn= new MangSoNguyen(); String []s=str.split( ";" ); msn.arr= new int [s.length]; for ( int i= 0 ; i<s.length; i++){ msn.arr[i]=Integer.parseInt(s[i].trim()); } return msn; } } Định nghĩa các phương thức static 1 2 3 4 5 6 7 8 9 10 11 public static void main(String[] args) { MangSoNguyen msn1=MangPhanSo.parseMangSoNguyen( "2;3;4" ); System.out.println( "Tổng mảng số nguyên 1:" + s1); MangSoNguyen msn2=MangPhanSo.parseMangSoNguyen( "4;7;9" ); int s2=msn1.tong(msn2);System.out.println( "Tổng mảng số nguyên 1&2:" +s2); }
File đính kèm:
- bai_giang_lap_trinh_java_chuong_1_lap_trinh_co_ban_voi_ngon.pptx